前文回顾:
回归 (regression):预测结果是连续值的学习任务。
回归任务性能度量:均方误差(mean squared error)
机器学习过程的三个阶段:假设、评价和优化。
模型假设
给定由d个属性(特征)描述的示例
x
=
(
x
1
;
x
2
;
⋯
;
x
n
)
x=(x_1; x_2; \cdots ; x_n)
x=(x1;x2;⋯;xn),其中
x
i
x_i
xi是x在第i个属性上的值。
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,函数式:
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
⋯
+
w
n
x
n
f(x) = w_1x_1 + w_2x_2 + \cdots + w_nx_n
f(x)=w1x1+w2x2+⋯+wnxn
一般用向量形式:
f
(
x
)
=
w
T
x
+
b
f(x) = w^Tx + b
f(x)=wTx+b,其中
w
=
(
w
1
;
w
2
;
⋯
;
w
n
)
w=(w_1; w_2; \cdots ; w_n)
w=(w1;w2;⋯;wn),学得w和b之后,模型就得以确定。
线性回归(linear regression)假设目标值与样本特征之间线性相关,即满足一个多元一次方程。线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记,即:
y
′
=
f
(
x
)
≈
y
y' =f(x) \approx y
y′=f(x)≈y,
其中
y
′
y'
y′为预测值,
y
y
y为实值
评价与优化
均方误差是回归任务中最常用的性能度量,因此我们可试图让均方误差最小化。
均方误差对应了常用的欧几里得距离,简称欧氏距离(Euclidean distance)。
求解方式有两种:
1)最小二乘法(least square method)
基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。
在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线的欧氏距离之和最小。
若解出多个w(b可看作x等于1时的特殊w),常见做法是引入正则化(regularization)项作为归纳偏好。
2)梯度下降(gradient descent)
梯度是微积分学的概念,百度百科:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
梯度的关键词:沿着该方向变化最快,变化率最大。
梯度下降法就是找到当前参数的梯度,然后沿着梯度反方向(下坡),让函数值下降的最快,直到走到最低点。
梯度下降方向:函数在某一个点的梯度方向是曲线斜率最大的方向,但梯度方向是向上的,所以下降最快的是梯度的反方向。示意图如下:
均方误差损失函数曲线图,如下:
由图可见,均方误差表现的“圆滑”的坡度有两个好处:
• 曲线的最低点是可导的。
• 越接近最低点,曲线的坡度逐渐放缓,有助于通过当前的梯度来判断接近最低点的程度。