机器学习算法与技术简介

模型简介

PLA

简介:假设集是输入空间上的超平面,目标函数是01error。算法是每次更正错误直到没有错误发生。

h(x)=sign(wTx)

h(x) = sign(w^Tx)

wt+1=wt+ynxn

w_{t+1} = w_{t}+y_n x_n

优点:

  • 简单
  • 线性可分保证收敛

缺点:

  • 假设线性可分
  • 线性可分收敛的速度没有保证
  • 线性不可分的时候每得到一个模型都要在训练集上去评估,时间复杂度过高。

实践建议:

  • 线性不可分的情况可以得到模型后在训练集上进行验证,在一定的迭代次数中选择验证集上表现最好的模型。

MLP

简介:多层感知器

优点:

  • 非线性模型
  • 在线学习
  • 学习能力极强

缺点:

  • 非凸问题,对网络权重敏感,调整参数过多
  • 不容易调参

实践建议:

  • 绝大多数问题1层隐含层就足够了(多层不好训练),隐含层神经元个数介于输入层输出层之间
  • 权重L2正则
  • 权重后期pruning
  • 权重预训练
  • 提前终止
  • 看学习曲线

Linear Regression

简介:假设集是特征的线性组合,目标函数是最小二乘,算法是闭解。

h(x)=wTx

h(x) = w^Tx

Ein(w)=1N||Xw−y||2

E_{in}(w) = \frac{1}{N} || Xw-y||^2

w=(XTX)−1XTY=X†Y

w = (X^TX)^{-1} X^TY= X^{\dagger}Y

优点:

  • 闭解

缺点:

  • 模型简单

实践建议:

  • 构建新的特征增加模型的复杂度
  • 增加L2正则项

Logistic Regression

简介:假设集是特征线性组合的逻辑函数,目标函数是最大似然训练集,损失函数是cross entropy,算法是梯度下降。

h(x)=θ(wTx)

h(x) = \theta(w^Tx)

Ein(w)=1N∑1Nlog(1+exp(−ynwTxn))

E_{in}(w) =\frac{1}{N} \sum_1^N \log(1+\exp(-y_nw^Tx_n))

w⇐w+η1N∑n=1Nθ(−ynwTxn)(ynxn)

w \Leftarrow w+\eta \frac{1}{N} \sum_{n=1}^N \theta(-y_nw^Tx_n)(y_n x_n)

w⇐w+ηθ(−ynwTxn)(ynxn)

w \Leftarrow w+\eta \theta(-y_nw^Tx_n)(y_n x_n)

优点:

  • 可以得到分类概率

缺点:

  • 模型简单

实践建议:

  • LR可以用GD或者SGD训练,SGD效果更快一些

Naive Bayes

简介:

优点:

缺点:

实践建议:

SVM

简介:

优点:

缺点:

实践建议:

KNN

简介:

优点:

缺点:

实践建议:

Decision Tree

简介:

优点:

缺点:

实践建议:

Random Forest

简介:

优点:

缺点:

实践建议:

AdaBoost

简介:

优点:

缺点:

实践建议:

GBDT

简介:

优点:

缺点:

实践建议:

模型比较

LASSO

  • LASSO一般用来挑选重要的特征,挑选完重要的特征后再代入其他模型进行训练(先用L1再用L2等效于使用Elastic Net回归)
  • 如果只关心模型的误差率不关心可解释性,那么一般不用LASSO。LASSO适用于挑选重要的特征并且进行解释。
  • LASSO可能出现一开始选择中了A特征,然后放松正则项的惩罚,B特征进入了,A特征的系数减小甚至变为0。
  • LASSO不稳定,一方面体现在对于多重共线性的特征组,它会随机地挑选组中的某一个特征。另一方面即使特征之间的相关性不是很大,LASSO仍然可能随机地选取其中的一个。解决这个问题的办法是随机LASSO。重复多次LASSO实验,每次实验的数据是原数据的取样,每次实验的L1正则系数被scale了。最后会给特征评分,评分高的特征在LASSO子实验中被选择的次数越高。

对比

SVM和LR

  • 解决问题的思路不同:SVM最大间隔分类器;LR最大化似然函数。
  • 构建的目标函数不同,SVM的目标函数包含hinge损失函数和正则项;LR的目标函数包含cross entropy的损失函数。两者的损失函数很相像,如果LR加上正则项,那么两者的优化目标也很相像。
  • 数据分布的影响不同:Linear SVM不直接依赖数据分布,分类平面只受SV的影响;LR的分类平面受所有数据点的影响(离分类平面越近影响力越大)。
  • 距离测度:Linear SVM计算margin距离的时候依赖数据表达上的测度,如果测度不好那么就没有意义了。所以一般做SVM要先scale数据;LR也需要scale数据,不过是为了更快更好地计算优化问题。
  • 核函数:SVM转化成对偶问题后采用核函数只需要计算与少数几个支持向量的距离;LR利用representation theory采用核函数后需要计算与所有样本点的距离,解释非稀疏的。
  • 概率模型:LR可以给出分类的概率;SVM必须再叠加LR才可以给出分类的概率。
  • 实践上:特征很大,就用linear SVM或者LR。特征很小,就用核SVM或者构建特征再用LR。

GBDT和RF

  • 都是tree-based的模型,有tree模型的优点:处理缺失数据、处理类别数据、处理多分类数据、处理分类回归、对样本的分布不敏感。
  • 子树的复杂度不同:GBDT的子树是简单的,甚至是decision-stump(只有两片叶子的树)。GBDT减少error主要通过组合多个不同权重的树减少bias,每次训练的新树都是在原来树上的改进,同时多颗树的组合也一定程度上降低了variance;RF的子树是复杂的(完全生长的树)。RF减少error主要通过组合多个树减少variance。树通过到处随机尽量使彼此不相关(样本随机,切的时候特征随机),从而variance降低的更快一些。但是RF不能降低bias,其bias比子树要稍高一些。所以子树要尽可能完全生成从而有较低的vias,然后组合多个树降低variance从而达到降低error的目的。RF的子树都过拟合数据,但是过拟合的方式各不相同,通过最后的平均投票,把过拟合的差异平均了。
  • 实践并行化:RF并行化较容易自然,GBDT并行化不自然。
  • 实践调参:GDBT调参更麻烦一些。RF一般只需要调max_features(每次split参考的最大的feature个数,通常用feature总数的平方根)。
  • 实践过拟合:RF抗过拟合的能力更强一些,更少的参数需要调整。GBDT对噪声更敏感,噪声大的时候表现可能差一些。
  • 最终效果:好好调参数的GBDT效果通常更好。
  • 模型扩展:GBDT来源于优化一个目标函数,这个目标函数可以用各种可以写出梯度的error。RF相对来说潜在的模型不是很明显。

机器学习技术

特征变换

过拟合与正则

缺失数据处理

不平衡数据处理

大数据处理

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏YoungGy

矩阵求导与实例

缘由 布局 求导的类别 从简单的例子说起 实例 SVM的对偶形式转换 Soft-SVM对偶形式转换 线性回归 logistic回归 参考资料 缘由 机器学习的很...

22510
来自专栏智能算法

到底该如何选择损失函数?

机器学习中的所有算法都依赖于最小化或最大化某一个函数,我们称之为“目标函数”。最小化的这组函数被称为“损失函数”。损失函数是衡量预测模型预测期望结果表现的指标。...

1385
来自专栏marsggbo

Andrew Ng机器学习课程笔记--week7(SVM)

本周主要学习SVM 一、 内容概要 Large Margin Classification Optimization Objective(优化Objectiv...

1848
来自专栏大数据风控

R分类算法-决策树算法

决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测,属于有监督学习。 优点: 决策...

2439
来自专栏红色石头的机器学习之路

台湾大学林轩田机器学习基石课程学习笔记10 -- Logistic Regression

上一节课,我们介绍了Linear Regression线性回归,以及用平方错误来寻找最佳的权重向量w,获得最好的线性预测。本节课将介绍Logistic Regr...

2200
来自专栏数说工作室

【分类战车SVM】第三话:最大间隔分类器

分类战车SVM (第三话:最大间隔分类器) 查看本《分类战车SVM》系列的内容: 第一话:开题话 第二话:线性分类 第三话:最大间隔分类器 第四话:拉格朗日对偶...

39110
来自专栏数说工作室

【分类战车SVM】第三话:最大间隔分类器

分类战车SVM (第三话:最大间隔分类器) 1.回顾 前面说到,线性分类器就是找一个平面,能最好的区分不同类别的样本,logistic模型找的那个超平面,是尽...

2593
来自专栏Bingo的深度学习杂货店

《统计学习方法》读书笔记

【第1章】 统计学习方法概论 【第2章】 感知机 【第3章】 k 近邻法 【第4章】 朴素贝叶斯法 【第5章】 决策树 【第6章】 逻辑斯谛回归与最大...

1201
来自专栏量化投资与机器学习

【量化投资策略探讨】决策树和随机森林

决策树 决策树方法(decision tree)是一种代表因子值和预测值之间的一种映射关系。从决策树的“根部”往“枝叶”方向走,每路过一个节点,都会将预测值通过...

2315
来自专栏真皮专栏

Softmax ClassifierSoftmax Classifier

softmax分类器和logistics regression有点像,softmax其实就是从logistics发张过来的。由于是多分类了,需要走更多的概率来表...

721

扫码关注云+社区