机器学习算法三:逻辑回归

逻辑回归:logistic回归是一种广义的线性回归,通过构造回归函数,利用机器学习来实现分类或者预测。

  1. 线性模型:通过特征的线性组合预测的函数。其一般向量格式为:        

线性模型具有较好的可解释性,w表示不同特征对标签预测的重要性。

(2)原理:本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测在特征x的线性组合下,标签y发生的概率值,同时通过最大似然估计对模型W,b进行最优参数估计,以更新线性模型参数,以更好地拟合数据集。g(z)可以将连续值映射到0和1上;

P(y):在特征x的线性组合下,标签y发生的概率值;

(3)LR算法流程:

(4)本质:先使用线性回归模型的预测值逼近分类任务真实标记的对数几率,后假设P(y)服从某分布,然后使用极大似然估计做参数估计。

(5)逻辑回归计算过程公式推导:

 

由于逻辑回归针对二分类,P(y):在特征x的线性组合下,标签y发生的概率值;则1-P(y)为标签y不发生的概率值;

通过最大似然估计找到最优参数w,b,使似然度(概率)最大化;(参数优化目标:损失最小化)

似然函数:        

两边取对数即

取整个数据集上的平均对数似然损失,得:

则其损失函数为:

求解损失函数:★随机梯度下降;★牛顿法

★随机梯度下降: 通过 J(w) 对 w 的一阶导数来找下降方向,并且以迭代的方式来更新参数,每次更新参数后,可以通过比较 ||J(wk+1)-J(wk)|| 小于阈值或者到达最大迭代次数来停止迭代。

★牛顿法:在现有极小点估计值的附近对 f(x) 做二阶泰勒展开,进而找到极小点的下一个估计值。(要求:目标函数J(w)是二阶连续可微的)

(6)正则化:(目的:避免过拟合)

●在训练误差最小化的条件下,尽可能采用简单的模型,可以有效提高泛化预测精度。如果模型过于复杂,变量值稍微有点变动,就会引起预测精度问题。正则化之所以有效,就是因为其降低了特征的权重,使得模型更为简单。

●正则化一般会采用 L1 范式(添加一个先验知识:w 服从零均值拉普拉斯分布)或者 L2 范式(添加一个先验知识:w服从零均值正态分布),其格式如:,代入后得:

L1正则化:

L1 正则化增加了所有权重 w 参数的绝对值之和逼迫更多w为0,L1 正则化的引入就是为了完成特征自动选择

L2正则化:

L2 正则化中增加所有权重 w 参数的平方之和,逼迫所有 w 尽可能趋向0但不为0,因为在未加入 L2 正则化发生过拟合时,拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大,在某些很小的区间里,函数值的变化很剧烈,也就是某些 w 值非常大。为此,L2 正则化的加入就惩罚了权重变大的趋势

(7)优点:

  • 直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题(区别于生成式模型);
  • 不仅可预测出类别,还能得到该预测的概率,这对一些利用概率辅助决策的任务很有用;
  • 对数几率函数是任意阶可导的凸函数,有许多数值优化算法都可以求出最优解。

(8)与不同模型间对比:

模型

相同点

不同点

线性回归

都属于广义线性模型

  • 逻辑回归是在线性回归的基础上加了一个 Sigmoid 函数(非线性)映射
  • 解决的问题不一样:逻辑回归解决的是分类问题,输出的是离散值;线性回归解决的是回归问题,输出的连续值

SVM

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

朴素贝叶斯

属于分类模型,当朴素贝叶斯的条件概率服从高斯分布时,它计算出来的 形式跟逻辑回归是一样的。

  • 逻辑回归是判别式模型,朴素贝叶斯是生成式模型;判别式模型估计的是条件概率分布;而生成式模型估计的是联合概率分布。生成式更关心的是对于给定输入 x 和输出 y 的生成关系;
  • 朴素贝叶斯的前提是条件独立,每个特征权重独立,所以如果数据不符合这个情况,朴素贝叶斯的分类表现就没逻辑会好了。

Sklearn 框架实现逻辑回归

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值