逻辑回归(LR)--分类

逻辑回归(logistic regression)属于有监督学习,判别模型线性分类,不支持多分类,有预测函数,优化目标,求解算法。

描述:

从模型,损失函数,优化算法来描述,那就是:一种假设数据服从伯努利分布,通过极大似然作为优化目标,使用梯度下降算法进行模型参数求解的二分类模型。 
应用场景:比较常用: 医生病理诊断,信用评估,垃圾邮件分类 

线性回归的回顾:参考上一篇文章:线性回归算法 https://blog.csdn.net/heda3/article/details/85844681

线性回归的目的是找到一条直线去拟合数据集的分布,并通过求解线性组合的数学表达式,实现预测新的数据。输入值和输出值的范围是连续的。

定义:给定一个数据集(X,Y),尽可能的学得一个线性模型h(\theta)对新的数据xi预测出f(xi),使得h\theta(xi)尽可能的逼近真实值yi。

1、如何基于已有的线性回归模型去实现分类任务?(构建模型)

通过映射关系将线性回归的输出值映射为只有0和1的输出结果,那么如何实现这样的映射关系?

引入广义线性模型

通过一个联系函数g实现映射。

关于映射函数的选取?

1)阶跃函数:

但是该函数不连续不能作为联系函数,对后面的求解不利。

参考:【1】https://blog.csdn.net/yinyu19950811/article/details/81321944

【2】反函数存在的条件https://blog.csdn.net/uncle_gy/article/details/78788737

2)引入对数几率函数(Sigmoid函数)

将对数几率函数代入广义线性模型可得到:

对数几率模型 

 

从上式分析,模型存在未知的w和b参数,如何依据现有的数据集去求解?

为此构建损失函数(策略,目的是找到优化的目标函数)

2、引入损失函数

线性回归的损失函数是:平方损失(均方误差)

逻辑回归模型的损失函数是?

使用线性回归的平方损失函数不行的原因:

下面引用:文章中机器学习算法(一):逻辑回归模型(Logistic Regression, LR)https://blog.csdn.net/weixin_39910711/article/details/81607386

前面我们介绍线性回归模型时,给出了线性回归的代价函数的形式(误差平方和函数),具体形式如下:

将逻辑回归的假设函数带入上式时,我们得到的是一个非凸函数,如下图:

这样的函数拥有多个局部极小值,这就会使得我们在使用梯度下降法求解函数最小值时,所得到的结果并非总是全局最小,而有更大的可能得到的是局部最小值

而对于逻辑回归使用的损失函数:常用的是对数损失函数

因为对数损失函数可以为LR提供一个凸的代价函数,有利于使用梯度下降对参数求解

详细可参考:https://blog.csdn.net/weixin_39910711/article/details/81607386

为了可以更加方便的进行后面的参数估计求解,把Cost表示在一行:

 

这与上面给出的两行表示形式是等价的。因此,代价函数最终形式为:

  

该函数是一个凸函数,这也达到了我们的要求。这也是LR代价函数最终形式

这里涉及一个问题:逻辑回归和似然函数的关系? 

似然函数和损失函数的关系?

参考:【3】逻辑回归的理解https://blog.csdn.net/t46414704152abc/article/details/79574003

【4】【机器学习】【逻辑回归】最大似然估计的推导和求解步骤和梯度上升算法求解https://blog.csdn.net/u012421852/article/details/79575720

更多关于似然函数的理解:写的不错的博客文章

【1】逻辑回归与最大似然估计推导https://blog.csdn.net/yinyu19950811/article/details/81321944

【2】最大似然估计(Maximum likelihood estimation)(通过例子理解)https://blog.csdn.net/u014182497/article/details/82252456

【3】似然与极大似然估计http://fangs.in/post/thinkstats/likelihood/

【4】极大似然估计的理解与应用 https://www.cnblogs.com/xing901022/p/8418894.html

【5】最大似然估计 (MLE) 最大后验概率(MAP)https://www.cnblogs.com/sylvanas2012/p/5058065.html

【6】极大似然估计思想的最简单解释https://blog.csdn.net/class_brick/article/details/79724660

【7】极大似然估计详解,写的太好了!https://blog.csdn.net/qq_39355550/article/details/81809467

【8】https://blog.csdn.net/touch_dream/article/details/79371462

3、优化算法求解

3.1使用梯度下降法求解

参考:文章https://blog.csdn.net/weixin_39910711/article/details/81607386

首先:Sigmoid函数的求导过程:

  

故,sigmoid函数的导数

   

损失函数梯度求解过程:

    

故,参数更新公式为(沿着梯度方向更新求解):

      

3.2使用梯度上升法求解

沿着函数梯度的方向找到函数的最大值

迭代公式:

分为3种情况:

1)使用全部数据集的梯度上升算法

    对整个数据集计算梯度

2)随机选择数据点的随机梯度上升算法

     一次只用一个样本更新回归系数

3)优化后的随机梯度上升算法

  alpha在每次迭代时候都会调整(同时避免参数严格下降,类似模拟退火算法)

   随机选取样本来更新回归系数

算法的优缺点:

 优点:

(1)适合一个得到分类概率的场景

(2)计算代价不高,容易理解和实现,训练速度快

(3)对于数据中的小噪声鲁棒性很好,并且不会受到轻微的多重共线性的特别影响?
缺点:

(1)容易欠拟合,分类精度不高

(2)数据特征缺失或者特征空间很大时表现效果不是很好?

(3)很难处理不平衡数据问题,处理非线性数据比较麻烦?

关于逻辑回归面试问题:https://www.cnblogs.com/ModifyRong/p/7739955.html

数学知识:凸函数的概念https://blog.csdn.net/u012513618/article/details/78392940

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heda3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值