主要学习目标
我们主要的学习目的是简单看一遍西瓜书里面的内容,尽可能的对各个模型都有一定的了解,在本节课程当中,我会给大家分享机器学习相关的的内容,我主要是在学习吴恩达老师最新的机器学习的视频,但是学完之后还是觉得较为空泛,所以在此,借机会再重新复习
线性模型
线性模型可以说是机器学习当中最基础的模型之一了,其主要的形式如下
给定由 d 个属性描述的示例
x
=
(
x
1
;
x
2
;
…
;
x
d
)
\boldsymbol{x}=\left(x_{1} ; x_{2} ; \ldots ; x_{d}\right)
x=(x1;x2;…;xd), 其中
x
i
x_{i}
xi 是
x
\boldsymbol{x}
x 在第 i 个属 性上的取值, 线性模型
(
l
i
n
e
a
r
m
o
d
e
l
)
(linear\ model)
(linear model)试图学得一个通过属性的线性组合来进行 预测的函数, 即
f ( x ) = w 1 x 1 + w 2 x 2 + … + w d x d + b f(\boldsymbol{x})=w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{d} x_{d}+b f(x)=w1x1+w2x2+…+wdxd+b
一般用向量形式写成
f
(
x
)
=
w
T
x
+
b
f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b
f(x)=wTx+b
该模型的优点在于
- 可解释性强
- 可以根据权重来判断该变量是否重要
线性回归
线性回归首先要实现对变量的表示,尤其要注意对离散变量的表示,比如说在一列数据当中有男生和女生这两个变量,我们就可以使用
0
0
0和
1
1
1分别表示可以用0表示男生,1表示女生,然而像"西瓜",“南瓜”,“黄瓜”,则可以使用到
h
o
t
c
o
d
e
hot \ code
hot code的方法,也就是分别表示为
(
0
,
0
,
1
)
,
(
0
,
1
,
0
)
,
(
1
,
0
,
0
)
(0,0,1),(0,1,0),(1,0,0)
(0,0,1),(0,1,0),(1,0,0)
这样就基本上可以实现变量的表示了,那么我们接下来就要对模型进行训练得到
w
w
w和
b
b
b的值,这个就需要我们明白线性模型的目标是使用
f
(
x
i
)
f(\boldsymbol{x_i})
f(xi)逼近已有值(也就是数据集当中给到的)
y
i
y_i
yi
均方误差
在比较
f
(
x
i
)
f(\boldsymbol{x_i})
f(xi)和
y
i
y_i
yi的过程我们可以简单表示为该图像
其中点表示样本,直线是拟合的函数,均方误差的作用就是尽可能让图像和样本点之间的距离为最小,尽可能的拟合,所以就可以得出均方误差的概念如下
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
\sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2}
i=1∑m(f(xi)−yi)2
所以计算
w
w
w和
b
b
b的方法就转变为
(
w
∗
,
b
∗
)
=
arg
min
(
w
,
b
)
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
=
arg
min
(
w
,
b
)
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
.
\begin{aligned} \left(w^{*}, b^{*}\right) &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2} \\ &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} . \end{aligned}
(w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2.
这里分别将
w
w
w和
b
b
b看成变量,然后使用到概率论当中的极大似然估计的计算方法得出相关的结果,
那么分别对
w
w
w和
b
b
b分别求导可以得到
w
=
∑
i
=
1
m
y
i
(
x
i
−
x
ˉ
)
∑
i
=
1
m
x
i
2
−
1
m
(
∑
i
=
1
m
x
i
)
2
\begin{array}{c} w=\frac{\displaystyle\sum_{i=1}^{m} y_{i}\left(x_{i}-\bar{x}\right)}{\displaystyle\sum_{i=1}^{m} x_{i}^{2}-\frac{1}{m}\left(\sum_{i=1}^{m} x_{i}\right)^{2}} \\ \end{array}
w=i=1∑mxi2−m1(i=1∑mxi)2i=1∑myi(xi−xˉ)
b
=
1
m
∑
i
=
1
m
(
y
i
−
w
x
i
)
\begin{array}{c} b=\frac{1}{m} \displaystyle\sum_{i=1}^{m}\left(y_{i}-w x_{i}\right) \end{array}
b=m1i=1∑m(yi−wxi)
如果使用到矩阵的写法,可以把
w
w
w和
b
b
b写成
w
^
=
(
w
;
b
)
\hat{\boldsymbol{w}}=(\boldsymbol{w} ; b)
w^=(w;b),我们就可以写出
X
=
(
x
11
x
12
…
x
1
d
1
x
21
x
22
…
x
2
d
1
⋮
⋮
⋱
⋮
⋮
x
m
1
x
m
2
…
x
m
d
1
)
=
(
x
1
T
1
x
2
T
1
⋮
⋮
x
m
T
1
)
\mathbf{X}=\left(\begin{array}{ccccc} x_{11} & x_{12} & \ldots & x_{1 d} & 1 \\ x_{21} & x_{22} & \ldots & x_{2 d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m 1} & x_{m 2} & \ldots & x_{m d} & 1 \end{array}\right)=\left(\begin{array}{cc} \boldsymbol{x}_{1}^{\mathrm{T}} & 1 \\ \boldsymbol{x}_{2}^{\mathrm{T}} & 1 \\ \vdots & \vdots \\ \boldsymbol{x}_{m}^{\mathrm{T}} & 1 \end{array}\right)
X=⎝
⎛x11x21⋮xm1x12x22⋮xm2……⋱…x1dx2d⋮xmd11⋮1⎠
⎞=⎝
⎛x1Tx2T⋮xmT11⋮1⎠
⎞
接下来可以写出
w
^
∗
=
arg
min
w
^
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
\hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})
w^∗=w^argmin(y−Xw^)T(y−Xw^)
对其进行求导(注意到要写成满秩矩阵或正定矩阵)
w
^
∗
=
(
X
T
X
)
−
1
X
T
y
\hat{\boldsymbol{w}}^{*}=\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}
w^∗=(XTX)−1XTy
所以可以得出
f
(
x
^
i
)
=
x
^
i
T
(
X
T
X
)
−
1
X
T
y
f\left(\hat{\boldsymbol{x}}_{i}\right)=\hat{\boldsymbol{x}}_{i}^{\mathrm{T}}\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}
f(x^i)=x^iT(XTX)−1XTy
推广
除了均方误差,还有另一种实现拟合的误差叫做平均误差
∑
i
=
1
m
∣
f
(
x
i
)
−
y
i
∣
\sum_{i=1}^{m}\left|f\left(x_{i}\right)-y_{i}\right|
i=1∑m∣f(xi)−yi∣
但是在求导的过程当中均方误差求导更加方便
对数几率回归
实现二分类任务,将
y
y
y标记为
0
0
0和
1
1
1可以得到
y
=
{
0
,
z
<
0
0.5
,
z
=
0
1
,
z
>
0
y=\left\{\begin{array}{cc} 0, & z<0 \\ 0.5, & z=0 \\ 1, & z>0 \end{array}\right.
y=⎩
⎨
⎧0,0.5,1,z<0z=0z>0
但是为了实现这样的分类,并不容易,因为其是离散型的,并不容易进行,所以要找到一个替代模型,这其中就包括我们要讲的对数几率回归
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
其中
z
z
z表示的是
z
=
w
T
x
+
b
z=w^Tx+b
z=wTx+b
若将上式可以调整为
ln
y
1
−
y
=
w
T
x
+
b
\ln \frac{y}{1-y}=w^{\mathrm{T}} \boldsymbol{x}+b
ln1−yy=wTx+b
用概率的方法去做可以得到
p
(
y
=
1
∣
x
)
=
e
w
T
x
+
b
1
+
e
w
T
x
+
b
p
(
y
=
0
∣
x
)
=
1
1
+
e
w
T
x
+
b
\begin{array}{l} \Large p(y=1 \mid \boldsymbol{x})=\frac{e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \\ \Large p(y=0 \mid \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \end{array}
p(y=1∣x)=1+ewTx+bewTx+bp(y=0∣x)=1+ewTx+b1
对数似然
ℓ
(
w
,
b
)
=
∑
i
=
1
m
ln
p
(
y
i
∣
x
i
;
w
,
b
)
\ell(\boldsymbol{w}, b)=\sum_{i=1}^{m} \ln p\left(y_{i} \mid \boldsymbol{x}_{i} ; \boldsymbol{w}, b\right)
ℓ(w,b)=i=1∑mlnp(yi∣xi;w,b)
进行改写成如下(重写似然项)
p
(
y
i
∣
x
i
;
w
,
b
)
=
y
i
p
1
(
x
^
i
;
β
)
+
(
1
−
y
i
)
p
0
(
x
^
i
;
β
)
p\left(y_{i} \mid \boldsymbol{x}_{i} ; \boldsymbol{w}, b\right)=y_{i} p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)+\left(1-y_{i}\right) p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)
p(yi∣xi;w,b)=yip1(x^i;β)+(1−yi)p0(x^i;β)
可以使用数值优化算法得到最优解
β
∗
=
arg
min
β
ℓ
(
β
)
\boldsymbol{\beta}^{*}=\underset{\boldsymbol{\beta}}{\arg \min }\ \ell(\boldsymbol{\beta})
β∗=βargmin ℓ(β)
对数几率回归的解释
虽然"对数几率回归"名称叫做回归那么需要注意到的是它所做的任务是分类学习,其优点在于
- 避免了假设分布的不准确性
- 不仅预测类别,可以得到近似概率预测
总结
在本次课程当中我们学习并了解到了机器学习的线性回归模型的基本内容,主要意识到要使用均方误差来对我们所求的值进行拟合,让我们继续努力