【精简推导】逻辑回归(对数几率回归)

目录

那么如何从线性回归得到我们的逻辑回归模型呢???

那么我们怎么得到这个模型的参数θ???


预备知识:

1.线性回归方模型:

2.Sigmoid函数及其几何图:

Sigmoid函数是一个S形状的函数,
当自变量Z趋近正无穷的时候,g(z)趋近于1,
当自变量z趋近负无穷的时候,g(z)趋近于0.
它能够把任意的实数压缩转换到0~1的区间(不等于0或者1)
因此这种转换很适合用来做二分类。
因此,逻辑回归虽然后面带了回归,但是它是用来做分类的。

那么如何从线性回归得到我们的逻辑回归模型呢???

很简单:我们把线性函数 z =\theta ^Tx,作为一个整体,直接带入到sigmoid中的z,就得到我们需要的逻辑回归模型的一般形式:

(接下来,你只要知道参数\Theta,和特征数据x,就可以把数据直接代入上面这个式子得到一个值了。而训练逻辑回归模型的任务就是想得到最好的拟合参数\Theta

为了把上式转变成广义线性模型的样子。

这里令y(x)除以1-y(x)可以得到几率(odds)\frac{y_i}{1-y_i},在几率的基础上取对数ln,得到:

右边形式就是线性模型的样子(亚子),因此我们把逻辑回归也叫做--对数 几率 回归 

那么我们怎么得到这个模型的参数θ???

先看逻辑回归的损失函数:

我们知道只要有了损失函数,我们就可以指导模型训练,得到我们需要的参数\theta

但是这个损失函数是怎么来的?

答:通过最大似然估计推导出来的。

 

我们认为,参数为\theta的逻辑回归模型中的一个样本i的预测情况表现为以下的形式:

1.样本i在由特征向量 x_i和参数\theta组成的预测函数中,样本标签被预测为1的概率为:

P_1 = P(\^y_i=1|x_i,\theta )=y_\theta (x_i)

样本i在由特征向量 x_i和参数 \theta组成的预测函数中,样本标签被预测为0的概率为:

P_0 = P(\^y_i=0|x_i,\theta )=1-y_\theta (x_i)

(当真实标签y_i为1时,如果此时P_1预测的概率等于1(则P_0为0,1-1=0)。这代表样本被预测为1,与真实一致,此时对于单样本i来说模型预测完全准确,没有信息损失,相反如果P_1此时预测不是1,而是0,那么原本真实为1,预测成了0就与真实情况相反了,这就错误了。反正之真实标签为0,也一样)

所以当真实标签为1的时候,我们希望P_1的预测概率尽量的大,非常接近1,

当真实标签等于0的时候,我们希望P_0的预测概率尽量大,非常接近1,这样模型就越准确越靠谱越不会分错,才没有损失。

 

将上面两个分开的式子,合并成一个单独的式子:

P(\^y_i|x_i,\theta )=P^{y_i}_1 * P^{1-y_i}_0

当真实标签y_i等于1的时候,P_0的0次方等于1,所以整个式子就等于P_1预测出来的概率。

当真实标签y_i等于0的时候,P_1的0次方等于1,所以整个式子就等于P_0预测出来的概率。

所以为了让模型拟合好,损失小,我们希望每时每刻P(\^y_i|x_i,\theta )的值等于1,也就是说每时每刻都在追求P(\^y_i|x_i,\theta )最大值

因此上面的问题变成了求极值的问题。

P=\prod_{i=1}^{m}P(\^y_i|x_i,\theta )=\prod_{i=1}^{m}(P^{y_i}_1*P^{1-y_i}_0)=\prod_{i=1}^{m}(y_\theta (x_i)^{y_i}*(1-y_\theta (x_i)^{1-y_i})

这个时候就可以引进极大似然估计了。(极大似然估计告诉我们,为了让后验概率尽可能的大,那就需要每一次的预测结果都

是它自己的真实概率)

最求上式的最值。等式两边log对数:

logP=log\prod_{i=1}^{m}(y_\theta (x_i)^{y_i}*(1-y_\theta (x_i)^{1-y_i}) =\sum_{i=1}^{m}log(y_\theta (x_i)^{y_i}*(1-y_\theta (x_i))^{1-y_i})

=\sum_{i=i}^{m}(log y_\theta (x_i)^{y_i} + log (1-y_\theta (x_i))^{1-y_i})

=\sum_{i=1}^{m}( y_i*log(y_\theta (x_i))+ (1-y_i)*log(1-y_\theta (x_i)))

这就是交叉熵函数。

为了符合凸优化的习惯,求一个最值,一般都是求它的最小值,上面是求极大似然的最大值,前面加一个负号就变成求最小值,也就得到了我们最上面提的损失函数了。

J(\theta )=-\sum_{i=1}^{m}( y_i*log(y_\theta (x_i))+ (1-y_i)*log(1-y_\theta (x_i)))

这就是通过极大似然推导出损失函数的过程。

 

One more thing:

似然与概率是一组非常相似的概念,它们都代表着某件事发生的可能性,
但它们在统计学和机器学习中有着微妙的不同。
假设我们有表达式:
P(y|x,θ)
如果参数θ是已知的,x是未知的,那么这个时候研究的就是自变量和因变量之间的关系--这是概率
如果x是已知的,参数θ是未知的,那么这个时候研究的就是参数和因变量之间的关系--这是似然



线性回归模型对数据的要求很严格,如标签符合正太分布,特征之间不能有多重共线性。
逻辑回归受多重共线性的影响很小,甚至它有时候还需要增加特征的关联性来提升模型表现。
对于特征和标签线性关系极强的数据,表现的特好。而逻辑回归在非线性数据的效果就相当于瞎猜了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值