支持向量机(Support Vector Machine, SVM),是一种常见的有监督的学习模型,通常用来进行模式识别、分类以及回归分析。本文主要介绍SVM在二分类问题的应用。
【图解例说机器学习】感知机 (Perceptron)
本文字数: 11k 阅读时长 ≈ 16 分钟
感知机是二分类的线性分类模型,是神经网络和支持向量机的基础。
引例
一个常见的线性二分类问题如下:
如图1,假设有一个线性可分的训练集,其中有三个样例 ($\mathrm x_1,\mathrm x_2, \mathrm x_3$),分别标记为正例(红色方块),反例(蓝色圆圈)。这里的 $x^{(1)},x^{(2)}$为训练样例的$2$个特征。我们的目的就是找到一个超平面 (在二维空间为一条直线) 能够将这三个样例分开。显然,这样的直线有无数条,比如图中的直线 $f(\mathrm x)=x^{(1)}+x^{(2)}-3=0, f(\mathrm x)=2x^{(1)}+x^{(2)}-5=0$ 就是其中的两条。我们发现$f(\mathrm x_1)>0,f(\mathrm x_2>0),f(\mathrm x_3)<0$,于是乎,我们可以用函数表达式$f(\mathrm x)$输出值的正负来判断新的样例$\mathrm x$属于哪一类。
【图解例说机器学习】决策树 (Decision Tree)
本文字数: 12k 阅读时长 ≈ 18 分钟
决策树是一种非参数的有监督的学习方法,可以用来分类和回归,即分类决策树,回归决策树。分类决策树,可以看成是if—then规则的集合,树的每一个中间节点就是一个特征,用来if—then规则的判断,树的每一个叶子节点就是最终的分类结果。
基本思想:决策树就是一个,递归地选择最优特征,并根据该特征对训练数据集进行划分,使得对各个子数据集有一个最好的分类,的过程。训练数据集的划分过程就是决策树的构建过程。在开始时,所有训练数据都在根节点,然后选择一个最优特征,根据这一特征将训练数据集划分成不同的子数据集到不同的子节点中,最后递归地对各个子节点继续划分数据集,直到每个叶子节点都被分为一类。
【图解例说机器学习】模型选择:偏差与方差 (Bias vs. Variance)
本文字数: 17k 阅读时长 ≈ 24 分钟
机器学习的过程大致分为三步:1)模型假设,比如我们假设模型是线性回归,还是多项式回归,以及其阶数的选择;2)误差函数定义,比如我们假设误差函数是均方误差,还是交叉熵;3)参数求解,比如使用正规方程,还是梯度下降等。
这篇文章主要讨论模型的选择问题,下面以多项式回归为例进行说明
【图解例说机器学习】逻辑回归(Logistic Regression)
本文字数: 7.3k 阅读时长 ≈ 10 分钟
在我们日常生活中,我们经常会遇到使用到预测的事例,而预测的值一般可以是连续的,或离散的。比如,在天气预报中,预测明天的最高温,最低温(连续),亦或是明天是否下雨(离散)。在机器学习中,预测连续性变量的模型称为回归(Regression)模型,比如标准的线性回归,多项式回归;预测离散型变量的模型称为分类(Classification)模型,比如这里要介绍的逻辑回归和以后要提到的支持向量机(SVM)等。
【图解例说机器学习】线性回归
本文字数: 22k 阅读时长 ≈ 31 分钟
线性回归之于机器学习,正如Hello World之于编程语言,也如MINST之于深度学习。
首先,我们先定义一些即将用到的数学符号:
Notations | Meaning | Notations | Meaning |
---|---|---|---|
$M$ | Number of parameters $\mathrm w$ | $N$ | Number of instances |
$\mathrm X=\{\mathrm x_1,\mathrm x_2,\cdots,\mathrm x_N\}^{\mathrm T}$ | $N\times M$ matrix for training | $D$ | Number of features |
$\mathrm y=\{y_1,y_2,\cdots,y_N\}^\mathrm{T}$ | Set of targets | $y_i$ | Target of instance $i$ |
$\mathrm{x}_i=\{x_i^{(1)},x_i^{(2)},\cdots,x_i^{(D)}\}^\mathrm{T}$ | Set of features for instance $i$ | $x_i^{(j)}$ | Feature $j$ for instance $i$ |
$\mathrm w=\{\omega_1,\omega_2,\cdots,\omega_M\}^\mathrm{T}$ | Weights of input $\mathrm x$ | $\omega_i$ | Weight of feature $i$ |
$\phi=\{\phi_1,\phi_2,\cdots,\phi_M\}^\mathrm{T}$ | Set of functions | $\phi_i(\mathrm x)$ | Function of features |
【漫漫科研路\LaTeX】使用Sublime Text3撰写科研论文
本文字数: 2.6k 阅读时长 ≈ 4 分钟
在之前的一篇文章《使用Vim撰写科研论文》中,我提到了曾经在Windows系统中使用Sublime+TexLive+SumatraPDF的组合来进行科研工作。现在介绍如何使用sublime来编辑LaTeX论文,真是恰逢其时。由于疫情原因在家隔离(家在湖北),只能使用我淘汰已久,赋闲在家的windows笔记本来进行科研工作。为此,在配置编辑环境的同时,我顺便来介绍其流程。毕竟,使用IDE来编写科研论文的人占绝大多数,使用Vim编写LaTeX的可能是凤毛麟角。因此,使用Sublime编写LaTeX可以看成两者的一个折中选择。
【图解例说机器学习】K最近邻 (KNN)
本文字数: 9.2k 阅读时长 ≈ 13 分钟
kNN (k-nearest neighbor)的定义
针对一个测试实例,在给定训练集中,基于某种距离度量找到与之最近的k个实例点,然后基于这k个最邻近实例点的信息,以某种决策规则来对该测试实例进行分类或回归。
由定义可知,$kNN$模型包含三个基本要素:距离度量、k值选择以及决策规则。再详细描述这三要素之前,我们先用一个样图来简单描述$kNN$分类模型的效果。
我们以二维平面为例,假设输入的训练集格式为$(x_1,x_2,l)$,其中$x_1, x_2$为横纵坐标,$l$为标签。这里我们考虑$k=1,3$的情况,决策规则为多数投票规则,即测试实例与k个实例中的多数属于同一类。图$1,2$分别是$k=1,3$时,二维特征空间划分图。
【漫漫科研路\pgfplots】画双Y坐标图
本文字数: 1.4k 阅读时长 ≈ 2 分钟
在科研论文写作中,经常会遇到画描述tradeoff的仿真图。比如在5G相关的研究中,经常会出现能效与时延的tradeoff。本文主要介绍如何在论文仿真部分,根据仿真结果(存储于.dat文件中)绘制双Y坐标的曲线。
【漫漫科研路\LaTeX】使用Vim撰写科研论文
本文字数: 3.4k 阅读时长 ≈ 5 分钟