机器学习

机器学习(第三章)3.3对数几率回归

本文主要是介绍机器学习(第三章)3.3对数几率回归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

机器学习(第三章)3.3对数几率回归

1、对数几率回归的机器学习三要素

1.模型:根据具体问题,确定假设空间——此篇为线性模型,输出值范围为[0,1],为近似阶跃的单调可微函数;

2.策略:根据评价标准,确定选取最优模型的策略(通常会产生一个“损失函数”)——此篇由最大似然估计法、信息论来确定损失函数最小的等价条件;

3.算法:求解损失函数,确定最优模型,一般无法求出准确值,求得近似值即可——可以采用梯度下降、牛顿法近似求解。

2.算法原理

原理:在线性模型的基础上套一个映射函数来实现分类功能

对于二分类任务, 输出标记 yε{0 ,1},但是线性回归产生的产生的预测值为实数,需要将其转化为0/1 值. 最理想的是"单位阶跃函数" (unit-step function)

在这里插入图片描述

理想:即若预测值大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别

但是这种情况虽然简单,但是单位阶跃函数不连续,所以需要在一定程度上近似单位阶跃函数的"替代函数"。

实际:常用的"替代函数"是对数几率函数,它的优点是求导的代价很小
y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+e−z1​
下图是单位阶跃函数与对数几率函数的对比

在这里插入图片描述

3.利用极大似然估计推导损失函数

3.1第一步:确定概率质量函数(概率密度函数)

离散型随机变量yε{0,1}取值1和0的概率分别建模为

p ( y = 1 ∣ x ) = 1 1 + e − ( w T x + b ) = e w T x + b 1 + e w T x + b p ( y = 0 ∣ x ) = 1 − p ( y = 1 ∣ x ) = 1 1 + e w T x + b \begin{array}{l} p(y=1 \mid \boldsymbol{x})=\frac{1}{1+e^{-\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)}}=\frac{e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \\ p(y=0 \mid \boldsymbol{x})=1-p(y=1 \mid \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \end{array} p(y=1∣x)=1+e−(wTx+b)1​=1+ewTx+bewTx+b​p(y=0∣x)=1−p(y=1∣x)=1+ewTx+b1​​
为 了 便 于 讨 论 , 令 β = ( w ; b ) , x ^ = ( x ; 1 ) , 则 上 式 可 简 写 为 为了便于讨论, 令 \boldsymbol{\beta}=(\boldsymbol{w} ; b), \hat{\boldsymbol{x}}=(\boldsymbol{x} ; 1) , 则上式可简写为 \\ 为了便于讨论,令β=(w;b),x^=(x;1),则上式可简写为
p ( y = 1 ∣ x ^ ; β ) = e β T x ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) p ( y = 0 ∣ x ^ ; β ) = 1 1 + e β T x ^ = p 0 ( x ^ ; β ) \begin{array}{l} p(y=1 \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\frac{e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}=p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\ p(y=0 \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}=p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \end{array} p(y=1∣x^;β)=1+eβTx^eβTx^​=p1​(x^;β)p(y=0∣x^;β)=1+eβTx^1​=p0​(x^;β)​

由以上概率取值可推得随机变量yε{0,1}的概率质量函数
p ( y ∣ x ^ ; β ) = y ⋅ p 1 ( x ^ ; β ) + ( 1 − y ) ⋅ p 0 ( x ^ ; β ) 此 即 为 公 式 3.26 或 者 为 p ( y ∣ x ^ ; β ) = [ p 1 ( x ^ ; β ) ] y [ p 0 ( x ^ ; β ) ] 1 − y p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=y \cdot p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})+(1-y) \cdot p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \quad\quad 此即为公式 3.26\\ 或者为\quad\quad p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\left[p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{y}\left[p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{1-y} p(y∣x^;β)=y⋅p1​(x^;β)+(1−y)⋅p0​(x^;β)此即为公式3.26或者为p(y∣x^;β)=[p1​(x^;β)]y[p0​(x^;β)]1−y
西瓜书采用的第一种,不过第二种的推导更简单,南瓜书3.27

3.2写出似然函数

L ( β ) = ∏ i = 1 m p ( y i ∣ x ^ i ; β ) L(\boldsymbol{\beta})=\prod_{i=1}^{m} p\left(y_{i} \mid \hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\\ L(β)=i=1∏m​p(yi​∣x^i​;β)

对 数 似 然 函 数 为 ℓ ( β ) = ln ⁡ L ( β ) = ∑ i = 1 m ln ⁡ p ( y i ∣ x ^ i ; β ) ℓ ( β ) = ∑ i = 1 m ln ⁡ ( y i p 1 ( x ^ i ; β ) + ( 1 − y i ) p 0 ( x ^ i ; β ) )  将  p 1 ( x ^ i ; β ) = e β T x ^ i 1 + e β T x ^ i , p 0 ( x ^ i ; β ) = 1 1 + e β T x ^ i  代入上式可得  ℓ ( β ) = ∑ i = 1 m ln ⁡ ( y i e β T x ^ i 1 + e β T x ^ i + 1 − y i 1 + e β T x ^ i ) = ∑ i = 1 m ln ⁡ ( y i e β T x ^ i + 1 − y i 1 + e β T x ^ i ) = ∑ i = 1 m ( ln ⁡ ( y i e β T x ^ i + 1 − y i ) − ln ⁡ ( 1 + e β T x ^ i ) ) \begin{array}{c} 对数似然函数为\quad\ell(\boldsymbol{\beta})=\ln L(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln p\left(y_{i} \mid \hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right) \\ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln \left(y_{i} p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)+\left(1-y_{i}\right) p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right) \end{array}\\ \begin{array}{c} \text { 将 } p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}, p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}} \text { 代入上式可得 } \\ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln \left(\frac{y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}+\frac{1-y_{i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}\right) \\ =\sum_{i=1}^{m} \ln \left(\frac{y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}+1-y_{i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}\right) \\ =\sum_{i=1}^{m}\left(\ln \left(y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}+1-y_{i}\right)-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) \end{array} 对数似然函数为ℓ(β)=lnL(β)=∑i=1m​lnp(yi​∣x^i​;β)ℓ(β)=∑i=1m​ln(yi​p1​(x^i​;β)+(1−yi​)p0​(x^i​;β))​ 将 p1​(x^i​;β)=1+eβTx^i​eβTx^i​​,p0​(x^i​;β)=1+eβTx^i​1​ 代入上式可得 ℓ(β)=∑i=1m​ln(1+eβTx^i​yi​eβTx^i​​+1+eβTx^i​1−yi​​)=∑i=1m​ln(1+eβTx^i​yi​eβTx^i​+1−yi​​)=∑i=1m​(ln(yi​eβTx^i​+1−yi​)−ln(1+eβTx^i​))​
由 于 y i ∈ { 0 , 1 } , 则 由于 y_{i} \in\{0,1\} , 则 由于yi​∈{0,1},则
ℓ ( β ) = { ∑ i = 1 m ( − ln ⁡ ( 1 + e β T x ^ i ) ) , y i = 0 ∑ i = 1 m ( β T x ^ i − ln ⁡ ( 1 + e β T x ^ i ) ) , y i = 1 \ell(\boldsymbol{\beta})=\left\{\begin{array}{ll} \sum_{i=1}^{m}\left(-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right), & y_{i}=0 \\ \sum_{i=1}^{m}\left(\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right), & y_{i}=1 \end{array}\right.\\ ℓ(β)=⎩⎨⎧​∑i=1m​(−ln(1+eβTx^i​)),∑i=1m​(βTx^i​−ln(1+eβTx^i​)),​yi​=0yi​=1​
两式综合可得
ℓ ( β ) = ∑ 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=1∑m​(yi​βTx^i​−ln(1+eβTx^i​))
由于损失函数通常是以最小化为优化目标, 因此可以将最大化 \ell(\beta) 等价转化为最小化
ℓ ( β ) 的 相 反 数 − ℓ ( β ) , 此 即 为 公 式 ( 3.27 ) \ell(\boldsymbol{\beta}) 的相反数 -\ell(\boldsymbol{\beta}) , 此即为公式(3.27) ℓ(β)的相反数−ℓ(β),此即为公式(3.27)

4.利用信息论推导损失函数

4.1信息论概念

信息论:以概率论、随机过程为基本研究工具,研究广义通信系统的整个过程。

自信息:b=2时单位为bit,b=e时单位为nat
I ( X ) = − log ⁡ b p ( x ) I(X)=-\log _{b} p(x) I(X)=−logb​p(x)
信息熵:度量随机变量X的不确定性,信息熵越大越不确定
H ( X ) = E [ I ( X ) ] = − ∑ x p ( x ) log ⁡ b p ( x )  此处以离散型为例  H(X)=E[I(X)]=-\sum_{x} p(x) \log _{b} p(x) \quad \text { 此处以离散型为例 } H(X)=E[I(X)]=−x∑​p(x)logb​p(x) 此处以离散型为例 
并且约定了log0的情况
 若  p ( x ) = 0 , 则  p ( x ) log ⁡ b p ( x ) = 0 \text { 若 } p(x)=0 \text {, 则 } p(x) \log _{b} p(x)=0  若 p(x)=0, 则 p(x)logb​p(x)=0
相对熵(KL散度):度量两个分布的差异,其典型使用场景是用来度量**理想分布p(x)模拟分布q(x)**之间的差异。
D K L ( p ∥ q ) = ∑ x p ( x ) log ⁡ b ( p ( x ) q ( x ) ) D_{K L}(p \| q)=\sum_{x} p(x) \log _{b}\left(\frac{p(x)}{q(x)}\right)\\ DKL​(p∥q)=x∑​p(x)logb​(q(x)p(x)​)
= ∑ x p ( x ) log ⁡ b p ( x ) − ∑ x p ( x ) log ⁡ b q ( x ) =\sum_{x} p(x) \log _{b} p(x)-\sum_{x} p(x) \log _{b} q(x)\\ =x∑​p(x)logb​p(x)−x∑​p(x)logb​q(x)
其中
− ∑ x p ( x ) log ⁡ b q ( x ) -\sum_{x} p(x) \log _{b} q(x) −x∑​p(x)logb​q(x)
称为交叉熵。

理想分布最为接近的模拟分布即为最优分布,所以可以通过最小化相对熵这个策略来求出最优分布,理想分布p(x)是未知但固定的,即
∑ x p ( x ) log ⁡ b p ( x ) \sum_{x} p(x) \log _{b} p(x) x∑​p(x)logb​p(x)
为常量,所以最小化相对熵就等于最小化交叉熵
− ∑ x p ( x ) log ⁡ b q ( x ) -\sum_{x} p(x) \log _{b} q(x) −x∑​p(x)logb​q(x)

4.2应用信息论实例

以对数几率回归为例, 对单个样本 y_{i} 来说, 它的理想分布是
p ( y i ) = { p ( 1 ) = 1 , p ( 0 ) = 0 , y i = 1 p ( 1 ) = 0 , p ( 0 ) = 1 , y i = 0 p\left(y_{i}\right)=\left\{\begin{array}{ll} p(1)=1, p(0)=0, & y_{i}=1 \\ p(1)=0, p(0)=1, & y_{i}=0 \end{array}\right.\\ p(yi​)={p(1)=1,p(0)=0,p(1)=0,p(0)=1,​yi​=1yi​=0​
它现在的模拟分布是
q ( y i ) = { e β T x ^ ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) , y i = 1 1 1 + e β T x ^ = p 0 ( x ^ ; β ) , y i = 0 q\left(y_{i}\right)=\left\{\begin{array}{ll} \frac{e^{\beta^{\mathrm{T}} \hat{\hat{x}}}}{1+e^{\beta^{T} \hat{x}}}=p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}), & y_{i}=1 \\ \frac{1}{1+e^{\beta^{T} \hat{x}}}=p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}), & y_{i}=0 \end{array}\right. q(yi​)={1+eβTx^eβTx^^​=p1​(x^;β),1+eβTx^1​=p0​(x^;β),​yi​=1yi​=0​
那么单个样本的交叉熵为
− ∑ y i p ( y i ) log ⁡ b q ( y i ) − p ( 1 ) ⋅ log ⁡ b p 1 ( x ^ ; β ) − p ( 0 ) ⋅ log ⁡ b p 0 ( x ^ ; β ) − y i ⋅ log ⁡ b p 1 ( x ^ ; β ) − ( 1 − y i ) ⋅ log ⁡ b p 0 ( x ^ ; β )  令  b = e − y i ln ⁡ p 1 ( x ^ ; β ) − ( 1 − y i ) ln ⁡ p 0 ( x ^ ; β ) \begin{array}{c} -\sum_{y_{i}} p\left(y_{i}\right) \log _{b} q\left(y_{i}\right) \\ -p(1) \cdot \log _{b} p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-p(0) \cdot \log _{b} p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\ -y_{i} \cdot \log _{b} p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-\left(1-y_{i}\right) \cdot \log _{b} p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\\text { 令 } b=e\\ -y_{i} \ln p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-\left(1-y_{i}\right) \ln p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \end{array} −∑yi​​p(yi​)logb​q(yi​)−p(1)⋅logb​p1​(x^;β)−p(0)⋅logb​p0​(x^;β)−yi​⋅logb​p1​(x^;β)−(1−yi​)⋅logb​p0​(x^;β) 令 b=e−yi​lnp1​(x^;β)−(1−yi​)lnp0​(x^;β)​

全体样本的交叉熵为
∑ i = 1 m [ − y i ln ⁡ p 1 ( x ^ i ; β ) − ( 1 − y i ) ln ⁡ p 0 ( x ^ i ; β ) ] ∑ i = 1 m { − y i [ ln ⁡ p 1 ( x ^ i ; β ) − ln ⁡ p 0 ( x ^ i ; β ) ] − ln ⁡ ( p 0 ( x ^ i ; β ) ) } ∑ i = 1 m [ − y i ln ⁡ ( p 1 ( x ^ i ; β ) p 0 ( x ^ i ; β ) ) − ln ⁡ ( p 0 ( x ^ i ; β ) ) ] ∑ i = 1 m [ − y i ln ⁡ ( e β T x ^ 1 + e β T x ^ 1 1 + e β T x ^ ) − ln ⁡ ( 1 1 + e β T x ^ ^ ) ] ∑ i = 1 m ( − y i β T x ^ i + ln ⁡ ( 1 + e β T x ^ i ) ) 此 即 为 公 式 3.27 \begin{array}{c} \sum_{i=1}^{m}\left[-y_{i} \ln p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)-\left(1-y_{i}\right) \ln p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right] \\ \sum_{i=1}^{m}\left\{-y_{i}\left[\ln p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)-\ln p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right]-\ln \left(p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right)\right\} \\ \sum_{i=1}^{m}\left[-y_{i} \ln \left(\frac{p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)}{p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)}\right)-\ln \left(p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right)\right] \\ \sum_{i=1}^{m}\left[-y_{i} \ln \left(\frac{\frac{e^{\beta^{\mathrm{T}} \hat{\boldsymbol{x}}}}{1+e^{\beta^{T} \hat{x}}}}{\frac{1}{1+e^{\beta^{T} \hat{x}}}}\right)-\ln \left(\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\hat{x}}}}\right)\right]\\ \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) \quad\quad 此即为公式 3.27 \end{array} ∑i=1m​[−yi​lnp1​(x^i​;β)−(1−yi​)lnp0​(x^i​;β)]∑i=1m​{−yi​[lnp1​(x^i​;β)−lnp0​(x^i​;β)]−ln(p0​(x^i​;β))}∑i=1m​[−yi​ln(p0​(x^i​;β)p1​(x^i​;β)​)−ln(p0​(x^i​;β))]∑i=1m​[−yi​ln(1+eβTx^1​1+eβTx^eβTx^​​)−ln(1+eβTx^^1​)]∑i=1m​(−yi​βTx^i​+ln(1+eβTx^i​))此即为公式3.27​

这篇关于机器学习(第三章)3.3对数几率回归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!