假设某个体 x x 有个特征,即 x=(x1,x2,...,xd) x = ( x 1 , x 2 , . . . , x d ) , xi x i 是第i个特征,线性模型(linear model)试图通过特征的线性组合得到预测值,即
//是否能有个好的例子
只要能求出 w w 和,便能得到线性模型,该如何求得 w w 和呢?
假设训练数据集有n个个体,即 D={(x1,y1),(x2,y2),...,(xn,yn)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } , xi x i 代表第 i i 个个体,代表第 i i 个个体所对应的真实值。
一.
直观来说,我们可以有两种方案:
1)|f(xi)−yi| 1 ) | f ( x i ) − y i |
2)(f(xi)−yi)2 2 ) ( f ( x i ) − y i ) 2
方案2便是高斯的 最小二乘法(least square method)。我们把所有个体的预测值和真实值之间的差异加总:
解出:
二、 f(x)=wTx+b f ( x ) = w T x + b
接着我们由浅入深,对于多元回归模型 f(x)=wTx+b f ( x ) = w T x + b ,我们仍是希望让预测值和真实值的差异最小。同样,我们仍然选取最小二乘法来衡量预测值和真实值之间的差异:
g(w,b)=(wTx1+b−y1)2+(wTx2+b−y2)2+...+(wTxn+b−yn)2 g ( w , b ) = ( w T x 1 + b − y 1 ) 2 + ( w T x 2 + b − y 2 ) 2 + . . . + ( w T x n + b − y n ) 2
g(w,b)=[(wTx1+b−y1),(wTx2+b−y2),...,(wTxn+b−yn)]⎡⎣⎢⎢⎢⎢(wTx1+b−y1)(wTx2+b−y2)...(wTxn+b−yn)⎤⎦⎥⎥⎥⎥ g ( w , b ) = [ ( w T x 1 + b − y 1 ) , ( w T x 2 + b − y 2 ) , . . . , ( w T x n + b − y n ) ] [ ( w T x 1 + b − y 1 ) ( w T x 2 + b − y 2 ) . . . ( w T x n + b − y n ) ]
推导:
⎡⎣⎢⎢⎢⎢(wTx1+b−y1)(wTx2+b−y2)...(wTxn+b−yn)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢(wTx1+b)(wTx2+b)...(wTxn+b)⎤⎦⎥⎥⎥⎥−⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢⎢(xT1,1)(w,b)T(xT2,1)(w,b)T...(xTn,1)(w,b)T⎤⎦⎥⎥⎥⎥−⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢⎢xT1,1xT2,1...xTn,1⎤⎦⎥⎥⎥⎥(wT,b)−⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥=X(wT,b)−⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥=X(wT,b)−Y=Xw~−Y
[
(
w
T
x
1
+
b
−
y
1
)
(
w
T
x
2
+
b
−
y
2
)
.
.
.
(
w
T
x
n
+
b
−
y
n
)
]
=
[
(
w
T
x
1
+
b
)
(
w
T
x
2
+
b
)
.
.
.
(
w
T
x
n
+
b
)
]
−
[
y
1
y
2
.
.
.
y
n
]
=
[
(
x
1
T
,
1
)
(
w
,
b
)
T
(
x
2
T
,
1
)
(
w
,
b
)
T
.
.
.
(
x
n
T
,
1
)
(
w
,
b
)
T
]
−
[
y
1
y
2
.
.
.
y
n
]
=
[
x
1
T
,
1
x
2
T
,
1
.
.
.
x
n
T
,
1
]
(
w
T
,
b
)
−
[
y
1
y
2
.
.
.
y
n
]
=
X
(
w
T
,
b
)
−
[
y
1
y
2
.
.
.
y
n
]
=
X
(
w
T
,
b
)
−
Y
=
X
w
~
−
Y
注:wTxi+b=(xTi,1)[wb]=(xTi,1)(w,b)T;令X=⎡⎣⎢⎢⎢⎢xT1,1xT2,1...xTn,1⎤⎦⎥⎥⎥⎥,Y=⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥,w~=(wT,b)
注
:
w
T
x
i
+
b
=
(
x
i
T
,
1
)
[
w
b
]
=
(
x
i
T
,
1
)
(
w
,
b
)
T
;
令
X
=
[
x
1
T
,
1
x
2
T
,
1
.
.
.
x
n
T
,
1
]
,
Y
=
[
y
1
y
2
.
.
.
y
n
]
,
w
~
=
(
w
T
,
b
)
所以
g(w~)=(Xw~−Y)T(Xw~−Y)
g
(
w
~
)
=
(
X
w
~
−
Y
)
T
(
X
w
~
−
Y
)
,同样我们希望
g(w~)
g
(
w
~
)
求得最小值,因此我们继续采用偏导数求解:
推导:
g(w~)=(Xw~−Y)T(Xw~−Y)=((Xw~)T−YT)(Xw~−Y)=(Xw~)TXw~−YTXw~−(Xw~)TY+YTY=w~TXTXw~−YTXw~−w~TXTY+YTY g ( w ~ ) = ( X w ~ − Y ) T ( X w ~ − Y ) = ( ( X w ~ ) T − Y T ) ( X w ~ − Y ) = ( X w ~ ) T X w ~ − Y T X w ~ − ( X w ~ ) T Y + Y T Y = w ~ T X T X w ~ − Y T X w ~ − w ~ T X T Y + Y T Y
因为 dw~w~Tdw~=2w~,dw~Tdw~=I d w ~ w ~ T d w ~ = 2 w ~ , d w ~ T d w ~ = I
所以 ∂g(w~)∂w~=2XTXw~−2XTY=0,XTXw~=XTY ∂ g ( w ~ ) ∂ w ~ = 2 X T X w ~ − 2 X T Y = 0 , X T X w ~ = X T Y
最后的结果是 w~=(XTX)−1XTY w ~ = ( X T X ) − 1 X T Y