赞
踩
原创不易,转载请注明出处
机器学习中关于解决回归问题的总结
注:以下线性回归中,均可采用梯度下降、最小二乘(交替)、牛顿法(拟牛顿)、坐标轴下降、正规方程解析解、最小角回归法 求得。下面整理只给出每个算法最常用的解法。
关于机器学习&深度学习中,损失、代价、目标、成本含义解释
注:如以下涉及到的用词错误,敬请谅解
百度百科
一元线性回归是分析只有一个自变量(自变量x和因变量y)线性相关关系的方法。一个经济指标的数值往往受许多因素影响,若其中只有一个因素是主要的,起决定性作用,则可用一元线性回归进行预测分析。
白话原理
形如: y = w x + b y = wx + b y=wx+b 。只有一个自变量和一个因变量的直线方程,目的是找到最优的回归系数w和偏置b,使得预测值 y ^ \hat y y^ 和真实值 y y y 的损失最小。
代价函数
均方误差:
J
(
θ
)
=
1
2
m
∑
i
=
0
m
(
y
i
−
h
θ
(
x
i
)
)
2
J(\theta) = \frac{1}{2m}\sum_{i = 0} ^m(y^i - h_\theta (x^i))^2
J(θ)=2m1i=0∑m(yi−hθ(xi))2
很多教材上给出的是误差平方和,其实都可以,无非就是分母不一样。这里均方根多除一个2是方便梯度下降求偏导。
求解方式
梯度下降,直观理解就是代价函数曲线上的“下山过程”,其实就是对代价函数求偏导。又分为批量梯度下降BGD
、小批量梯度下降MBGD
、随机梯度下降SGD
。
批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。优点是一次迭代是对所有样本进行计算,可以利用矩阵并行计算。缺点是当样本数量级很大时,整个训练过程会非常慢。
小批量梯度下降是机器学习和深度学习最为常用的优化方法。是对BGD和SGD的一个折中。其思想是每次迭代使用batch_size
个样本来对参数进行更新。优点是通过矩阵运算,每次在一个batch
上优化参数并不会比单个数据慢太多。其次是每使用一个batch
可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。缺点就是batch_size
阈值的选择。
随机梯度下降是每次迭代使用一个样本来对参数进行更新。使得训练速度加快。优点是由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。缺点是准确度下降,由于单个样本并不能代表全体样本的趋势,所以很可能会局部最优甚至无法做到线性收敛。
优缺点 & 适用场景
百度百科
在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。
白话原理
形如:
y
=
w
1
x
1
+
w
2
x
2
+
w
3
x
3
…
+
b
y = w_1x_1 + w_2x_2 + w_3x_3 \ldots + b
y=w1x1+w2x2+w3x3…+b 。相比于一元线性回归,多元线性回归(即多变量回归)更加符合实际,因为我们实际需求大多都是多个特征的。同样的我们需要求解一组参数
w
w
w 和 偏置
b
b
b,来使得预测值和真实值的误差最小。当w转成向量后可得预测函数如下:
h
(
x
)
=
w
T
x
+
b
h(x) = w^Tx + b
h(x)=wTx+b
注:很多文献上都喜欢用 θ θ θ 表示权重向量,即上述的 w w w
代价函数
均方误差
求解方式
梯度下降、最小二乘
最小二乘的思想就是求多元函数极值,说白了就是对各个 w w w求偏导然后使偏导为0。这样P个参数就对应P个方程需要求解,可以说计算量比较大。而梯度下降可以看做是更简单的一种求最小二乘法最后一步解方程 的方法。
关于最小二乘、梯度下降、牛顿法的总结:
https://cloud.tencent.com/developer/article/1433814
优缺点 & 适用场景
优点是不需要对数据进行归一化处理,原始数据进行计算参数,不存在量纲的问题。
缺点是计算复杂度较高,在特征比较多的时候,计算量很大。
百度百科
局部加权线性回归(Local Weights Linear Regression)也是一种线性回归。不同的是,普通线性回归是全局线性回归,使用全部的样本计算回归系数。而局部加权线性回归,通过引入权值(核函数),在预测的时候,只使用与测试点相近的部分样本来计算回归系数。
白话原理
线性回归的一个问题是有可能出现欠拟合,因为它求的是具有最小均方误差的无偏估计,欠拟合是无法达到我们想要的预测效果,所以有些方法允许在估计中引入一些偏差,从而降低预测的均方误差。局部线性加权的思想是对待预测点附近的每个点赋予一个权重,然后在带权的样本上基于最小均方误差来进行回归。
换句话说,在局部加权线性回归中,我们在预测前对于每个点都赋予一个权重,离需要预测点越近的点权重越大,反之权重越小。其它思想和多元线性回归基本一致,加权体现在代价函数上。
代价函数
J
(
θ
)
=
1
2
m
∑
i
=
0
m
w
(
i
,
i
)
(
y
i
−
h
θ
(
x
i
)
)
2
J(\theta) = \frac{1}{2m}\sum_{i = 0} ^mw_{(i, i)}(y^i - h_\theta (x^i))^2
J(θ)=2m1i=0∑mw(i,i)(yi−hθ(xi))2
h
θ
(
x
)
h_{θ}(x)
hθ(x) 是我们的预测值,即:
h
θ
(
x
)
=
θ
T
x
i
h_{θ}(x) = θ^Tx_i
hθ(x)=θTxi
w
(
i
,
i
)
w_{(i, i)}
w(i,i) 就是权重,我们一般使用高斯核函数:
w
(
i
,
i
)
=
e
x
p
(
−
(
x
i
−
x
)
2
2
k
2
)
w_{(i, i)} = exp(-\frac{(x_i - x)^2}{2k^2})
w(i,i)=exp(−2k2(xi−x)2)
局部
的大小究竟是多大。
求解方式
梯度下降、正规方程
优缺点 & 适用场景
优点就是通过核函数加权来预防欠拟合,缺点也很明显K需要调试。当多元线性回归过拟合的时候,可以尝试高斯核局部加权来预防过拟合。
百度百科
多项式回归,回归函数是回归变量多项式的回归。多项式回归模型是线性回归模型的一种,此时回归函数关于回归系数是线性的。由于任一函数都可以用多项式逼近,因此多项式回归有着广泛应用
研究一个因变量与一个或多个自变量间多项式的回归分析方法,称为多项式回归(Polynomial Regression)。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。
白话原理
多项式回归是一元线性回归及多元线性回归的扩展。在原有线性方程的基础上增加了自变量x的几次项,可以说是变相的增加了特征。譬如一元多项式回归,当多项式项数为n时,相当于多了n个特征。多元多项式也是这个道理,所以就有种特征交叉的意思了。
一元m次多项式回归方程如下:
y
^
=
b
+
w
1
x
+
w
2
x
2
+
…
+
w
m
x
m
\hat y = b + w_1x + w_2x^2 + \ldots + w_mx^m
y^=b+w1x+w2x2+…+wmxm
二元二次多项式回归方程如下:
y
^
=
b
+
w
1
x
1
+
w
2
x
2
+
w
3
x
1
2
+
w
4
x
2
2
+
w
5
x
1
x
2
\hat y = b + w_1x_1 + w_2x_2 + w_3x_1^2 + w_4x_2^2 + w_5x_1x_2
y^=b+w1x1+w2x2+w3x12+w4x22+w5x1x2
代价函数
均方误差
求解方式
梯度下降、最小二乘
优缺点 & 适用场景
当我们要拟合的是曲线而不是直线时,就可以用多项式回归。通过控制项数来用线性模型拟合非线性数据。相比于线性回归应用更加广泛,因为我们实际场景中的数据大多呈现非线性关系。因为项数的存在所以原始数据维度得到提高,使得方程更好的拟合高维的数据,提高模型的泛化能力。缺点就是多项式的项数是需要调试的。
百度百科
LASSO是由1996年Robert Tibshirani首次提出,全称Least absolute shrinkage and selection operator。该方法是一种压缩估计。它通过构造一个惩罚函数得到一个较为精炼的模型,使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值;同时设定一些回归系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。
白话原理
就是在线性回归的基础上,代价函数里加了L1正则。
代价函数
J
(
θ
)
=
1
2
m
[
∑
i
=
0
m
(
y
i
−
h
θ
(
x
i
)
)
2
+
λ
∑
j
=
0
n
∣
∣
w
∣
∣
1
]
J(\theta) = \frac{1}{2m} \ [ \ \sum_{i = 0} ^m(y^i - h_\theta (x^i))^2 + \lambda \sum_{j=0}^n ||w||_1 \ \ ]
J(θ)=2m1 [ i=0∑m(yi−hθ(xi))2+λj=0∑n∣∣w∣∣1 ]
求解方式
坐标轴下降法、最小角回归法
为什么lasso回归的求解方式不再是梯度下降、最小二乘?因为lasso回归对损失函数加了L1惩罚。L1范数用的是绝对值之和,导致损失函数有不可导的点,所以最小二乘、梯度下降、牛顿和拟牛顿就统统失效了。
因为实际应用中,不管是回归还是变量选择还是降维,lasso回归应用并不多,所以这里对坐标轴下降和最小角回归不做解释。
优缺点 & 适用场景
L1正则化可以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0,所以对于高纬的特征数据,尤其是线性关系是稀疏的,就可以用lasso回归,也是起到一定的降维作用。
百度百科
岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
白话原理
就是在线性回归的基础上,代价函数里加了L2正则。
代价函数
J
(
θ
)
=
1
2
m
[
∑
i
=
0
m
(
y
i
−
h
θ
(
x
i
)
)
2
+
λ
∑
j
=
0
n
∣
∣
w
∣
∣
2
2
]
J(\theta) = \frac{1}{2m} \ [ \ \sum_{i = 0} ^m(y^i - h_\theta (x^i))^2 + \lambda \sum_{j=0}^n ||w||_2^2 \ \ ]
J(θ)=2m1 [ i=0∑m(yi−hθ(xi))2+λj=0∑n∣∣w∣∣22 ]
求解方式
最小二乘、梯度下降
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。