机器学习-模型注意点集锦(更新中....)


一、线性模型

  • 若将无序属性连续化,则会不恰当地引入序关系,对后续处理如距离计算等造成误导;
  • 当变量个数超过样本数时,会有多个解使均方误差最小化。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项
  • “对数几率回归”(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网络过拟合的策略

  1. “早停”策略(early stopping):将数据分成训练集合验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值;
  2. “正则化”策略(regularization):基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和。

常用“跳出”局部极小的策略

  1. 多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数;
  2. 使用“模拟退火”技术。模拟退火在每一步都以一定概率接受比当前解更差的结果,从而有助于“跳出”局部极小。在每一步迭代过程中,接受“次优解”的概率随着时间的推移而逐渐降低,从而保证算法稳定;
  3. 使用随机梯度下降。随机梯度下降法在计算梯度时加入了随机因素;
  4. 使用遗传算法来训练神经网络来逼近全局最优。

四、支持向量机

支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

损失函数

四种常用的损失函数:

  • 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,1z)
  • 指数损失(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损失有一块“平坦”的零区域,这使得支持向量机的解具有稀疏性,而对率损失是光滑的单调递减函数,不能导出类似支持向量的概念。因此对率回归的解依赖于更多的训练样本,其预测开销更大。

扫描二维码关注公众号,回复: 13154850 查看本文章

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万字

猜你喜欢

转载自blog.csdn.net/weixin_42521211/article/details/106894781