【有书共读】《机器学习》读书笔记CH5-CH6
CH5神经网络
神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应;
若两类模式是线性可分的,即存在一个线性超平面能将它们分开;
要解决非线性可分问题,需考虑使用多层功能神经元;
“多层前馈神经网络”,其中·输入层神经元接收外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出;换言之,输入神经元仅是接收输入,不进行函数处理,隐层与输出层包含功能神经元;
神经网络的学习过程,就是根据训练数据来调整神经元之间的”连接权“以及每个功能神经元的阈值;换言之,神经网络”学“到的东西,蕴涵在连接权与阈值中;
通常说“BP网络”时,一般是指用BP算法训练的多层前馈神经网络;
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整;
BP算法执行以下操作:先将输入示例提供个输入层神经元,然后逐层将信号前传,直到产生输出层的结果;然后计算输出层的误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调整。该迭代过程循环进行,直到达到某些条件为止,例如训练误差已达到一个很小的值;
标准BP算法每次更新只针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象;累积BP算法直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数进行更新,其参数更新频率低得多。在很多任务中,累积误差下降到一定程度后,进一步下降会非常缓慢,这是标准BP往往会更快获得较好的解,尤其是在训练集D非常大时更明显;
只需一个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数;
缓解BP网络过拟合:
早停(early stopping)
正则化(regularization)
神经网络的训练过程可看作一个参数寻优过程,即在参数空间中,寻找一组最优参数使得在训练集上的误差最小;
局部极小解是参数空间中的某个点,其领域的误差函数值均不小于该点的函数值;全局最小解则是指参数空间中所有点的误差函数值均不小于该点的误差函数值;
跳出局部极小解:
以多组不同参数值初始化多个神经网络
使用“模拟退火”技术
使用随机梯度下降
其他常见神经网络:
RBF网络
ART网络
SMO网络
级联相关网络
Elman网络
Boltzmann机
随着云计算、大数据时代的到来,计算能力大幅提高可缓解训练低效性,训练数据的大幅增加可降低过拟合风险,因此,以“深度学习”为代表的复杂模型开始受到人们的关注;
对神经网络模型,提高容量的办法:
增加隐层的数目
单纯增加隐层神经元的数目
增加隐层的数目显然比增加隐层神经元数目更有效,因为增加隐层数不仅增加了拥有激活函数的神经元数目,还增加了激活函数嵌套的层数;
多隐层神经网络难以直接用经典算法(例如标准BP算法)进行训练,因为误差在多隐层内逆传播时,往往会“发散”而不能收敛到稳定状态;
深度学习可以理解为“特征学习”或“表示学习”
CH6 支持向量机
支持向量机训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关;
SMO的基本思路是先固定xi之外的所有参数,然后求xi上的极值。由于存在约束,因此SMO每次选择两个变量并固定其他参数。这样,在参数初始化后,SMO不断执行如下两个步骤直至收敛;
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间是样本可分;
只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。
#笔记##机器学习##读书笔记#