目录
一、线性模型
- 若将无序属性连续化,则会不恰当地引入序关系,对后续处理如距离计算等造成误导;
- 当变量个数超过样本数时,会有多个解使均方误差最小化。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项;
- “对数几率回归”(logistics regression,也称logit regression)。优点:它是直接对分类可能性进行建模,无需事先假设数据分布,这样可以避免假设分布不准确所带来的问题。
- 线性判别分析(Linear Discriminant Analysis,LDA)的思想很朴素:给定训练样例集,设法将样例投影到一条直线上 ,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
类别不均衡问题
处理常用的三种策略:
- 再缩放
- 欠采样:代表性算法:EasyEnsemble
- 过采样:代表性算法:SMOTE
二、决策树
信息熵:度量样本集合纯度最常用的一种指标。值越小,纯度越高。
- 信息增益:ID3的未划分属性准则。对取值数目较多的属性有所偏好。
- 增益率:C4.5的划分属性准则。对取值数目较少的属性有所偏好。
- 基尼指数:CART的划分属性准则。
一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树;后剪枝的训练时间开销比未剪枝决策树和预剪枝决策树都要大得多。
连续属性与离散属性不同,若当前节点划分属性为连续属性,该属性还可以作为其后代结点的划分属性
连续与缺失值处理
- 连续值离散化处理:二分法
- 缺失值处理:采用不同的策略填补或剔除
三、神经网络
- 学习率 η ∈ ( 0 , 1 ) \eta \in(0,1) η∈(0,1):控制着算法每一轮迭代中的更新步长,若太大则容易振荡,太小则收敛速度又会过慢。
累计BP算法与标准BP算法
一般来说,标准BP算法每次更新只针对单个样例,参数更新得非常频繁,而且对不同样例更新的效果可能出现“抵消”现象。因此,为了达到同样的累计误差极小点,标准BP算法往往需要进行更多次数的迭代;
累计BP算法直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数进行更新,其参数更新频率要低得多;
很多任务中,累计误差下降到一定程度之后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解,尤其是在训练集D非常大时更明显。
- 如何设置隐层神经元的个数仍是个未决的问题,实际应用中通常靠**“试错法”**(trial-by-error)调整。
两种常用来缓解BP网络过拟合的策略
- “早停”策略(early stopping):将数据分成训练集合验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值;
- “正则化”策略(regularization):基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和。
常用“跳出”局部极小的策略
- 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数;
- 使用“模拟退火”技术。模拟退火在每一步都以一定概率接受比当前解更差的结果,从而有助于“跳出”局部极小。在每一步迭代过程中,接受“次优解”的概率随着时间的推移而逐渐降低,从而保证算法稳定;
- 使用随机梯度下降。随机梯度下降法在计算梯度时加入了随机因素;
- 使用遗传算法来训练神经网络来逼近全局最优。
四、支持向量机
支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。
损失函数
四种常用的损失函数:
- 0/1损失函数: ℓ 0 / 1 = { 1 , i f z < 0 ; 0 , o t h e r w i s e . \ell_{0/1}=\left\{ \begin{aligned} 1, if z<0; \\ 0,otherwise. \end{aligned} \right. ℓ0/1={ 1,ifz<0;0,otherwise.
- hinge损失: ℓ h i n g e ( z ) = m a x ( 0 , 1 − z ) \ell_{hinge}(z)=max(0,1-z) ℓhinge(z)=max(0,1−z)
- 指数损失(exponential loss): ℓ e x p ( z ) = e x p ( − z ) \ell_{exp}(z)=exp(-z) ℓexp(z)=exp(−z)
- 对率损失(logistic loss): ℓ l o g ( z ) = l o g ( 1 + e x p ( − z ) ) \ell_{log}(z)=log(1+exp(-z)) ℓlog(z)=log(1+exp(−z))
后三种为常用的替代损失函数。
支持向量机与对率回归模型对比
- 支持向量机与对率回归的优化目标相近,通常情况下它们的性能相当;
- 对率回归的优势主要在于其输出具有自然的概率意义,即在给出预测标记的同时也给出了概率,而支持向量机的输出不具有概率意义,欲得到概率输出需进行特殊处理;
- 对率回归能直接用于多分类任务,支持向量机为此则需进行推广
hinge损失有一块“平坦”的零区域,这使得支持向量机的解具有稀疏性,而对率损失是光滑的单调递减函数,不能导出类似支持向量的概念。因此对率回归的解依赖于更多的训练样本,其预测开销更大。
L 2 L_2 L2范数和 L 0 , L 1 L_0,L_1 L0,L1范数的对比
- L 2 L_2 L2范数倾向于非零分量尽量稠密
- L 0 , L 1 L_0,L_1 L0,L1范数则倾向于非零分量个数尽量少
周志华 著. 机器学习, 北京: 清华大学出版社, 2016年1月.
(ISBN 978-7-302-206853-6) 425页,62.6万字