熵
信息熵公式
H ( X ) = − ∑ x P ( x ) l o g P ( x ) H(X)=-\sum_{x}P(x)logP(x) H(X)=−x∑P(x)logP(x)
条件熵
H ( X ∣ Y ) = − ∑ x , y P ( x , y ) l o g P ( x ∣ y ) H(X|Y)=-\sum_{x,y}P(x,y)logP(x|y) H(X∣Y)=−x,y∑P(x,y)logP(x∣y)
联合熵
H ( X , Y ) = − ∑ x , y P ( x , y ) l o g P ( x , y ) H(X,Y)=-\sum_{x,y}P(x,y)logP(x,y) H(X,Y)=−x,y∑P(x,y)logP(x,y)
互信息
I ( X , Y ) = H ( X ) − H ( X ∣ Y ) = − ∑ x , y P ( x , y ) P ( x , y ) P ( x ) P ( y ) I(X,Y)=H(X)-H(X|Y)=-\sum_{x,y}P(x,y)\frac{P(x,y)}{P(x)P(y)} I(X,Y)=H(X)−H(X∣Y)=−x,y∑P(x,y)P(x)P(y)P(x,y)
交叉熵
H ( p , q ) = − ∑ x P ( x ) l o g Q ( x ) H(p,q)=-\sum_{x}P(x)logQ(x) H(p,q)=−x∑P(x)logQ(x)
相对熵(K-L散度)
D k l ( p , q ) = − ∑ x P ( x ) P ( x ) Q ( x ) = − ( H p ( x ) − H ( p , q ) ) D_{kl}(p,q)=-\sum_{x}P(x)\frac{P(x)}{Q(x)}=-(H_{p(x)}-H(p,q)) Dkl(p,q)=−x∑P(x)Q(x)P(x)=−(Hp(x)−H(p,q))
优化方法
梯度下降算法
梯度下降算法batch大小的影响
- batch大 : 全局最优解、易于并行| 训练样本多的时候,训练很慢
- batch小 : 训练速度快、准确率略有下降|局部最优、训练震荡
SGD于GD的比较:sgd能更有效的利用信息、特别是信息比较冗余的时候,SGD前期迭代效果显著,当数据量很大时候,SGD在计算复杂度上更有优势。
牛顿法
求解 f ( x ) = 0 f(x)=0 f(x)=0
x n + 1 = x n + 1 − f ( x n ) f ( x n ) ′ x_{n+1}=x_{n+1}-\frac{f(x_n)}{f(x_n)'} xn+1=xn+1−f(xn)′f(xn)
所以为了求解 f ( x ) f(x) f(x)的极值,也即求 f ( x ) ′ = 0 f(x)'=0 f(x)′=0
x n + 1 = x n + 1 − f ( x n ) ′ f ( x n ) ′ ′ x_{n+1}=x_{n+1}-\frac{f(x_n)'}{f(x_n)''} xn+1=xn+1−f(xn)′′f(xn)′
对于多元的情况
x n + 1 = x n + 1 − ( ∇ 2 f ( x n ) ) − 1 f ( x n ) ′ = x n − H − 1 g x_{n+1}=x_{n+1}-(\nabla^2f(x_n))^{-1}{f(x_n)'}= x_n-H^{-1}g xn+1=xn+1−(∇2f(xn))−1f(xn)′=xn−H−1g
H H H为Hession矩阵, g g g为梯度
问题
- Hession可能不可逆
- 求逆计算复杂度高
- 可能不会收敛到一个最优解(甚至不能保证收敛)
##拟牛顿法
不计算Hession矩阵的逆,用其他方法得到逆的近似