提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一、线性回归的概念
线性回归(Linear Regression):是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。如下图所示,在一堆看似毫无规则的数据中去找到一条直线来拟合(表示)这些数据的规律。
二、线性回归中常用的符号
1、𝑚:代表训练集中样本的数量
2、𝑛 :代表特征的数量
3、𝑥 :代表特征/输入变量
4、𝑦 :代表目标变量/输出变量
5、𝑥, 𝑦: 代表训练集中的样本
6、(
x
i
x^{^{i}}
xi,
y
i
y^{^{i}}
yi): 代表第𝑖个观察样本,而
x
i
x^{^{i}}
xi是特征矩阵中的第𝑖行,是一个向量,,例如
x
2
x^{^{2}}
x2就代表下图中第二行中的数据(162.2 31 8 118),而
y
2
y^{^{2}}
y2就代表下图中的37000,而
x
j
(
i
)
x_{j}^{(i)}
xj(i)代表特征矩阵中第 𝑖 行的第 𝑗 个特征,例如
x
2
(
2
)
x_{2}^{(2)}
x2(2)=31
7、ℎ (hypothesis) :代表学习算法的解决方案或函数也称为假设,大家也可以认为这就是一个函数(既y=ax+b)这种。
三、线性回归的算法流程
-
x x x和 y y y的关系表达式:ℎ(𝑥) =
w 0 x 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n w_{0}x_{0}+w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n} w0x0+w1x1+w2x2+...+wnxn= w T x w^{T}x wTx, x 0 x_{0} x0可默认为1, w 0 w_{0} w0实际为常数 b b b,这样写的好处是方便做矩阵运算。 -
损失函数(Loss Function)是度量单样本预测的错误程度,损失函数值越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。一般我们采用平方和损失函数,公式如下: l ( x ( i ) ) = 1 2 ( h ( x ( i ) ) − y ( i ) ) 2 l(x^{(i)})=\frac{1}{2}(h(x^{(i)})-y^{(i)})^{2} l(x(i))=21(h(x(i))−y(i))2,要求最小值的话在这我们要找到一组 w ( w 0 , w 1 , w 2 . . . w n ) w(w_{0},w_{1},w_{2}...w_{n}) w(w0,w1,w2...wn)值使得 J ( w ) = 1 2 ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 J(w)=\frac{1}{2}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})^{2} J(w)=21∑i=1m(h(x(i))−y(i))2(残差平方和)最小,因此我们需要对 J ( w ) J(w) J(w)求导求最值,即 ∂ J ( w ) ∂ ( w ) \frac{\partial J(w)}{\partial (w)} ∂(w)∂J(w)。
损失函数的系数1/2是为了便于计算,使对平方项求导后的常数系数为1,这样在形式上稍微简单一些。有些教科书把系数设为1/2,有些设置为1,这些都不影响结果。
-
代价函数(Cost Function)度量全部样本集的平均误差。常用的代价函数包括均方误差、均方根误差、平均绝对误差等。
-
目标函数(Object Function)代价函数和正则化函数,最终要优化的函数。
四、线性回归的最小二乘法(LSM)
将向量表达形式转为矩阵表达形式,则有𝐽(𝑤) =
1
2
(
x
w
−
y
)
2
\frac{1}{2}(xw-y)^{2}
21(xw−y)2,其中
x
x
x为𝑚行𝑛 + 1
列的矩阵(𝑚为样本个数,𝑛为特征个数),𝑤为𝑛 + 1行1列的矩阵(包含了
w
0
w_{0}
w0),
y
y
y 为𝑚行1列的矩阵,则𝐽(𝑤) =
1
2
(
x
w
−
y
)
2
\frac{1}{2}(xw-y)^{2}
21(xw−y)2=
1
2
(
x
w
−
y
)
T
(
x
w
−
y
)
\frac{1}{2}(xw-y)^{T}(xw-y)
21(xw−y)T(xw−y)。为求最下值,接下对
J
(
w
)
J(w)
J(w)求偏导。
∂
J
(
w
)
∂
w
=
1
2
∂
∂
w
(
x
w
−
y
)
2
=
1
2
∂
∂
w
(
x
w
−
y
)
T
(
x
w
−
y
)
=
1
2
∂
∂
w
(
w
T
x
T
x
w
−
y
T
x
w
−
w
T
x
T
y
+
y
T
y
)
\frac{\partial J(w)}{\partial w}=\frac{1}{2}\frac{\partial }{\partial w}(xw-y)^{2}=\frac{1}{2}\frac{\partial }{\partial w}(xw-y)^{T}(xw-y)=\frac{1}{2}\frac{\partial }{\partial w}(w^{T}x^{T}xw-y^{T}xw-w^{T}x^{T}y+y^{T}y)
∂w∂J(w)=21∂w∂(xw−y)2=21∂w∂(xw−y)T(xw−y)=21∂w∂(wTxTxw−yTxw−wTxTy+yTy)
因为中间两项互为转置,所以
J
(
w
)
J(w)
J(w)=
1
2
(
2
x
T
x
w
−
2
x
T
y
+
0
)
=
x
T
x
w
−
x
T
y
\frac{1}{2}(2x^{T}xw-2x^{T}y+0)=x^{T}xw-x^{T}y
21(2xTxw−2xTy+0)=xTxw−xTy,令
∂
J
(
w
)
∂
w
\frac{\partial J(w)}{\partial w}
∂w∂J(w)=0,则有
w
=
(
x
T
x
)
−
1
x
T
y
w=(x^{T}x)^{-1}x^{T}y
w=(xTx)−1xTy。
在这我们补充几个矩阵的求导法则:
d
x
T
x
d
x
=
2
x
\frac{dx^{T}x}{dx}=2x
dxdxTx=2x、
d
a
x
d
x
=
a
T
\frac{dax}{dx}=a^{T}
dxdax=aT、
d
x
T
a
x
d
x
=
(
a
+
a
T
)
x
,
若
a
是
对
称
阵
,
则
d
x
T
a
x
d
x
=
2
a
x
\frac{dx^{T}ax}{dx}=(a+a^{T})x,若a是对称阵,则\frac{dx^{T}ax}{dx}=2ax
dxdxTax=(a+aT)x,若a是对称阵,则dxdxTax=2ax
五、 总结
本人也才刚刚开始学习,请大家多多包涵。大家在学习机器学习之前可以先学习下线性代数