摘要
文章在介绍分类的操作步骤时,类比Regression的三个步骤,提出对于离散函数的解决办法。并提出结果不佳时,通过减少参数量来优化的方法。
1 分类
1.1 理想的分类步骤
第一步,将要分类的东西数字化,使其可以做函式的输入。
第二步,找到理想的分类函数,下面以一个二值分类为例:
上图中利用
δ
\delta
δ函数设计Loss function,可以训练,但是因为离散的原因,L(f)不可微分
1.2 现实的分类做法
下面介绍一个新解决办法(前提是class独立):
此方法用到贝叶斯公式【执果索因,即某事件发生,求在此事件发生的条件下,属于完备事件组的某一部分的概率】
对于训练集数据,我们根据数据的标签知道数据是属于class1或是class2,估测prior probability
P
(
C
i
)
P(C_i)
P(Ci)和
P
(
x
∣
C
i
)
P(x|C_i)
P(x∣Ci),然后假设每一个class的概率分布,最后估测
P
(
C
i
∣
x
)
P(C_i|x)
P(Ci∣x)。
这一整套想法,叫做Generative Model:
由training data估测出红框中的四个值后,就可以计算所有
x
x
x产生的概率,进而知道概率分布。
P
(
x
)
=
P
(
x
∣
C
1
)
P
(
C
1
)
+
P
(
x
∣
C
2
)
P
(
C
2
)
P(x)=P(x|C_1)P(C_1) + P(x|C_2)P(C_2)
P(x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)
下面以二元分类为例:
由training data先算出
P
(
C
1
)
P(C_1)
P(C1)和
P
(
C
2
)
P(C_2)
P(C2)
那么 P ( x ∣ C 1 ) = ? P(x|C_1)=? P(x∣C1)=? 【求从水系宝可梦中抽出海龟的概率?】
求
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1)第一步:数字化,每一个宝可梦都由特征值构成的向量表示
将training data的79个数据可视化如下图
求
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1)第二步,假设程式是一个高斯分布,现在需要求出具体参数
μ
∗
,
Σ
∗
\mu^*, \Sigma^*
μ∗,Σ∗【为什么考虑高斯分布?根据坐标图,样本点的分布符合高斯分布(等高线画法)】
那么,如何计算出
μ
∗
,
Σ
∗
\mu^*, \Sigma^*
μ∗,Σ∗呢??
方法:Maximum Likelihood(极大似然函数法)
似然函数是一种关于统计模型中的参数的函数。
对同一个似然函数,其所代表的模型中,某项参数值具有多种可能,但如果存在一个参数值,使得似然函数值达到最大的话,那么这个值就是该项参数最为“合理”的参数值。
概率和似然性有着明显区别:
概率:已知一些参数,预测接下来在观测上所得到的结果。
似然性:已知某些观测所得到的结果,对有关参数进行猜测。似然性代表某个参数为特定值的可能性。
在已观察到事件A的情况下,参数 p H p_H pH在不同值的似然性为
L ( p H ∣ A ) = P ( A ∣ p H ) L(p_H|A)=P(A|p_H) L(pH∣A)=P(A∣pH)
似然函数用来了解当参数 p H p_H pH改变时,似然性怎么变化,用来寻找最大可能性的 p H p_H pH值会是多少
定义
L
(
μ
,
Σ
)
L(\mu,\Sigma)
L(μ,Σ)如下图
对
L
(
μ
,
Σ
)
=
∏
f
μ
,
Σ
(
x
n
)
L(\mu,\Sigma)=\prod f_{\mu,\Sigma}(x^n)
L(μ,Σ)=∏fμ,Σ(xn)求微分即可解得
μ
∗
,
Σ
∗
\mu^*, \Sigma^*
μ∗,Σ∗,也就是求出了
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1)
可以分类了
将值代入即可,以0.5为界,得到分类结果
2 优化
2.1 二维高斯分布
如果结果不理想,可考虑参数过多导致过拟合。上例中两个class的高斯分布参数
Σ
\Sigma
Σ可共用一个数值来减少参数
对
Σ
\Sigma
Σ计算加权平均
再机器学习宝可梦的七维向量,可以得到较高正确率
2.2 一维高斯分布
假设
x
1
,
x
2
,
x
3
.
.
.
x_1,x_2,x_3...
x1,x2,x3...产生的概率都是一维高斯分布,那么
Σ
\Sigma
Σ将变成对角阵,更减少参数量,Model更简单。
本例不适合用一维,一个class对应一个Model,Model不同的feature间的协方差【差异】是有必要的,比如宝可梦的战斗力和防御力应该是正相关的。
Tip:如果每个class的各个feature之间都独立,使用Naive Bayes Classifier
3 总结与展望
首先,分类也可三步走,Model-Goodness-Find the best function(easy!)
其次,介绍优化参数的方法。要清楚选择何种模型是根据数据自己判断【dimension之间的联系决定用一维正态分布、二维正态分布或伯努利分布】。
接下来将会学习Logistic Regression等分类方法,再逐步涉及深度学习神经网络等。