从概率的观点看分类
首先由一个抽球问题引入:选择盒子1的概率是
2
3
\frac{2}{3}
32,选择盒子1的概率
1
3
\frac{1}{3}
31,从盒子1中取蓝球的概率是
4
5
\frac{4}{5}
54,取绿球的概率是
1
5
\frac{1}{5}
51,从盒子2中取蓝球的概率是
2
5
\frac{2}{5}
52,取绿球的概率是
3
5
\frac{3}{5}
53(典型的条件概率情景)
此时,如果取到一个球是蓝球,那么它是从盒子1取出的概率是:
P
(
B
1
∣
B
l
u
e
)
=
P
(
B
l
u
e
∣
B
1
)
∗
P
(
B
1
)
P
(
B
l
u
e
∣
B
1
)
∗
P
(
B
1
)
+
P
(
B
l
u
e
∣
B
2
)
∗
P
(
B
2
)
P(B_1|Blue)=\frac{P(Blue|B_1)*P(B_1)}{P(Blue|B_1)*P(B_1)+P(Blue|B_2)*P(B_2)}
P(B1∣Blue)=P(Blue∣B1)∗P(B1)+P(Blue∣B2)∗P(B2)P(Blue∣B1)∗P(B1)贝叶斯公式:先验概率,后验概率,条件概率
那么二分类问题也可这样描述:
P
(
C
1
)
P(C_1)
P(C1)类别1的概率 ,
P
(
C
2
)
P(C_2)
P(C2)类别2的概率。
给定一个x,则它属于
C
1
C_1
C1类的概率是
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
)
P(C_1)
P(C1),
P
(
C
2
)
P(C_2)
P(C2)一般比较好计算,主要计算条件概率
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1),即从
C
1
C_1
C1类中sample x的概率。
假设这些x服从高斯分布:则输入是向量x,输出是x的概率
接下来需要找到训练集的均值和方差矩阵,用到的方法是最大似然估计(maximum likelihood estimation),已知总体分布,但其中的参数不知道,所以通过样本来估计参数
此时可以计算出
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1),以及
P
(
C
1
∣
x
)
P(C_1|x)
P(C1∣x)。如果
P
(
C
1
∣
x
)
>
0.5
P(C_1|x)>0.5
P(C1∣x)>0.5,则x属于类别1
注意,此处的x只将其当作二维向量,其实是7维向量(7种特征),即
x
m
=
(
x
1
m
,
x
2
m
,
⋯
,
x
7
m
)
x^m=(x_1^m,x_2^m,\cdots,x_7^m)
xm=(x1m,x2m,⋯,x7m)表示第m个数据。如果全部考虑进去,那么预测值会更准确。
关于概率分布的选择
除了高斯分布,我们还可以选择Bernoulli distributions(二分类),Naive Bayes Classifier(假设分布之间是独立的)
分析一下后验概率
可以看出,x是
C
1
C_1
C1的概率就等于输出层通过一个激活函数的值,此时也得到了w和b。
逻辑回归
P
w
,
b
(
C
1
∣
x
)
=
σ
(
w
∗
x
+
b
)
P_{w,b}(C_1|x)=\sigma(w*x+b)
Pw,b(C1∣x)=σ(w∗x+b),
z
=
w
∗
x
+
b
=
∑
w
i
∗
x
i
+
b
z=w*x+b=\sum w_i*x_i+b
z=w∗x+b=∑wi∗xi+b ,
σ
(
z
)
=
1
1
+
e
x
p
(
−
z
)
\sigma(z)=\frac{1}{1+exp(-z)}
σ(z)=1+exp(−z)1
假设这些数据的产生是基于高斯分布,
f
w
,
b
(
x
)
=
P
w
,
b
(
C
1
∣
x
)
f_{w,b}(x)=P_{w,b}(C_1|x)
fw,b(x)=Pw,b(C1∣x)。则产生这些数据的概率是
L
(
w
,
b
)
=
f
w
,
b
(
x
1
)
f
w
,
b
(
x
2
)
(
1
−
f
w
,
b
(
x
1
)
)
⋯
L(w,b)=f_{w,b}(x^1)f_{w,b}(x^2)(1-f_{w,b}(x^1))\cdots
L(w,b)=fw,b(x1)fw,b(x2)(1−fw,b(x1))⋯
则
w
∗
,
b
∗
=
a
r
g
max
w
,
b
L
(
w
,
b
)
=
a
r
g
min
w
,
b
−
l
n
L
(
w
,
b
)
w^*,b^*=arg \max\limits_{w,b}L(w,b)=arg\min\limits_{w,b}-lnL(w,b)
w∗,b∗=argw,bmaxL(w,b)=argw,bmin−lnL(w,b)
令
C
1
C_1
C1=1,
C
2
C_2
C2=0,即
y
^
1
=
1
\hat{y}^1=1
y^1=1,
y
^
2
=
1
\hat{y}^2=1
y^2=1,
y
^
3
=
0
\hat{y}^3=0
y^3=0,所以,
y
^
n
:
\hat{y}^n:
y^n: 1 for class 1,0 for class two。则
−
l
n
L
(
w
,
b
)
=
∑
−
[
y
^
n
l
n
f
w
,
b
(
x
n
)
+
(
1
−
y
^
n
l
n
(
1
−
f
w
,
b
(
x
n
)
)
]
-lnL(w,b)=\sum -[\hat{y}^n lnf_{w,b}(x^n)+(1-\hat{y}^n ln(1-f_{w,b}(x^n))]
−lnL(w,b)=∑−[y^nlnfw,b(xn)+(1−y^nln(1−fw,b(xn))]
可以把它看成两个伯努利(Bernoulli)分布的交叉熵。
接下来同样利用梯度下降的方法寻找w和b的最优解,对上式求导,有
∂
−
l
n
L
(
w
,
b
)
∂
w
i
=
∑
n
−
(
y
^
n
−
f
w
,
b
(
x
n
)
)
x
i
n
\frac{\partial -lnL(w,b)}{\partial w_i}=\sum_n -(\hat{y}^n-f_{w,b}(x^n))x_i^n
∂wi∂−lnL(w,b)=n∑−(y^n−fw,b(xn))xin
逻辑回归和线性回归的简单对照
多分类问题
根据前面的推到,也可以利用交叉熵,若x属于class1,则
y
^
\hat{y}
y^=[1,0,0];若x属于class2,则
y
^
\hat{y}
y^=[0,1,0],……
参考链接http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html