线性分类
一、总体框架
1、机器学习分类
机器学习可以分为:
(1)、频率派:统计机器学习。
(2)、贝叶斯派:概率图模型。
2、线性回归
线性回归的特点:
(1)、线性,其他:
⇒
\Rightarrow
⇒属性非线性:特征转换(例如:多项式回归)
⇒ \Rightarrow ⇒全局非线性(全局线性:直接根据判别函数的值进行分类):线性分类(例如激活函数)
⇒ \Rightarrow ⇒系数非线性(系数线性:系数不变,唯一分类器):神经网络、感知机(感知机的系数可能改变,而神经网络的基础为感知机算法)
(2)、全局性(样本空间的全局性,不做分割处理),其他:
⇒
\Rightarrow
⇒线性样条回归(对样本空间分段线性回归),决策树(将样本空间分割)
(3)、数据未加工,其他:
⇒
\Rightarrow
⇒PCA,流形
3、线性回归 VS 线性分类
线性回归
→
D
i
m
e
n
s
i
o
n
R
e
d
u
c
t
i
o
n
激
活
函
数
\xrightarrow[Dimension Reduction]{激活函数}
激活函数DimensionReduction线性分类:
y
=
f
(
w
T
+
b
)
,
{
y
∈
{
−
1
,
1
}
y
∈
[
0
,
1
]
y =f(w^T+b),\left\{\begin{aligned}y\in\{-1,1\}\\y\in[0,1]\end{aligned}\right.
y=f(wT+b),{y∈{−1,1}y∈[0,1]
因此线性分类的关键是找到
w
T
+
b
w^T+b
wT+b和激活函数。
线性回归重在拟合曲线,线性分类基于线性回归,加上激活函数之后,根本的目的是进行分类,其值域只有两种情况: { y ∈ { − 1 , 1 } 硬 分 类 y ∈ [ 0 , 1 ] 软 分 类 \{\begin{aligned}y\in\{-1,1\}硬分类\\y\in [0,1]软分类\end{aligned} {y∈{−1,1}硬分类y∈[0,1]软分类
4、线性分类的类别
线 性 分 类 = { y ∈ { − 1 , 1 } , 硬 分 类 ( 直 接 判 别 类 别 ) ⇒ { 判 别 函 数 模 型 : F i s h e r 、 感 知 机 y ∈ [ 0 , 1 ] , 软 分 类 ( 与 概 率 有 关 ) ⇒ { 生 成 式 模 型 : p ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) , 需 要 先 对 类 别 本 身 进 行 研 究 判 别 式 模 型 : 直 接 计 算 p ( y ∣ x ) 线性分类=\left\{\begin{array}{l}y\in\{-1,1\},硬分类(直接判别类别)\Rightarrow\{判别函数模型:Fisher、感知机\\ y\in[0,1],软分类(与概率有关)\Rightarrow\{\begin{array}{l}生成式模型:p(y|x)=\frac{p(x|y)p(y)}{p(x)},需要先对类别本身进行研究\\判别式模型:直接计算p(y|x)\end{array}\end{array}\right. 线性分类=⎩⎨⎧y∈{−1,1},硬分类(直接判别类别)⇒{判别函数模型:Fisher、感知机y∈[0,1],软分类(与概率有关)⇒{生成式模型:p(y∣x)=p(x)p(x∣y)p(y),需要先对类别本身进行研究判别式模型:直接计算p(y∣x)
常见的线性分类方法都为统计机器学习,以下从模型、loss function、优化问题三个方面对常见线性分类器进行介绍。
二、感知机
感知机算法为硬线性分类器,因此为判别函数模型。
1、数据
数据
X
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
X=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
X={(x1,y1),(x2,y2),...,(xN,yN)}
分错的样本
D
=
{
(
x
i
,
y
i
)
∣
y
i
f
(
x
i
)
<
0
}
D=\{(x_i,y_i)|y_if(x_i)<0\}
D={(xi,yi)∣yif(xi)<0}
2、思想
错误驱动。
3、模型
判别函数模型, f ( x ) = s g n ( w T x + b ) , x ∈ R n , w ∈ R n . f(x)=sgn(w^Tx+b),x\in R^n,w\in R^n. f(x)=sgn(wTx+b),x∈Rn,w∈Rn.
4、策略
感知机算法为线性,所以核心是
f
(
w
T
+
b
)
⇒
f(w^T+b)\\\Rightarrow
f(wT+b)⇒怎样建立目标函数,即找到loss function
⇒
l
o
s
s
f
u
n
c
t
i
o
n
=
∑
i
∈
D
I
[
y
i
(
w
T
x
i
+
b
)
<
0
]
\Rightarrow loss function~=\sum\limits_{i\in D}I[y_i(w^Tx_i+b)<0]
⇒lossfunction =i∈D∑I[yi(wTxi+b)<0]
⇒
\Rightarrow
⇒示性函数不连续,不好优化
⇒ l o s s f u n c t i o n = ∑ i ∈ D ( − [ y i ( w T x i + b ) ] ) ⇒ m i n l o s s f u n c t i o n ⇒ 梯 度 下 降 ⇒ ( 批 量 梯 度 下 降 B G D ) ∂ ( l o s s f u n c t i o n ) ∂ w = ∑ i ∈ D − y i x i ⇒ ( 随 机 梯 度 下 降 S G D ) w k + 1 = w k − ( − y ( w T x b ) ) = w k + λ y ( w T x + b ) \Rightarrow loss~function=\sum\limits_{i\in D}(-[y_i(w^Tx_i+b)])\\\Rightarrow min~loss~function\\ \\\Rightarrow梯度下降\\\\\Rightarrow(批量梯度下降BGD)\frac{\partial{(loss~function)}}{\partial w}=\sum\limits_{i\in D}-y_ix_i\\\Rightarrow(随机梯度下降SGD)w_{k+1}=w_k-(-y(w^Tx_b))=w_k+\lambda y(w^Tx+b) ⇒loss function=i∈D∑(−[yi(wTxi+b)])⇒min loss function⇒梯度下降⇒(批量梯度下降BGD)∂w∂(loss function)=i∈D∑−yixi⇒(随机梯度下降SGD)wk+1=wk−(−y(wTxb))=wk+λy(wTx+b)
5、算法
使用SGD,并将样本数据写为增广形式:
(1)、当
x
i
∈
w
1
,
y
i
=
1
x_i\in w_1,y_i=1
xi∈w1,yi=1,若其分类错误,则
w
k
+
1
=
w
k
+
λ
y
i
x
i
w_{k+1}=w_k+\lambda y_ix_i
wk+1=wk+λyixi
(2)、当
x
i
∈
w
2
,
y
i
=
−
1
,
x_i\in w_2,y_i=-1,
xi∈w2,yi=−1,若其分类错误,则
w
k
+
1
=
w
k
−
λ
y
i
x
i
w_{k+1}=w_k-\lambda y_ix_i
wk+1=wk−λyixi
综上,感知机算法可总结为:
(1)、数据处理:将数据写为增广的形式,并对
x
i
∈
w
2
的
数
据
都
乘
上
(
−
1
)
x_i\in w_2的数据都乘上(-1)
xi∈w2的数据都乘上(−1)。
(2)、选取初值: w 0 与 λ w_0与\lambda w0与λ。
(3)、开始一轮的学习,对每个样本:
w
k
+
1
=
{
w
k
,
w
k
T
x
i
>
0
w
k
+
λ
x
i
,
w
k
T
x
i
<
0
w_{k+1}=\left\{\begin{array}{l}w_{k},~~w^T_kx_i>0\\w_k+\lambda x_i,~~w^T_kx_i<0\end{array}\right.
wk+1={wk, wkTxi>0wk+λxi, wkTxi<0
一轮过程中,若所有的样本都分类正确则结束,但凡有一个分类错误,本轮结束之后还要下一轮进行检验是否将所有样本都分对。
6、总结
感知机算法总结 { 模 型 : 错 误 驱 动 l o s s f u n c t i o n : 0 , 1 损 失 优 化 问 题 : 为 了 算 法 实 现 的 方 便 , 对 d a t a 进 行 预 处 理 , 增 广 + 负 样 本 ∗ ( − 1 ) \{\begin{array}{l}模型:错误驱动\\loss~function:0,1损失\\优化问题:为了算法实现的方便,对data进行预处理,增广+负样本*(-1)\end{array} {模型:错误驱动loss function:0,1损失优化问题:为了算法实现的方便,对data进行预处理,增广+负样本∗(−1)
三、Fisher线性判别
Fisher为线性硬分类,所以为判别函数模型。
1、数据
D
a
t
a
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
,
x
i
Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},x_i
Data={(x1,y1),(x2,y2),...,(xN,yN)},xi为增广形式。
其中
X
1
X_1
X1为
w
1
w_1
w1样本集合,
X
2
X_2
X2为
w
2
w_2
w2样本集合。
∣
X
1
∣
=
N
1
,
∣
X
2
∣
=
N
2
,
N
=
N
1
+
N
2
|X_1|=N_1,|X_2|=N_2,N=N_1+N_2
∣X1∣=N1,∣X2∣=N2,N=N1+N2。
2、思想
最小化类内距离,最大化类间距离。
Fisher将数据映射为一维数据,通过阈值进行线性分类,如上图所示:即将 w w w视为一数轴,将样本数据映射到数轴 w w w,则此时样本为 w w w上的点,找到两类的分开阈值进行分类。
分类思想为类内小,类间大,这里的类指的是映射之后的点,因此Fisher算法的目标为求最佳映射方向使得类间距离最大,类内距离最小。
3、模型
将数据映射到
w
w
w方向,长度为
∣
x
∣
c
o
s
θ
|x|cos\theta
∣x∣cosθ,而
w
T
x
=
∣
w
∣
∣
x
∣
c
o
s
θ
w^Tx=|w||x|cos\theta
wTx=∣w∣∣x∣cosθ,对所有的数据,
∣
w
∣
|w|
∣w∣是相同的,所以用
w
T
x
w^Tx
wTx表示
x
x
x在
w
w
w方向上的映射。
将数据映射到
w
w
w方向后考虑如何表示类内距离和类间距离。
(1)、类内距离
考虑样本到均值,即方差(此时的样本为映射后的数据,为一维数据,所以是方差)
m
1
=
1
N
1
∑
i
∈
N
1
w
T
x
i
m_1=\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i
m1=N11i∈N1∑wTxi
m
1
=
1
N
2
∑
i
∈
N
2
w
T
x
i
m_1=\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i
m1=N21i∈N2∑wTxi
则类内距离的表示为:
X
1
:
1
N
1
∑
i
∈
N
1
(
w
T
x
i
−
m
1
)
2
X_1:\frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-m_1)^2
X1:N11i∈N1∑(wTxi−m1)2
X
2
:
1
N
2
∑
i
∈
N
2
(
w
T
x
i
−
m
2
)
2
X_2:\frac{1}{N_2}\sum\limits_{i\in N_2}(w^Tx_i-m_2)^2
X2:N21i∈N2∑(wTxi−m2)2
(2)、类间距离:用每个类的均值代表样本,类间剧为均值差。
X 1 与 X 2 类 间 距 离 : ( m 1 − m 2 ) 2 = ( 1 N 1 ∑ i ∈ N 1 w T x i − 1 N 2 ∑ i ∈ N 2 w T x i ) X_1与X_2类间距离:(m_1-m_2)^2=(\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i-\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i) X1与X2类间距离:(m1−m2)2=(N11i∈N1∑wTxi−N21i∈N2∑wTxi)
(3)、目标求最佳映射方向,根据类间和类内距离构建目标:
m
1
=
1
N
1
∑
i
∈
N
1
w
T
x
i
=
w
T
1
N
1
∑
i
∈
N
1
x
i
=
w
T
m
1
~
m_1=\frac{1}{N_1}\sum\limits_{i\in N_1}w^Tx_i=w^T\frac{1}{N_1}\sum\limits_{i\in N_1}x_i=w^T\tilde{m_1}
m1=N11i∈N1∑wTxi=wTN11i∈N1∑xi=wTm1~
m
2
=
1
N
2
∑
i
∈
N
2
w
T
x
i
=
w
T
1
N
2
∑
i
∈
N
2
x
i
=
w
T
m
2
~
m_2=\frac{1}{N_2}\sum\limits_{i\in N_2}w^Tx_i=w^T\frac{1}{N_2}\sum\limits_{i\in N_2}x_i=w^T\tilde{m_2}
m2=N21i∈N2∑wTxi=wTN21i∈N2∑xi=wTm2~
其中:
m
1
~
=
1
N
1
∑
i
∈
N
1
x
i
,
m
2
~
=
1
N
2
∑
i
∈
N
2
x
i
\tilde{m_1}=\frac{1}{N_1}\sum\limits_{i\in N_1}x_i~~~,~~~\tilde{m_2}=\frac{1}{N_2}\sum\limits_{i\in N_2}x_i
m1~=N11i∈N1∑xi , m2~=N21i∈N2∑xi
对类间距离:
(
m
1
−
m
2
)
2
=
(
w
T
m
1
~
−
w
T
m
2
~
)
2
=
w
T
(
m
1
~
−
m
2
~
)
(
m
1
~
−
m
2
~
)
T
w
=
w
T
S
b
w
(m_1-m_2)^2=(w^T\tilde{m_1}-w^T\tilde{m_2})^2=w^T(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^Tw=w^TS_bw
(m1−m2)2=(wTm1~−wTm2~)2=wT(m1~−m2~)(m1~−m2~)Tw=wTSbw
其中,
S
b
=
(
m
1
~
−
m
2
~
)
(
m
1
~
−
m
2
~
)
T
S_b=(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^T
Sb=(m1~−m2~)(m1~−m2~)T
对类内距离:
1
N
1
∑
i
∈
N
1
(
w
T
x
i
−
m
1
)
2
=
1
N
1
∑
i
∈
N
1
(
w
T
x
i
−
w
T
m
1
~
)
2
=
1
N
1
∑
i
∈
N
1
w
T
(
x
i
−
m
1
~
)
2
=
1
N
1
∑
i
∈
N
1
w
T
(
x
i
−
m
1
~
)
T
(
x
i
−
m
1
~
)
w
=
w
T
S
1
w
T
\frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-m_1)^2=\frac{1}{N_1}\sum\limits_{i\in N_1}(w^Tx_i-w^T\tilde{m_1})^2=\frac{1}{N_1}\sum\limits_{i\in N_1}w^T(x_i-\tilde{m_1})^2=\frac{1}{N_1}\sum\limits_{i\in N_1}w^T(x_i-\tilde{m_1})^T(x_i-\tilde{m_1})w=w^TS_1w^T
N11i∈N1∑(wTxi−m1)2=N11i∈N1∑(wTxi−wTm1~)2=N11i∈N1∑wT(xi−m1~)2=N11i∈N1∑wT(xi−m1~)T(xi−m1~)w=wTS1wT
同理可得
1
N
2
∑
i
∈
N
2
(
w
T
x
i
−
m
2
)
2
=
w
T
S
2
w
T
\frac{1}{N_2}\sum\limits_{i\in N_2}(w^Tx_i-m_2)^2=w^TS_2w^T
N21i∈N2∑(wTxi−m2)2=wTS2wT
其中,
S
1
=
1
N
1
∑
i
∈
N
1
(
x
i
−
m
1
~
)
T
(
x
i
−
m
1
~
)
S
2
=
1
N
2
∑
i
∈
N
2
(
x
i
−
m
2
~
)
T
(
x
i
−
m
2
~
)
S_1=\frac{1}{N_1}\sum\limits_{i\in N_1}(x_i-\tilde{m_1})^T(x_i-\tilde{m_1})\\S_2=\frac{1}{N_2}\sum\limits_{i\in N_2}(x_i-\tilde{m_2})^T(x_i-\tilde{m_2})
S1=N11i∈N1∑(xi−m1~)T(xi−m1~)S2=N21i∈N2∑(xi−m2~)T(xi−m2~)
则类内距离为:
w
T
S
1
w
和
w
T
S
2
w
w^TS_1w和w^TS_2w
wTS1w和wTS2w
(4)、总结:
目标为类内小,类间大,则目标为:
m
i
n
w
T
S
1
w
+
w
T
S
2
w
w
T
S
b
w
=
w
T
S
w
w
w
T
S
b
w
min\frac{w^TS_1w+w^TS_2w}{w^TS_bw}=\frac{w^TS_ww}{w^TS_bw}
minwTSbwwTS1w+wTS2w=wTSbwwTSww
其中, S w S_w Sw为类内离散度矩阵, S w = S 1 + S 2 S_w=S_1+S_2 Sw=S1+S2, S i S_i Si为 w i w_i wi的协方差矩阵;
S b S_b Sb为类间离散度矩阵, S b = ( m 1 ~ − m 2 ~ ) ( m 1 ~ − m 2 ~ ) T S_b=(\tilde{m_1}-\tilde{m_2})(\tilde{m_1}-\tilde{m_2})^T Sb=(m1~−m2~)(m1~−m2~)T。
4、策略
目标为 m i n w T S w w w T S b w min\frac{w^TS_ww}{w^TS_bw} minwTSbwwTSww,则一定存在 w T S b w = 1 w^TS_bw=1 wTSbw=1,因为只与 w w w的方向有关, w w w可伸缩,不影响分类,所以目标可转化为:
m i n w T S w w s . t w T S b w = 1 min~~w^TS_ww\\s.t~~~~w^TS_bw=1 min wTSwws.t wTSbw=1
(1)、问题转化
带约束的问题,且为凸的
⇒
\Rightarrow
⇒Lagrange乘子法
⇒
L
(
α
,
w
)
=
w
T
S
w
w
+
α
(
w
T
S
b
w
−
1
)
⇒
∂
L
(
α
,
w
)
∂
w
=
2
S
w
w
+
2
α
S
b
w
=
0
⇒
S
w
w
=
−
α
S
b
w
⇒
w
=
−
S
w
−
1
α
S
b
w
⇒
w
=
−
S
w
−
1
α
(
m
1
~
−
m
1
~
)
(
m
1
~
−
m
2
~
)
T
w
⇒
=
−
S
w
−
1
α
(
m
1
~
−
m
2
~
)
C
因
为
只
与
方
向
有
关
,
与
大
小
无
关
,
所
以
忽
略
常
数
⇒
w
∗
=
S
w
−
1
(
m
1
~
−
m
2
~
)
\Rightarrow L(\alpha,w)=w^TS_ww+\alpha(w^TS_bw-1)\\\Rightarrow\frac{\partial{L(\alpha,w)}}{\partial{w}}=2S_ww+2\alpha S_bw=0\\\Rightarrow S_ww=-\alpha S_bw\\\Rightarrow w=-S_w^{-1}\alpha S_bw\\\Rightarrow w=-S_w^{-1}\alpha(\tilde{m_1}-\tilde{m_1})(\tilde{m_1}-\tilde{m_2})^Tw\\\Rightarrow=-S_w^{-1}\alpha(\tilde{m_1}-\tilde{m_2})C\\因为只与方向有关,与大小无关,所以忽略常数\\ \Rightarrow w^*=S_w^{-1}(\tilde{m_1}-\tilde{m_2})
⇒L(α,w)=wTSww+α(wTSbw−1)⇒∂w∂L(α,w)=2Sww+2αSbw=0⇒Sww=−αSbw⇒w=−Sw−1αSbw⇒w=−Sw−1α(m1~−m1~)(m1~−m2~)Tw⇒=−Sw−1α(m1~−m2~)C因为只与方向有关,与大小无关,所以忽略常数⇒w∗=Sw−1(m1~−m2~)
其中 S w = S 1 + S 2 , S i S_w=S_1+S_2,S_i Sw=S1+S2,Si为协方差矩阵,有系数 1 N 1 \frac{1}{N_1} N11和 1 N 2 \frac{1}{N_2} N21,但是因为常数不影响,所以为了计算方便,可以忽略常数,即 S i = ∑ ( x i − m 1 ~ ) ( x − m 1 ~ ) T S_i=\sum(x_i-\tilde{m_1})(x-\tilde{m_1})^T Si=∑(xi−m1~)(x−m1~)T。
5、算法
Fisher线性判别两类问题:
(1)、样本均值:
m
1
~
=
1
N
1
∑
x
i
,
m
2
~
=
1
N
2
∑
x
i
\tilde{m_1}=\frac{1}{N_1}\sum x_i,\tilde{m_2}=\frac{1}{N_2}\sum x_i
m1~=N11∑xi,m2~=N21∑xi
(2)、类内离散度矩阵:
S
1
=
∑
(
x
i
−
m
1
~
)
(
x
i
−
m
1
~
)
T
S
2
=
∑
(
x
i
−
m
2
~
)
(
x
i
−
m
2
~
)
T
S_1=\sum(x_i-\tilde{m_1})(x_i-\tilde{m_1})^T\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S_2=\sum(x_i-\tilde{m_2})(x_i-\tilde{m_2})^T
S1=∑(xi−m1~)(xi−m1~)T S2=∑(xi−m2~)(xi−m2~)T
(3)、类间距离:
m
1
~
−
m
2
~
\tilde{m_1}-\tilde{m_2}
m1~−m2~
(4)、
w
∗
=
S
w
−
1
(
m
1
~
−
m
2
~
)
w^*=S_w^{-1}(\tilde{m_1}-\tilde{m_2})
w∗=Sw−1(m1~−m2~)
(5)、判别阈值通常可取(判别点的取值看投影后的数据分布):
{
m
1
+
m
2
2
=
1
2
w
∗
T
(
m
1
~
+
m
2
~
)
N
1
m
1
+
N
2
m
2
N
=
w
∗
T
m
~
,
m
~
=
1
N
∑
x
i
\left\{\begin{array}{l}\frac{m_1+m_2}{2}=\frac{1}{2}w^{*T}(\tilde{m_1}+\tilde{m_2}) \\\frac{N_1m_1+N_2m_2}{N}=w^{*T}\tilde{m},\tilde{m}=\frac{1}{N}\sum x_i\end{array}\right.
{2m1+m2=21w∗T(m1~+m2~)NN1m1+N2m2=w∗Tm~,m~=N1∑xi
四、logostic回归
感知机、Fisher线性判别函数模型为硬分类,现讨论软分类。
软分类:
{
生
成
式
模
型
:
高
斯
判
别
分
析
判
别
式
模
型
:
l
o
g
i
s
t
i
c
r
e
g
r
e
s
s
i
o
n
\left\{\begin{array}{l}生成式模型:高斯判别分析\\判别式模型:logistic ~~regression\end{array}\right.
{生成式模型:高斯判别分析判别式模型:logistic regression
现讨论logistic regression。
1、思想
(1)、logistic regression为判别模型,所以要求P(y|x)。
(2)、线性分类基于线性回归,所以根本要找得是
f
(
w
T
+
b
)
f(w^T+b)
f(wT+b),则问题为如何找
f
f
f,将
w
T
+
b
w^T+b
wT+b转化为概率p(y|x)。
(3)、logistic regression使用sigmod函数,
σ
(
z
)
=
1
1
+
e
−
z
\sigma(z)=\frac{1}{1+e^{-z}}
σ(z)=1+e−z1。
(4)、通过sigmod函数如何将
f
(
w
T
x
+
b
)
f(w^Tx+b)
f(wTx+b)与p(y|x)联系:一般
y
=
s
g
n
(
f
(
w
T
x
+
b
)
)
y=sgn(f(w^Tx+b))
y=sgn(f(wTx+b)),即类别与
f
(
w
T
x
+
b
)
f(w^Tx+b)
f(wTx+b)的正负有关,所以若
y
=
{
1
,
w
T
x
+
b
>
0
0
,
w
T
x
+
b
<
0
y=\left\{\begin{array}{l}1,w^Tx+b>0\\0,w^Tx+b<0\end{array}\right.
y={1,wTx+b>00,wTx+b<0
则转化为概率:
P
(
y
=
1
∣
x
)
=
1
1
+
e
−
(
w
T
x
+
b
)
P(y=1|x)=\frac{1}{1+e^{-(w^Tx+b)}}
P(y=1∣x)=1+e−(wTx+b)1,则当
w
T
x
+
b
>
0
,
P
(
y
=
1
∣
x
)
>
1
2
,
否
则
<
1
2
w^Tx+b>0,P(y=1|x)>\frac{1}{2},否则<\frac{1}{2}
wTx+b>0,P(y=1∣x)>21,否则<21,即当
w
T
x
+
b
>
0
w^Tx+b>0
wTx+b>0时,
x
∈
w
1
x\in w_1
x∈w1的概率大,根据Baytes最小错误率判别,
y
=
1
y=1
y=1。
2、模型
已知
p
(
y
∣
x
)
p(y|x)
p(y∣x),即
p
(
y
∣
w
,
b
)
p(y|w,b)
p(y∣w,b)求参数用MLE,以下(蕴含的条件是样本之间相互独立):
J
(
w
)
=
∏
i
=
1
N
P
(
y
=
1
∣
w
)
y
i
(
1
−
P
(
y
=
1
∣
w
)
)
1
−
y
i
J(w)=\prod\limits_{i=1}^NP(y=1|w)^{y_i}(1-P(y=1|w))^{1-y_i}
J(w)=i=1∏NP(y=1∣w)yi(1−P(y=1∣w))1−yi
则对数似然函数:
J
(
w
)
=
∑
i
=
1
N
y
i
l
o
g
P
(
y
=
1
∣
w
)
+
(
1
−
y
i
)
l
o
g
(
1
−
P
(
y
=
1
∣
w
)
)
J(w)=\sum\limits_{i=1}^Ny_ilogP(y=1|w)+(1-y_i)log(1-P(y=1|w))
J(w)=i=1∑NyilogP(y=1∣w)+(1−yi)log(1−P(y=1∣w))
3、策略
以下数据使用增广形式。
a
r
g
m
a
x
w
∑
i
=
1
N
y
i
l
o
g
P
(
y
=
1
∣
w
)
+
(
1
−
y
i
)
l
o
g
(
1
−
P
(
y
=
1
∣
w
)
)
=
∑
i
=
1
N
y
i
l
o
g
(
1
1
+
e
−
w
T
x
i
)
−
(
1
−
y
i
)
l
o
g
(
e
−
w
T
x
i
1
+
e
−
w
T
x
i
)
=
∑
i
=
1
N
y
i
(
0
−
l
o
g
(
1
+
e
w
T
x
)
)
−
(
1
−
y
i
)
(
−
w
T
x
−
l
o
g
(
1
+
e
−
w
T
x
)
)
=
∑
i
=
1
N
(
−
w
T
x
i
+
y
i
w
T
x
i
−
l
o
g
(
1
+
e
−
w
T
x
)
)
\underset{w~~~~~~~~~~~~~}{arg~max}\sum\limits_{i=1}^Ny_ilogP(y=1|w)+(1-y_i)log(1-P(y=1|w))\\=\sum\limits_{i=1}^Ny_ilog(\frac{1}{1+e^{-w^Tx_i}})-(1-y_i)log(\frac{e^{-w^Tx_i}}{1+e^-{w^Tx_i}})\\=\sum\limits_{i=1}^Ny_i(0-log(1+e^{w^Tx}))-(1-y_i)(-w^Tx-log(1+e^{-w^Tx}))\\=\sum\limits_{i=1}^N(-w^Tx_i+y_iw^Tx_i-log(1+e^{-w^Tx}))
w arg maxi=1∑NyilogP(y=1∣w)+(1−yi)log(1−P(y=1∣w))=i=1∑Nyilog(1+e−wTxi1)−(1−yi)log(1+e−wTxie−wTxi)=i=1∑Nyi(0−log(1+ewTx))−(1−yi)(−wTx−log(1+e−wTx))=i=1∑N(−wTxi+yiwTxi−log(1+e−wTx))
∂ J ( w ) ∂ w = ∑ i = 1 N ( − x i + y i x i + 1 1 + e − w T x e − w T x x i ) = ∑ i = 1 N ( y i − 1 1 + e − w T x ) x i = ∑ i = 1 N ( y i − f ( w , x i ) ) x i \frac{\partial{J(w)}}{\partial{w}}=\sum\limits_{i=1}^N(-x_i+y_ix_i+\frac{1}{1+e^{-w^Tx}}e^{-w^Tx}x_i)\\=\sum\limits_{i=1}^N(y_i-\frac{1}{1+e^{-w^Tx}})x_i\\=\sum\limits_{i=1}^N(y_i-f(w,x_i))x_i ∂w∂J(w)=i=1∑N(−xi+yixi+1+e−wTx1e−wTxxi)=i=1∑N(yi−1+e−wTx1)xi=i=1∑N(yi−f(w,xi))xi
梯度为BGD,难求,使用SGD。
4、算法
(1)、输入数据,
D
a
t
a
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
Data={(x1,y1),(x2,y2),...,(xN,yN)}。
(2)、生成式模型,MLE:
m
a
x
J
(
w
)
=
∑
i
=
1
N
l
o
g
P
(
y
=
1
∣
x
i
)
y
i
(
1
−
P
(
y
=
1
∣
x
i
)
)
1
−
y
i
max~J(w)=\sum\limits_{i=1}^NlogP(y=1|x_i)^{y_i}(1-P(y=1|x_i))^{1-y_i}
max J(w)=i=1∑NlogP(y=1∣xi)yi(1−P(y=1∣xi))1−yi
∇
J
(
w
)
=
∑
i
=
1
N
(
y
i
−
f
(
w
T
x
i
)
)
x
i
\nabla J(w)=\sum\limits_{i=1}^N(y_i-f(w^Tx_i))x_i
∇J(w)=i=1∑N(yi−f(wTxi))xi。
(3)、SGD(MLE,所以迭代加上梯度):
w
k
+
1
=
w
k
+
α
(
y
i
−
f
(
w
T
x
i
)
)
x
i
w_{k+1}=w_k+\alpha(y_i-f(w^Tx_i))x_i
wk+1=wk+α(yi−f(wTxi))xi
(4)、停止条件:
达到一定迭代次数;
达到一定的精确度,例如
w
k
w_k
wk可正确分类多少样本。
5、logistic regression’s loss function
J(w)为max,而loss function一般为min,所以可以将-J(w)作为loss function。所以:
L
(
w
)
=
−
∑
i
=
1
N
y
i
l
o
g
f
(
w
,
x
i
)
+
(
1
−
y
i
)
l
o
g
(
1
−
f
(
w
,
x
i
)
)
L(w)=-\sum\limits_{i=1}^Ny_ilogf(w,x_i)+(1-y_i)log(1-f(w,x_i))
L(w)=−i=1∑Nyilogf(w,xi)+(1−yi)log(1−f(w,xi))
则
l
o
s
s
f
u
n
c
t
i
o
n
=
{
−
l
o
g
(
f
(
w
,
x
i
)
)
,
y
i
=
1
−
l
o
g
(
1
−
f
(
w
,
x
i
)
)
,
y
i
=
0
loss~function=\left\{\begin{array}{l}-log(f(w,x_i)),y_i=1\\-log(1-f(w,x_i)),y_i=0\end{array}\right.
loss function={−log(f(w,xi)),yi=1−log(1−f(w,xi)),yi=0
分析:
当
y
i
=
1
,
l
o
s
s
f
u
n
c
t
i
o
n
随
f
(
w
,
x
i
)
的
增
大
而
减
小
,
这
是
合
理
的
,
因
为
f
(
w
,
x
i
)
增
大
,
说
明
其
大
概
率
∈
w
1
,
所
以
损
失
小
。
当
y
i
=
0
,
l
o
s
s
f
u
n
c
t
i
o
n
随
着
f
(
w
,
x
i
)
增
大
而
增
大
,
也
是
合
理
。
y_i=1,loss~function随f(w,x_i)的增大而减小,这是合理的,因为f(w,x_i)增大,说明其大概率\in w_1,所以损失小。\\当y_i=0,loss~function随着f(w,x_i)增大而增大,也是合理。
yi=1,loss function随f(w,xi)的增大而减小,这是合理的,因为f(w,xi)增大,说明其大概率∈w1,所以损失小。当yi=0,loss function随着f(w,xi)增大而增大,也是合理。
6、小结
线性函数:
w
T
x
w^Tx
wTx
激活函数:
f
(
z
)
=
1
1
+
e
−
z
f(z)=\frac{1}{1+e^{-z}}
f(z)=1+e−z1
判别函数转化为概率:激活函数
⇒
P
(
y
=
1
∣
x
)
=
f
(
x
)
=
1
1
+
e
−
w
T
x
\Rightarrow P(y=1|x)=f(x)=\frac{1}{1+e^{-w^Tx}}
⇒P(y=1∣x)=f(x)=1+e−wTx1
参数求解:MLE(SGD VS BGD)
五、高斯判别模型
高斯判别模型为生成式模型,即相比判别式模型,其需对类被本身的分布进行研究。
1、数据
D a t a = { ( x 1 , y 2 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } Data=\{(x_1,y_2),(x_2,y_2),...,(x_N,y_N)\} Data={(x1,y2),(x2,y2),...,(xN,yN)}
2、思想
生成式模型有 P ( y ) P(y) P(y)和 P ( x ∣ y ) P(x|y) P(x∣y),希望估计 P ( y ∣ x ) P(y|x) P(y∣x)进行分类。如果已经知道 P ( y ) P(y) P(y)和 P ( x ∣ y ) P(x|y) P(x∣y),则可求出 P ( y ∣ x ) P(y|x) P(y∣x),也不用再学习模型,关键是只知服从什么分布,不知具体参数,所以要求出分布的参数。使用MAP估计出分布的参数之后,再使用Baytes最小错误率进行类别分类。
3、模型
关键是假设
P
(
y
)
和
P
(
x
∣
y
)
,
P(y)和P(x|y),
P(y)和P(x∣y),涉及概率分布时一般y的取值为1与0,这是为了表达的一致性(例如logistic regression)。
y
y
y服从伯努利分布
⇒
P
(
y
=
1
)
=
p
,
P
(
y
=
0
)
=
1
−
p
\Rightarrow P(y=1)=p,P(y=0)=1-p
⇒P(y=1)=p,P(y=0)=1−p
p
(
x
∣
y
=
1
)
=
N
(
μ
1
,
Σ
)
p
(
x
∣
y
=
0
)
=
N
(
μ
2
,
Σ
)
p(x|y=1)= N(\mu_1,\Sigma)\\p(x|y=0)=N(\mu_2,\Sigma)
p(x∣y=1)=N(μ1,Σ)p(x∣y=0)=N(μ2,Σ)
p
(
x
∣
y
=
1
)
和
p
(
x
∣
y
=
0
)
p(x|y=1)和p(x|y=0)
p(x∣y=1)和p(x∣y=0)的协方差矩阵相同可以理解,因为无论
x
x
x为哪一类,其每一维的独立性应该是一致的,因为
Σ
\Sigma
Σ表示的是
x
x
x的不同维之间是否有相关性,所以可以假设为相同。
4、策略
知
P
(
y
)
与
P
(
x
∣
y
)
P(y)与P(x|y)
P(y)与P(x∣y),则使用MAP估计
(
μ
1
,
μ
2
,
Σ
,
p
)
(\mu_1,\mu_2,\Sigma,p)
(μ1,μ2,Σ,p),求得
P
(
y
∣
x
)
P(y|x)
P(y∣x)。
θ
=
(
μ
1
,
μ
2
,
Σ
,
p
)
,
L
(
θ
)
=
∏
i
=
1
N
P
(
y
i
)
P
(
x
i
∣
y
i
)
⇒
l
o
g
L
(
θ
)
=
∑
i
=
1
N
l
o
g
P
(
x
i
∣
y
i
)
+
l
o
g
P
(
y
i
)
=
∑
x
I
∈
w
1
l
o
g
P
(
x
i
∣
y
i
)
+
l
o
g
P
(
y
i
)
+
∑
x
i
∈
w
2
l
o
g
P
(
x
i
∣
y
i
)
+
l
o
g
P
(
y
i
)
=
∑
i
=
1
N
l
o
g
N
(
μ
1
,
Σ
)
y
i
N
(
μ
2
,
Σ
)
1
−
y
i
+
l
o
g
p
y
i
(
1
−
p
)
1
−
y
i
\theta=(\mu_1,\mu_2,\Sigma,p),L(\theta)=\prod\limits_{i=1}^NP(y_i)P(x_i|y_i)\xRightarrow []{log}L(\theta)=\sum\limits_{i=1}^NlogP(x_i|y_i)+logP(y_i)\\=\sum\limits_{x_I\in w_1}logP(x_i|y_i)+logP(y_i)+\sum\limits_{x_i\in w_2}logP(x_i|y_i)+logP(y_i)\\=\sum\limits_{i=1}^NlogN(\mu_1,\Sigma)^{y_i}N(\mu_2,\Sigma)^{1-y_i}+logp^{y_i}(1-p)^{1-y_i}
θ=(μ1,μ2,Σ,p),L(θ)=i=1∏NP(yi)P(xi∣yi)logL(θ)=i=1∑NlogP(xi∣yi)+logP(yi)=xI∈w1∑logP(xi∣yi)+logP(yi)+xi∈w2∑logP(xi∣yi)+logP(yi)=i=1∑NlogN(μ1,Σ)yiN(μ2,Σ)1−yi+logpyi(1−p)1−yi
(1)、求p:
∂
L
(
p
)
∂
p
=
∑
i
=
1
N
y
i
−
p
p
(
1
−
p
)
=
0
⇒
p
=
∑
i
=
1
N
y
i
N
\frac{\partial{L(p)}}{\partial{p}}=\sum\limits_{i=1}^N\frac{y_i-p}{p(1-p)}=0\Rightarrow p=\frac{\sum\limits_{i=1}^Ny_i}{N}
∂p∂L(p)=i=1∑Np(1−p)yi−p=0⇒p=Ni=1∑Nyi
(2)、求
μ
1
\mu_1
μ1:
∂
L
(
μ
1
)
∂
μ
1
=
0
⇒
μ
1
=
∑
x
i
∈
w
1
x
i
N
1
\frac{\partial{L(\mu_1)}}{\partial{\mu_1}}=0\Rightarrow\mu_1=\frac{\sum\limits_{x_i\in w_1}x_i}{N_1}
∂μ1∂L(μ1)=0⇒μ1=N1xi∈w1∑xi
(3)、求
μ
2
\mu_2
μ2
∂
L
(
μ
2
)
∂
μ
2
=
0
⇒
μ
2
=
∑
x
i
∈
w
2
x
i
N
2
\frac{\partial{L(\mu_2)}}{\partial{\mu_2}}=0\Rightarrow\mu_2=\frac{\sum\limits_{x_i\in w_2}x_i}{N_2}
∂μ2∂L(μ2)=0⇒μ2=N2xi∈w2∑xi
(4)、求
Σ
\Sigma
Σ
∂
L
(
Σ
)
∂
Σ
=
0
⇒
Σ
=
1
N
[
∑
x
i
∈
w
1
(
x
i
−
μ
1
)
(
x
I
−
μ
1
)
T
+
∑
x
i
∈
w
2
(
x
i
−
μ
2
)
(
x
i
−
μ
2
)
T
]
\frac{\partial{L(\Sigma)}}{\partial{\Sigma}}=0\Rightarrow \Sigma=\frac{1}{N}[\sum\limits_{x_i\in w_1}(x_i-\mu_1)(x_I-\mu_1)^T+\sum\limits_{x_i\in w_2}(x_i-\mu_2)(x_i-\mu_2)^T]
∂Σ∂L(Σ)=0⇒Σ=N1[xi∈w1∑(xi−μ1)(xI−μ1)T+xi∈w2∑(xi−μ2)(xi−μ2)T]
5、算法
高斯判别分析 ⇒ \Rightarrow ⇒生成式模型 ⇒ P ( y ) , P ( x ∣ y ) ⇒ M A P \Rightarrow P(y),P(x|y)\Rightarrow MAP ⇒P(y),P(x∣y)⇒MAP估计参数
六、朴素贝叶斯判别
朴素贝叶斯判别为生成式模型,则要考虑 P ( y ) , P ( x ∣ y ) P(y),P(x|y) P(y),P(x∣y)来估计 P ( y ∣ x ) P(y|x) P(y∣x),前面的高斯判别分析中 P ( y ) , P ( x ∣ y ) P(y),P(x|y) P(y),P(x∣y)为高斯分布,朴素贝叶斯决策的问题也在于如何得到 P ( y ) 和 P ( x ∣ y ) P(y)和P(x|y) P(y)和P(x∣y)。
1、思想
朴素贝叶斯决策的本质思想为朴素贝叶斯假设(为了计算简便),即条件独立性假设,为最简单的概率图模型。
朴素贝叶斯决策假设的独立为:给定y的条件下,x的每维是相互独立的(注意:是x的每一维独立,而不是样本间独立)。
2、数据
D a t a = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } Data=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} Data={(x1,y1),(x2,y2),...,(xN,yN)},x的每一维相互独立。
3、模型
P ( x ∣ y ) = ∏ i = 1 n P ( x i ∣ y ) , 其 中 P ( x i ∣ y ) = n u m ( y 类 中 样 本 中 x i 的 取 值 相 同 的 样 本 ) N 1 P(x|y)=\prod\limits_{i=1}^nP(x_i|y),其中P(x_i|y)=\frac{num(y类中样本中x_i的取值相同的样本)}{N_1} P(x∣y)=i=1∏nP(xi∣y),其中P(xi∣y)=N1num(y类中样本中xi的取值相同的样本)
4、策略
由数据得到 P ( y ) 和 P ( x ∣ y ) P(y)和P(x|y) P(y)和P(x∣y)的估计,使用贝叶斯最小错误率决策。
5、算法
y
^
=
a
r
g
m
a
x
y
P
(
y
∣
x
)
⇒
a
r
g
m
a
x
y
P
(
y
)
P
(
x
∣
y
)
P
(
x
)
⇒
a
r
g
m
a
x
y
P
(
y
)
P
(
x
∣
y
)
\hat{y}=\underset{y~~~~~~~~~~~~}{arg~max}P(y|x)\\\Rightarrow \underset{y~~~~~~~~~~~~}{arg~max}\frac{P(y)P(x|y)}{P(x)}\\\Rightarrow\underset{y~~~~~~~~~~~~}{arg~max}P(y)P(x|y)
y^=y arg maxP(y∣x)⇒y arg maxP(x)P(y)P(x∣y)⇒y arg maxP(y)P(x∣y)
其中,P(y)服从伯努利分布,
P
(
x
∣
y
)
=
∏
i
=
1
n
P
(
x
i
∣
y
)
P(x|y)=\prod\limits_{i=1}^nP(x_i|y)
P(x∣y)=i=1∏nP(xi∣y)
终于写完了+ -+