赞
踩
Discriminative Model
——判别式模型
σ ( z ) = 1 1 + e x p ( − z ) P w , b ( C 1 ∣ x ) = σ ( z ) z = w ∗ x + b = ∑ i w i x i + b \sigma(z)=\frac{1}{1+exp(-z)}\\ P_{w,b}(C_1|x)=\sigma(z)\\ z=w*x+b=\sum_iw_ix_i+b σ(z)=1+exp(−z)1Pw,b(C1∣x)=σ(z)z=w∗x+b=i∑wixi+b
因此我们的Function Set:
f
w
,
b
(
x
)
=
P
w
,
b
(
C
1
∣
x
)
=
σ
(
z
)
f_{w,b}(x)=P_{w,b}(C_1|x)=\sigma(z)
fw,b(x)=Pw,b(C1∣x)=σ(z)
因为z经过了逻辑斯特回归曲线,因此输出在0-1之间
给定一组w和b
L
(
w
,
b
)
=
f
w
,
b
(
x
1
)
f
w
,
b
(
x
2
)
(
1
−
f
w
,
b
(
x
3
)
)
.
.
.
f
w
,
b
(
x
N
)
L(w,b)=f_{w,b}(x^1)f_{w,b}(x^2)(1-f_{w,b}(x^3))...f_{w,b}(x^N)
L(w,b)=fw,b(x1)fw,b(x2)(1−fw,b(x3))...fw,b(xN)
然后找到
w
∗
和
b
∗
w^*和b^*
w∗和b∗
使得 a r g max w , b L ( w , b ) arg\max_{w,b}L(w,b) argmaxw,bL(w,b)
数学上等价于
a
r
g
min
w
,
b
−
ln
L
(
w
,
b
)
arg\min_{w,b}-\ln L(w,b)
argminw,b−lnL(w,b)
−
ln
L
(
w
,
b
)
=
−
l
n
f
w
,
b
(
x
1
)
−
l
n
f
w
,
b
(
x
2
)
−
l
n
(
1
−
f
w
,
b
(
x
3
)
)
.
.
.
-\ln L(w,b)=-lnf_{w,b}(x^1)-lnf_{w,b}(x^2)-ln(1-f_{w,b}(x^3))...
−lnL(w,b)=−lnfw,b(x1)−lnfw,b(x2)−ln(1−fw,b(x3))...
——当我们将类别用不同的y值做tag时
后面的项数都可以写成如下
最后得到的和项——其实是伯努利分布的交叉熵
交叉熵的含义是,代表两个分布有多接近
如果两个分布一模一样,则交叉熵=0
——因此,本质上,我们是希望找到一个分布,能够与训练集上的分布尽可能的接近
——即 p ( x ) = f w , b ( x n ) p(x)=f_{w,b}(x^n) p(x)=fw,b(xn) 和 y ^ n \hat{y}^n y^n 的分布尽可能接近
——而这一步,在数学上的表示是,我们希望最小化两个分布之间的交叉熵
− ln L ( w , b ) = ∑ n − [ y ^ n ln f w , b ( x n ) + ( 1 − y ^ n ) ln ( l − f w , b ( x n ) ) ] -\ln L(w,b)=\sum_n-[\hat{y}^n\ln f_{w,b}(x^n)+(1-\hat{y}^n)\ln (l-f_{w,b}(x^n))] −lnL(w,b)=n∑−[y^nlnfw,b(xn)+(1−y^n)ln(l−fw,b(xn))]
如果找到最优的w和b,用梯度下降法
——求左式子微分
——求右式子微分
——得到整条式子的微分
——你会发现逻辑斯特回归曲线和线性回归的梯度下降
求微分的式子一模一样
无论最后预测距离目标有多远,你的微分都是非常的平坦
——因此,用Square error是不容易训练得很好的
P ( C 1 ∣ x ) = σ ( w ∗ x + b ) ∙ P ( C 1 ∣ x ) : 直接找 w 和 b P(C_1|x)=\sigma(w*x+b)\\ \bullet P(C_1|x):直接找w和b\\ P(C1∣x)=σ(w∗x+b)∙P(C1∣x):直接找w和b
∙ σ ( w ∗ x + b ) : 找 μ 1 , μ 2 , Σ − 1 然后 w T = ( μ 1 − μ 2 ) T Σ − 1 b = − 1 2 ( μ 1 ) T ( Σ ) − 1 μ 1 + 1 2 ( μ 2 ) T ( Σ ) − 1 μ 2 + ln N 1 N 2 \bullet\sigma(w*x+b):找\mu^1,\mu^2,\Sigma^{-1}\\ 然后w^T=(\mu^1-\mu^2)^T\Sigma^{-1}\\ b=-\frac{1}{2}(\mu^1)^T(\Sigma)^{-1}\mu^1 +\frac{1}{2}(\mu^2)^T(\Sigma)^{-1}\mu^2+\ln\frac{N_1}{N_2} ∙σ(w∗x+b):找μ1,μ2,Σ−1然后wT=(μ1−μ2)TΣ−1b=−21(μ1)T(Σ)−1μ1+21(μ2)T(Σ)−1μ2+lnN2N1
——那么这两个模型找出来的w和b会是同一组吗?
——结果不会是一样的
表示的事情是
——哪一组找出来的w和b效果更好呢?
——某一些文献表示,一般来说,判别式的模型往往比生成式的模型表现得更好一点
——在朴素贝叶斯中,会忽略维度之间的关联性,认为每个维度之间是独立
生成模型的假设本质上是对信息的脑补
这种脑部在以下几个方面,可能会使得生成模型的效果比判别模型更好
数据集过少
生成模型受数据集大小的影响很小,判别模型受数据集大小的影响较大
生成模型的鲁棒性更好,能够更好地抗噪声
因为生成模型是存在假设的,它有时候甚至会忽略掉你的噪声数据
可以从不同的来源估计先验和与类别相关的概率
—— e z 1 ∑ j = 1 3 e z 1 \frac{e^{z_1}}{\sum_{j=1}^3e^{z_1}} ∑j=13ez1ez1本质上是在Normalized(规范化)
而且有
1
>
y
i
>
0
∑
i
y
i
=
1
1>y_i>0\\ \sum_iy_i=1\\
1>yi>0i∑yi=1
y i = P ( C i ∣ x ) = f w , b ( x i ) y_i=P(C_i|x)=f_{w,b}(x_i) yi=P(Ci∣x)=fw,b(xi)
——然后继续迭代修改 w 1 , w 2 , w 3 w^1,w^2,w^3 w1,w2,w3
事实上你也可以取别的
或者Google maximum entropy
——如何去定义target的概率分布
如果使用class1=1,class2=2,class3=3的话,会引入类与类之间距离的问题
因此我们可以做独热编码
然后去做minimize的Cross Entropy
逻辑斯特曲线无法解决同或问题
——因为逻辑斯特曲线在两个类的分类任务中,给出的分界线就是一条直线
但是同或问题,没有办法用一个直线进行分开
我们可以把特征空间映射到另一片空间上
麻烦的是,我们并不知道怎么做Feature Transformation
——怎么让机器自己去做Transformation
把多个逻辑斯特模型拼接起来
我们讲x1和x2先经过某个逻辑斯特回归模型,得到它的维数个新替换的东西
当他们在新的Transformer下,能够将class 1和class 2分割开,最后再接一个逻辑斯特回归曲线,得到最后的bounary
每一个逻辑斯特回归的输出都可以作为下一个逻辑斯特回归模型的输入
——敬请期待下一章
我们正式进入Deep Learning
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。