《机器学习》对数几率回归——笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guanyuqiu/article/details/84647347

对数几率回归不是回归函数而是分类函数。

广义线性模型y=g^{^{-1}}(w^{^{T}}x+b)

提出问题:需要找到一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来

线性回归预测值z=w^{^{T}}x+b,应用于分类问题一般选用“单位阶跃函数”

y=\left\{\begin{matrix}0,z<0 & \\ 0.5,z=0 & \\ 1,z>0 & \end{matrix}\right.

但阶跃函数不连续,而对数几率函数正好可以替代阶跃函数,它单调可微,函数表达式为

y=\frac{1}{1+e^{^{-z}}} 把线性模型代入得到

y=\frac{1}{1+e^{^{-(w^{^{T}}+b))}}}                                 (1)

根据对数形式进行更新变形为:

ln\frac{y}{1-y}=w^{^{T}}x+b                                     (2)

y视为样本x为正例的可能性,1-y则放映了做为反例的可能性。

利用对数几率回归进行分类的优点:

                  1.无需视线假设数据分布,避免了分布不准确所带来的问题;

                  2.不仅预测出类别,而且磕到近似概率预测;

                  3.任意阶磕到的凸函数,比较好优化;

下面推到怎样求模型中的w和b:

对于某一个分类任务,结果输出(0,1)

根据式子(1)中的y视为类后验概率估计p(y=1|x)

则式子(2)可以写成:ln\frac{p(y=1|x)}{p(y=0|x))}=w^{T}x+b

p(y=1|x)+p(y=0|x)=1

组合解出:

p(y=1|x) = \frac{e^{w^{T}x+b}}{1+e^{w^{T}x+b}}

p(y=0|x) = \frac{1}{1+e^{w^{T}x+b}}

可以通过最大似然估计来计算w和b,给定数据集(x{_{i}},y{_{i}}){_{i=1}^{m}},对率回归模型最大化“对数似然”:

L(w,b)=\sum lnp(y{_{i}}|x{_{i}};w,b)

为了方便令\beta =(w;b),\grave{x}=(x;1)w^{^{T}}x+b可简化为\beta ^{^{T}}\hat{x}

再令

p{_{1}}(\check{x};\beta )=p(y=1|\check{x};\beta )=\frac{e^{\beta ^{T}x{_{i}}}}{1+e^{\beta ^{T}x{_{i}}}}

p{_{0}}(\check{x};\beta )=p(y=0|\check{x};\beta )=1-p{_{1}}(\check{x};\beta )=1-\frac{1}{1+e^{\beta ^{T}x{_{i}}}}

根据最大似然估计代入对数似然模型中得到

L(w,b)=\sum(-y{_{i}}\beta^{T}x{_{i}}+ln(1+e^{\beta^{T}x{_{i}}})))

上式是关于\beta的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法、牛顿法等求得最优解

算法思路:

猜你喜欢

转载自blog.csdn.net/guanyuqiu/article/details/84647347