开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第十四天,点击查看活动详情
总结:此文为12月更文计划第十四天第二十三篇。
线性回归
线性回归是属于机器学习里面的监督学习,与分类问题不同的是,在回归问题中,其目标是通过对训练样本的学习,得到从样本特征到样本标签直接的映射,其中,在回归问题中,样本的标签是连续值(分类是离散值)。线性回归是一类重要的回归问题。在线性回归中,目标值与特征直接存在线性关系。
若线性回归方程得到多个解,下面哪些方法能够解决此问题?
· 获取更多的训练样本
· 选取样本有效的特征,使样本数量大于特征数
· 加入正则化项
线性回归分析中的残差(Residuals)
· 残差均值总是为零
线性回归分析中,目标是残差最小化。残差平方和是关于参数的函数,为了求残差极小值,令残差关于参数的偏导数为零,会得到残差和为零,即残差均值为零。
若下图展示了两个拟合回归线(A 和 B),原始数据是随机产生的。现在,我想要计算 A 和 B 各自的残差之和。注意:两种图中的坐标尺度一样。
关于 A 和 B 各自的残差之和,下列说法正确的是?
· A 与 B 相同
A 和 B 中各自的残差之和应该是相同的。线性回归模型的损失函数为:L o s s = ∑ ( y ′ − ( w x i + b ) ) 2 Loss=\sum(y'-(wxi+b))^2Loss=∑(y′−(wxi+b))2
对损失函数求导,并令 ∇Loss=0,即可得到 XW-Y=0,即残差之和始终为零。
· 可以用现有的数值优化算法求解
梯度下降
梯度:梯度的本意是一个向量,由函数对每个参数的偏导组成,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。
梯度下降算法原理
算法思想:梯度下降是一种非常通用的优化算法,能够为大范围的问题找到最优解。梯度下降的中心思想就是迭代地调整参数从而使损失函数最小化。假设你迷失在山上的迷雾中,你能感觉到的只有你脚下路面的坡度。快速到达山脚的一个策略就是沿着最陡的方向下坡。这就是梯度下降的做法:通过测量参数向量 θ 相关的损失函数的局部梯度,并不断沿着降低梯度的方向调整,直到梯度降为 0 ,达到最小值。
梯度下降算法流程
1. 随机初始参数;
2. 确定学习率;
3. 求出损失函数对参数梯度;
4. 按照公式更新参数;
5. 重复 3 、 4 直到满足终止条件(如:损失函数或参数更新变化值小于某个阈值,或者训练次数达到设定阈值)。
多分类学习在上课讲的不是很多,小小的做一个总结:
多分类学习
多分类学习方法
· 二分类学习方法推广到多类
· 利用二分类学习器解决多分类问题(常用)
对问题进行拆分,为拆出的每个二分类任务训练一个分类器
对于每个分类器的预测结果进行集成以获得最终的多分类结果
拆分策略
· 一对一(One vs. One, OvO)
· 一对其余(One vs. Rest, OvR)
· 多对多(Many vs. Many, MvM)
给定一个训练集有N个预测标签,将这N个类别两两配对,从而产生N(N-1)/2个分类结果,最终结果可通过投票产生:即把被预测得最多的类别作为最终分裂结果
拆分阶段
· N个类别两两配对
N(N-1)/2 个二类任务
· 各个二类任务学习分类器
N(N-1)/2 个二类分类器
测试阶段
· 新样本提交给所有分类器预测
N(N-1)/2 个分类结果
· 投票产生最终分类结果
被预测最多的类别为最终类别
一对其余
任务拆分
· 某一类作为正例,其他反例
N 个二类任务
· 各个二类任务学习分类器
N 个二类分类器
测试阶段
· 新样本提交给所有分类器预测
N 个分类结果
· 比较各分类器预测置信度