算法笔记2——逻辑回归

与线性回归

逻辑回归是在线性回归的基础上加了一个 Sigmoid 函数(非线形)映射,使得逻辑回归称为了一个优秀的分类算法。

本质上来说,两者都属于广义线性模型,但他们两个要解决的问题不一样,逻辑回归解决的是分类问题,输出的是离散值,线性回归解决的是回归问题,输出的连续值。

明确 Sigmoid 函数到底起了什么作用:(连续可导以及导函数简单

  • 线性回归是在实数域范围内进行预测,而分类范围则需要在 [0,1],逻辑回归减少了预测范围;
  • 线性回归在实数域上敏感度一致,而逻辑回归在 0 附近敏感,在远离 0 点位置不敏感,这个的好处就是模型更加关注分类边界,可以增加模型的鲁棒性。

与SVM

相同点:

  • 都是分类算法,本质上都是在找最佳分类超平面;
  • 都是监督学习算法;
  • 都是判别式模型,判别模型不关心数据是怎么生成的,它只关心数据之间的差别,然后用差别来简单对给定的一个数据进行分类;
  • 都可以增加不同的正则项。

不同点:

  • LR 是一个统计的方法,SVM 是一个几何的方法;
  • SVM 的处理方法是只考虑 Support Vectors,也就是和分类最相关的少数点去学习分类器。而逻辑回归通过非线性映射减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重;
  • 损失函数不同:LR 的损失函数是交叉熵,SVM 的损失函数是 HingeLoss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。对 HingeLoss 来说,其零区域对应的正是非支持向量的普通样本,从而所有的普通样本都不参与最终超平面的决定,这是支持向量机最大的优势所在,对训练样本数目的依赖大减少,而且提高了训练效率;
  • LR 是参数模型,SVM 是非参数模型,参数模型的前提是假设数据服从某一分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。所以 LR 受数据分布影响,尤其是样本不均衡时影响很大,需要先做平衡,而 SVM 不直接依赖于分布;
  • LR 可以产生概率,SVM 不能;
  • LR 不依赖样本之间的距离,SVM 是基于距离的;
  • LR 相对来说模型更简单好理解,特别是大规模线性分类时并行计算比较方便。而 SVM 的理解和优化相对来说复杂一些,SVM 转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

1、简介

Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。其简单、可并行化、可解释强深受工业界喜爱。  Logistic 回归的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计。

2、Logistic 回归

对数几率函数,将 y 视为 x 为正例的概率,则 1-y 为 x 为其反例的概率

将 y 视为类后验概率估计,重写公式有:

3、代价函数

4、损失函数

最大化似然函数最小化损失函数实际上是等价的。

y真实值,h预测值

5、优化算法:梯度下降法

 

6、正则化

L1 正则化 LASSO 回归,相当于为模型添加了这样一个先验知识:w 服从零均值拉普拉斯分布

L2 正则化  Ridge 回归,相当于为模型添加了这样一个先验知识:w 服从零均值正态分布

正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。

L1 正则化就是在 loss function 后边所加正则项为 L1 范数,加上 L1 范数容易得到稀疏解(0 比较多)

L2 正则化就是 loss function 后边所加正则项为 L2 范数的平方,加上 L2 正则相比于 L1 正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于 0(但不是等于 0,所以相对平滑)的维度比较多,降低模型的复杂度。

7、与其他模型对比

https://zhuanlan.zhihu.com/p/74874291

线性回归

最大熵

SVM

相同点:

  • 都是分类算法,本质上都是在找最佳分类超平面;
  • 都是监督学习算法;
  • 都是判别式模型,判别模型不关心数据是怎么生成的,它只关心数据之间的差别,然后用差别来简单对给定的一个数据进行分类;
  • 都可以增加不同的正则项。

不同点:

  • LR 是一个统计的方法,SVM 是一个几何的方法;
  • SVM 的处理方法是只考虑 Support Vectors,也就是和分类最相关的少数点去学习分类器。而逻辑回归通过非线性映射减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重;
  • 损失函数不同:LR 的损失函数是交叉熵,SVM 的损失函数是 HingeLoss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。对 HingeLoss 来说,其零区域对应的正是非支持向量的普通样本,从而所有的普通样本都不参与最终超平面的决定,这是支持向量机最大的优势所在,对训练样本数目的依赖大减少,而且提高了训练效率;
  • LR 是参数模型,SVM 是非参数模型,参数模型的前提是假设数据服从某一分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。所以 LR 受数据分布影响,尤其是样本不均衡时影响很大,需要先做平衡,而 SVM 不直接依赖于分布;
  • LR 可以产生概率,SVM 不能;
  • LR 不依赖样本之间的距离,SVM 是基于距离的;
  • LR 相对来说模型更简单好理解,特别是大规模线性分类时并行计算比较方便。而 SVM 的理解和优化相对来说复杂一些,SVM 转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

朴素贝叶斯

LR模型细节

  • 为什么适合离散特征
  • 为什么不用平方误差(MSE)

 

 

目录

一、二元分类问题

1.1 二分类任务

1.2 对数几率

1.3 极大似然法(maximum likelihood)

1.4 优化算法

1.5 模型综述

二、两种角度看待逻辑回归

2.1 统计学角度:似然函数

2.2 机器学习角度:损失函数 

2.3 最终预测:从概率到选择

三 、模型评估

四、多元逻辑回归

五、scikit-learn 中 logistic regression 参数


一、二元分类问题

Logistic regression ( 逻辑回归 ) ,尽管它的名字是回归,但通常作为分类算法。 Logistic Regression 在文献中也被称为 logit 回归,maximum-entropy classification ( MaxEnt ) ( 最大熵分类 ) 或 log-linear classifier ( 对数线性分类器 ) 。

 

1.1 二分类任务

找到一个单调可微函数(sigmod函数),将分类任务的真实标记y与线性回归模型的预测值联系起来。

(1-1)

1.2 对数几率

对数几率(log odds)

由(1-1)变化得到

其中

(1-2)

(1-2)

 

1.3 极大似然法(maximum likelihood

①极大似然法:最大化对数似然函数

初始化参数

再令P为

则似然项可重写为

(1-3)

②将最大化问题转换为最小化负对数似然函数求解

(1-3)

 

1.4 优化算法

梯度下降法、牛顿法等

(1-4)

1.5 模型综述

二、两种角度看待逻辑回归

 

2.1 统计学角度:似然函数

与线性回归类似,为了估计模型参数,需要定义一个合理的参数似然函数(或者模型损失函数)。然后根据此函数,推导出模型参数估计值的表达式。

统计学角度考虑:根据模型,数据出现的概率越大越好(即最大似然估计法)

见1.3

 

 

2.2 机器学习角度:损失函数 

借鉴统计学中的做法,定义损失函数如下

交叉熵

交叉熵代价函数(损失函数)及其求导推导

 

2.3 最终预测:从概率到选择

逻辑回归模型的直接预测结果并不是非事件发生与否,而是事件放生的概率。

简而言之,逻辑回归的结果并非我们想要的最终分类结果,而是需要 进一步处理的中间结果。

 

三 、模型评估

F1-score、ROC曲线与AUC

 

四、多元逻辑回归

OvR(也叫OvA)、OvO

 

五、scikit-learn 中 logistic regression 参数

LogisticRegression参数详解

 

参考资料

[1] 《机器学习》周志华

[2] 《精通数据科学》唐亘

[3] 《统计学习方法》李航

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值