机器学习(第三章)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+ez1
下图是单位阶跃函数与对数几率函数的对比

在这里插入图片描述

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=1x)=1+e(wTx+b)1=1+ewTx+bewTx+bp(y=0x)=1p(y=1x)=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=1x^;β)=1+eβTx^eβTx^=p1(x^;β)p(y=0x^;β)=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(yx^;β)=yp1(x^;β)+(1y)p0(x^;β)3.26p(yx^;β)=[p1(x^;β)]y[p0(x^;β)]1y
西瓜书采用的第一种,不过第二种的推导更简单,南瓜书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=1mp(yix^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=1mlnp(yix^i;β)(β)=i=1mln(yip1(x^i;β)+(1yi)p0(x^i;β))  p1(x^i;β)=1+eβTx^ieβTx^i,p0(x^i;β)=1+eβTx^i1 代入上式可得 (β)=i=1mln(1+eβTx^iyieβTx^i+1+eβTx^i1yi)=i=1mln(1+eβTx^iyieβTx^i+1yi)=i=1m(ln(yieβTx^i+1yi)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^iln(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=1m(yiβTx^iln(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)=logbp(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)]=xp(x)logbp(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)logbp(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(pq)=xp(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)\\ =xp(x)logbp(x)xp(x)logbq(x)
其中
− ∑ x p ( x ) log ⁡ b q ( x ) -\sum_{x} p(x) \log _{b} q(x) xp(x)logbq(x)
称为交叉熵。

理想分布最为接近的模拟分布即为最优分布,所以可以通过最小化相对熵这个策略来求出最优分布,理想分布p(x)是未知但固定的,即
∑ x p ( x ) log ⁡ b p ( x ) \sum_{x} p(x) \log _{b} p(x) xp(x)logbp(x)
为常量,所以最小化相对熵就等于最小化交叉熵
− ∑ x p ( x ) log ⁡ b q ( x ) -\sum_{x} p(x) \log _{b} q(x) xp(x)logbq(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} yip(yi)logbq(yi)p(1)logbp1(x^;β)p(0)logbp0(x^;β)yilogbp1(x^;β)(1yi)logbp0(x^;β)  b=eyilnp1(x^;β)(1yi)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[yilnp1(x^i;β)(1yi)lnp0(x^i;β)]i=1m{yi[lnp1(x^i;β)lnp0(x^i;β)]ln(p0(x^i;β))}i=1m[yiln(p0(x^i;β)p1(x^i;β))ln(p0(x^i;β))]i=1m[yiln(1+eβTx^11+eβTx^eβTx^)ln(1+eβTx^^1)]i=1m(yiβTx^i+ln(1+eβTx^i))3.27

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值