本文主要是介绍机器学习西瓜书之对数几率回归,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
算法原理
在线性模型的基础上增加一个激活函数用于映射。
知识预备
信息论
用概率论和随机过程为基本研究工具,研究广义通信系统的整个过程。常见的有无损压缩、有数据压缩等。
-
自信息: I ( X ) = − log b p ( x ) I(X)=-\log_bp(x) I(X)=−logbp(x) 在概率是0.5的时候最没法确认到底数值是多少
-
信息熵(自信息的期望):信息熵越大越不确定,用数学的方式量化不确定性。
-
相对熵(KL散度):度量两个分布的差异以及典型场景用来度量理想分布 p ( x ) p(x) p(x)(最想求解的分布)和模拟分布 q ( x ) q(x) q(x)之间的差异。计算公式如下:
D K L ( p ∣ ∣ q ) = ∑ x p ( x ) log b ( p ( x ) q ( x ) ) = ∑ x p ( x ) ( log b p ( x ) − log b q ( x ) ) = ∑ x p ( x ) log b p ( x ) − ∑ x p ( x ) log b q ( x ) \begin{aligned}D_{KL}(p||q)&=\sum_xp(x)\log_b(\frac{p(x)}{q(x)})\\&=\sum_xp(x)\left(\log_bp(x)-\log_bq(x)\right)\\&=\sum_xp(x)\log_bp(x)-\sum_xp(x)\log_bq(x)\end{aligned} DKL(p∣∣q)=x∑p(x)logb(q(x)p(x))=x∑p(x)(logbp(x)−logbq(x))=x∑p(x)logbp(x)−x∑p(x)logbq(x)
-
交叉熵: − ∑ x p ( x ) log b q ( x ) -\sum_xp(x)\log_bq(x) −∑xp(x)logbq(x),相对熵中的被减的部分,要使得原来的最大,就要最小化交叉熵。
-
对照课本上面的公式
ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ i + ln ( 1 + e β T x ^ i ) ) \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(-y_{i}\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol{x}}_{i}+\ln\left(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol{x}}_{i}}\right)\right) ℓ(β)=∑i=1m(−yiβTx^i+ln(1+eβTx^i))
从机器学习三要素中的“策略”角度分析,与理想分布最接近的分布就是最佳分布。
对应机器学习三要素
- 模型:线性模型,结合sigmoid函数实现输出值规范在0-1之间
- 策略:极大似然估计
- 算法:梯度下降,牛顿法;求出一个近似解就行。
这篇关于机器学习西瓜书之对数几率回归的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!