我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
已经有人记了笔记(很用心,强烈推荐):
https://github.com/Sakura-gh/ML-notes
本节对应笔记:https://sakura-gh.github.io/ML-notes/ML-notes-html/6_Classification.html
本节内容综述- 背景介绍,什么是“分类”问题。以宝可梦属性到种类的映射为例。
- 分类问题不能直接使用 linear regression 模型,因为回归模型会 penalize to the examples that are "too correct"(Bishop, P186) 。
- 对于分类模型,应该在 f ( x ) f(x) f(x) 内置去呗类别的函数,并且损失函数设为 L ( f ) = ∑ n δ ( f ( x n ) ≠ y ^ n ) L(f) = \sum_n \delta (f(x^n) \neq \hat{y}^n) L(f)=∑nδ(f(xn)=y^n),但是没办法微分。SVM是一个解决方案,但是今天先不讲这个。
- 基于“盒子抽球”,从二元分类问题起,讨论一个贝叶斯/条件概率模型问题。
- 在神奇宝贝分类的例子中,进行首先基于数据进行一个高斯分布的拟合(使用极大似然法),这样就可以基于这个高斯分布计算出各个单个数据的采样的几率。
- 接着,基于 P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(C_1|x) = \frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1) + P(x|C_2)P(C_2)} P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)这个公式,可以进行分类的预测。如果 P ( C 1 ∣ x ) > 0.5 P(C_1|x)>0.5 P(C1∣x)>0.5,则判断为 C 1 C_1 C1类。
- 改进模型,我们可以为描述两种数据的高斯分布赋予相同的方差 Σ \Sigma Σ,这样参数减少;使用极大似然估计的话,则使用 m a x i m i n z i n g t h e l i k e l i h o o d L ( μ 1 , μ 2 , Σ ) maximinzing\; the\; likelihood\; L(\mu^1, \mu^2, \Sigma) maximinzingthelikelihoodL(μ1,μ2,Σ)。 Σ \Sigma Σ是两个类别数据方差的加权。
- 公用方差后,准确率从 54% 提升到了 73% 。
- 总结了“几率模型”的三步走,见[小细节](#Three Steps of 几率模型)。
- 为什么用 高斯分布模型 作为几率模型?实际上,你可以选择你喜欢的、你认为合适的。
- 如果你假设各个维度都相互独立,那么你就是在使用朴素贝叶斯分类。
- 对于后验概率 posterior probability 进行了推导,将其与 Sigmoid 函数进行了联系。很巧妙,见[小细节](#Posterior Probability & Sigmoid Function)。我们将得出使用 wx+b 以及 Sigmoid 作为激活函数的合理性,很巧妙。
regression 的方法不适于 classification

如上图,如果使用 regression 的模型来进行分类的话,对于一些远大于1的点,分类器则会去接近它们,进而产生偏差。这是因为在 regression 中,我们要求蓝色的点越接近 1 越好,而非“大于1就可以了”。
因此不可以使用简单的 regression 模型来做分类。
Three Steps of 几率模型

Posterior Probability & Sigmoid Function

有了如上声明,我们推导一下 z z z 的具体内容:
- 数学证明具体略;
- 思路为对 z = l n A B = l n A + l n B z=lnAB=lnA + lnB z=lnAB=lnA+lnB,并约因数,并展开;
- 整理结束后,基于 ∑ 1 = ∑ 2 \sum_1 = \sum_2 ∑1=∑2 进行大幅度简化;
- 进行整理,最后得到如下公式。
z = w T x + b z = w^T x + b z=wTx+b
其中,
- w T = ( μ 1 − μ 2 ) T ∑ − 1 x w^T = (\mu^1 - \mu^2)^T \sum^{-1}x wT=(μ1−μ2)T∑−1x
- b = − 1 2 ( μ 1 ) T ( Σ 1 ) − 1 μ 1 + 1 2 ( μ 2 ) T ( Σ 2 ) − 1 μ 2 + ln N 1 N 2 b=-\frac{1}{2}\left(\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1} \mu^{1}+\frac{1}{2}\left(\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1} \mu^{2}+\ln \frac{N_{1}}{N_{2}} b=−21(μ1)T(Σ1)−1μ1+21(μ2)T(Σ2)−1μ2+lnN2N1
因此,可以将复杂的概率公式写为:
P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P(C_1|x) = \sigma(w \cdot x + b) P(C1∣x)=σ(w⋅x+b)
我们得出了:
- 一元线性函数的合理性;
- 使用 Sigmoid 作为激活函数的合理性。
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv15059