上一讲中提到了一些机器学习的概念,现在我们讲讲机器学习的算法,机器学习的算法总的来说包括两大类,一类为监督学习方法,另一类为无监督学习方法,监督学习就是在具有训练样本的情况下对样本进行学习的过程,而无监督的学习方法针对没有训练样本的情况,下面就这两大类方法分别介绍:

1 监督学习方法

1.1逻辑回归方法:

对于明确的概率分布 $p(y|x)$ 使用最大似然估计找到对于有参数分布族 $p(y|x;\theta)$ 其中 $\theta$ 为参数向量,则线性回归族为:
$p(y|x;\theta)=N(y;\theta^T x,I)$
进一步,对于分类问题来说,是求解x属于某一个类别的概率,假设求解x属于类别1的概率,则为:
$p(y=1|x;\theta)=\delta(\theta^T x)$
其中 $\delta$ 为sigmoid函数,使用sigmoid函数的主要原因在于将线性变换的概率映射到0-1之间,实际上为什只求解x属于类别1的概率,因为对于一个二类分类的结果来说,x只有两种情况,在求解得到x属于类别1的概率后x属于类别2的概率也能够获取到了.

1.2 SVM方法:

类似于逻辑回归方法,SVM方法同样判别函数为 $w^Tx+b$ 但是与逻辑回归不同的是SVM方法只输出是否属于某一个类别,而不是得到属于某一个类别的概率,实际上对于SVM模型,模型为0表示在回归线上的点,我们想象空间中的点集被分为两类的情况,通过超平面 $y=w^Tx+b$ 进行分割,所有 $y>0$ 的点为一个类别,$y<0$的点为一个类别,则在超平面确定的情况下 $|w^Tx+b|$ 表示点距离超平面的远近程度,实际上我们的约束条件为样本点距离超平面的距离越远,则说明超平面的选择越正确,具体的推导过程大家可以参看参考资料,在这里就不进行详细说明,实际上在约束条件下求解过程可以表示为:
$max(\frac{1}{||w||}) s.t. y_i(W^Tx_i+b_i)\ge 1$
则最大值的求解可以简化为求解 $\frac{1}{2}||w||^2$ 的极小值的过程,则由于约束函数是一次函数,目标函数是二次函数,为凸约束问题可以采用拉格朗日乘数法进行求解,具体的求解过程这里就不进行详细描述,参看参考资料,最后得到 $f(x)=(\Sigma\alpha_iy_ix_i)^Tx+b$ ,我们可以将上式表示为: $f(x)=\Sigma\alpha_iy_i(x_i,x)+b$ ,则在进行判别的过程中将待判别的样本跟所有判别样本求内积运算得到,实际上为了将在低维不可分的情况映射到高维可分,则上面求内积的运算就显得十分重要了,我们将求内积函数替换为核函数,将x替换为 $\phi(x)$则判别函数变换为:$f(x)=b+\Sigma\alpha_ik(x,x^i)$ 核函数相当与对x的函数的变换 $\phi(x)$ 进行了求内积操作,实际上核函数将判别从低维映射到了高维另外并没有明显增加运算量,提高了运算效率,实际上不是所有函数都具有被选为核函数的可能,常用的核函数包括高斯核函数,多项式核函数等.
SVM参考资料

2无监督学习方法

无监督学习的主要目的在于找到数据的一种最佳表示,主要分为三种

  • 低维表示
  • 稀疏表示
  • 独立表示

PCA变换是数据低维表示的一种方式,主要作用是对数据进行去相关和投影操作,实际上PCA变换的本质就是投影变换,计算得到协方差最大的投影方向,通过该投影方向对数据进行投影得到投影后的数据,投影后的数据前几个分量包含了主要的信息.
PCA变换参考
K-均值聚类方法,K-均值聚类方法是一种常见的比较简单的无监督学习方式,它属于比较简单的无参数的学习方法,实现和作用都比较简单,在这里就不进行详细说明了

3 梯度下降算法

我们这里提的梯度下降算法指的是随机梯度下降算法,实际上在学习过程中我们总有一个原则,那就是代价函数,或损失函数最小的原则,损失函数为:
$J(\theta)=\frac{1}{m}\Sigma L(x_i,y_i,\theta)$
使得损失函数最小,是计算的原则,一般求极小值都是通过求导来实现的,而在学习过程中由于样本量比较大,损失函数的计算量也会增加,实际上在训练过程中为了不使得训练量增加通常采用随机选择部分训练样本进行计算