课程第三部分讲的是简单的分类问题,从此也引出了deep learning。
Probabilistic Generative Model
线性回归分类的局限
从上图可以看到,因为右图存在过于正确样本,使得machine learning会得到紫线的结果,而这直观上便可以发现是不理想的。
自己感觉因为线性回归目标是使得所有样本预测的值都尽可能准确,本身就会受到极端样本的影响,完成分类的时候本身对于结果要求并不是很精准,所以使用regression便可能因为样本原因而表现不好。
模型函数
如果从概率角度来看,是不是可以计算输入属于每一类别的概率,然后比较得出结论呢?
这里就可以要使用贝叶斯了:
贝叶斯公式要做的很简单,通过已有样本中不同标签下特征的分布来推测某一特征属于该标签的概率。如果假设样本特征相互独立,还可以得到结论:
P
(
C
1
∣
x
⃗
)
=
∏
i
=
0
N
P
(
C
1
∣
x
i
)
P(C_1|\vec{x}) = \prod_{i=0}^N{P(C_1|x_i)}
P(C1∣x)=i=0∏NP(C1∣xi)
在决定使用贝叶斯公式之后便需要确定
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1)的表达形式,课程中使用了高斯公式来表示:
f
μ
,
Σ
(
x
)
=
1
(
2
π
)
D
/
2
1
∣
Σ
∣
1
/
2
e
x
p
{
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
}
f_{\mu,\Sigma}(x) = \frac{1}{(2\pi)^{D/2}} \frac{1}{|\Sigma|^{1/2}}exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\}
fμ,Σ(x)=(2π)D/21∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}
为防止过拟合在这里令所有分类共享协方差矩阵 Σ \Sigma Σ。
获得参数
为求得函数参数,课程中引入最大似然估计来获得相应参数取值:
至于选择最大似然估计而不是均方差的原因会在下面一并说明。
Logistic Regression
引入
对于上面的probabilistic generative model函数表达式进行整理:
经过数学推导有:
则:
P
(
C
1
∣
x
)
=
σ
(
w
⋅
x
+
b
)
P(C_1|x) = \sigma(w\cdot x + b)
P(C1∣x)=σ(w⋅x+b)
在Probabilistic Generative Model中假设样本分布符合高斯分布然后求得高斯分布相关参数,而在Logistic Regression中则尝试直接去求取相关参数
w
w
w,
b
b
b。
损失函数
该模型可以使用线性回归中的损失函数吗?
不妨我们先对于
(
f
w
,
b
(
x
)
−
y
^
)
2
(f_{w,b}(x) - \hat{y})^2
(fw,b(x)−y^)2进行求导,得:
∂
(
f
w
,
b
(
x
)
−
y
^
)
2
∂
w
i
=
2
(
f
w
,
b
(
x
)
−
y
^
)
∂
f
w
,
b
(
x
)
∂
z
∂
z
∂
w
i
=
2
(
f
w
,
b
(
x
)
−
y
^
)
f
w
,
b
(
x
)
(
1
−
f
w
,
b
(
x
)
)
x
i
\begin{aligned} \frac{\partial (f_{w,b}(x) - \hat{y})^2}{\partial w_i} &= 2(f_{w,b}(x) - \hat{y})\frac{\partial f_{w,b}(x)}{\partial z} \frac{\partial z}{\partial w_i}\\ &=2(f_{w,b}(x) - \hat{y}) f_{w,b}(x)(1- f_{w,b}(x))x_i\\ \end{aligned}
∂wi∂(fw,b(x)−y^)2=2(fw,b(x)−y^)∂z∂fw,b(x)∂wi∂z=2(fw,b(x)−y^)fw,b(x)(1−fw,b(x))xi
由上式可以看出当样本接近目标值或者离目标值很远时都会使得该函数值接近于零,是没有办法满足使用需求的,课程中还给出了该方法下损失函数和即将介绍的交叉熵之间的对比:
因此,会选择最大似然估计进行计算,因为这里很难像probabilitic generative model一样直接对参数进行计算,故引入了交叉熵:
因此可以推导出参数的更新公式:
进一步理解
线性回归和逻辑回归对比
Discriminative v.s. Generative
正如同在引入逻辑回归时所讲的,probabilistic generative model 是先假设其样本分布符合高斯分布的,而logistic regression则没有该假设,这也显现出来generative model的特点:
- 因为generative model创建时包含假设,这在样本较少或者假设成立时表现要好于discriminative model,但是在样本数多并且假设不完全成立时则相反。
- 因为generative model包含一定假设,这使得模型专注于假设下的特征,更具有鲁棒性。
- generative model可以从通过不同的途径获取(有点难理解),课程中以语音识别中词频判断是通过文本信息训练得到的。