本笔记仅记录《统计学习方法》中各个章节算法|模型的简要概述,比较泛泛而谈,用于应对夏令营面试可能会问的一些问题,不记录证明过程和详细的算法流程。大佬可自行绕路。
更多章节内容请参阅:李航《统计学习方法》学习笔记-CSDN博客
目录
感知机概述:
感知机是二类分类的线性分类模型,属于判别模型。
感知机学习旨在求出将训练数据进行线性划分的分离超平面,利用梯度下降法对损失函数进行极小化。是神经网络与支持向量机的基础。
感知机模型:
感知机学习策略:
线性可分性:
如果存在某个超平面可以将数据集的正实例点和负实例点完全正确地划分到超平面两侧,则称该数据集为线性可分数据集。
学习策略:
感知机的目标就是找到这样的一个超平面,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能会有所不同。
关于损失函数的选取:一个自然的选择是误分类点,但是这个不是连续可导的函数;因此选取误分类点到超平面的总距离作为代价函数,该函数是连续可导的函数,容易优化。
感知机学习算法的原始形式:
采用随机梯度下降解决该最优化问题,每次随机选取一个点进行梯度求解,然后进行更新。
算法流程:
如下:
实质:
当一个实例点被误分类时,即位于分离超平面的错误一侧,则调整相应的w和b的值,使得分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面点的距离,直至超平面越过该误分类点使其被正确分类。
例子:
采用不同的初值或者选取不同的误分类点,那么解可以不同。
收敛性:
可以证明得到,对于一个线性可分数据集,经过有限次迭代可以得到一个将其完全正确划分的分离超平面及感知机模型。
如果数据集是线性不可分,那么感知机算法不收敛,迭代结果会发生震荡。
感知机学习算法的对偶形式:
对偶形式相比于原始形式,使得训练实例仅以内积的形式出现。
算法流程:
例子:
优点:
- 事先计算Gram矩阵,减少了后续的计算量。
- 更新参数少,对偶每次只需要更新αi和b两个数,而原始每次要更新一整个w向量和b。
感知机的缺点:
(1)一层感知器只能解决线性问题;
(2)要解决非线性问题(包括分段线性问题),比如异或(XOR)问题,我们需要多层感知器(MLP);
(3)但是,我们没有MLP可用的训练算法。
(4)所以,神经网络是不够实用的。
感知机与神经网络发展史:
从1943年McCulloch-Pitts(MP)模型作为开端、1957年感知器的提出为标志性高潮起点,到1969年Minsky的《感知器》一书提出批判使得神经网络第一次进入低谷,酝酿期14年,高潮期12年,之后低谷期17年。然而,其实解决感知器缺点的算法在当时已经出现了,但是直到1974年Paul Werbos在博士论文中才把它引入了神经网络。BP算法是基于一种“简单”的思路:不是(如感知器那样)用误差本身去调整权重,而是用误差的导数(梯度)。