讲解视频在这里
逻辑回归Logistic Regression——分类算法原理简介_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com![f1f62f45aadfa0f53ac5106bab7621f3.png](https://i-blog.csdnimg.cn/blog_migrate/2e6a05e0f8e15032d94ec2ad238dcf6c.jpeg)
介绍
- 逻辑回归:Logistic Regression,Logit Regression,是一种分类算法,常用于处理二分类,用来表示某件事情发生的可能性。任务是尽可能地拟合决策边界。
- 应用:银行信用卡欺诈可能性(是欺诈消费、不是欺诈消费)、下雨的可能性(下雨、不下雨),购买一件商品的可能性(买、不买),广告被点击的可能性(点、不点)
线性回归与逻辑回归
- 线性回归:y=ax+b,在已知几组数据(x,y)的历史数据情况下,如何预测给定一个新的自变量x时y的值呢?显然需要先计算出两个位置参数a,b的值,然后才可以进行预测。
- 但是在实际生活中,因变量yy的会受到很多X=(x0,x1,…,xn)的影响,两个之间的关系也非线性关系那么简单直接。可能是线性的、可能是多项式曲线型的、还有可能是多维空间的平面……
- y=ax+b输出的是连续值,但因变量也有可能是离散值
- 线性回归的分类问题与逻辑回归分类:
![7c74caec123099855802c09976eb3031.png](https://i-blog.csdnimg.cn/blog_migrate/de8747a8a9329dc933ff45471bbe1808.jpeg)
阶跃函数
如果某个函数可以用半开区间的指示函数的有限次线性组合来表示,那么这个函数就是阶跃函数。阶跃函数是有限段分段常数函数的组合。
![5ef2d9e077b05f48de607f9b40baf30f.png](https://i-blog.csdnimg.cn/blog_migrate/9cd76946d3a97ce9c8e03a8dc4096ef7.jpeg)
Sigmoid函数
然而逻辑回归是一个概率模型,我们需要的输出结果在(0,1)(0,1)之间,所以需要一个“映射函数”:逻辑回归中常用的映射函数就是Sigmoid函数
但是,逻辑回归的目标是解决二分类问题,在得到了一个概率值之后还需要对这个概率值进行“分类”。当概率值大于0.5时把样本归为正类、当概率值小于0.5时把样本归为负类。
Logistic分布
累计分布函数:
概率密度函数:
其中μ表示位置参数,s表示形状参数。形状类似正态分布、但峰度更高、尾部更长。
![7cf620b97d9c36e49e7a7f3b3b08f6ab.png](https://i-blog.csdnimg.cn/blog_migrate/91f6575954002e3ba3ddbea38246bedc.png)
![f021d7fd38f48d2a614030983ba19658.png](https://i-blog.csdnimg.cn/blog_migrate/fa2d5291a2dcbca7dd6cbb487a1673d9.jpeg)
我们已经确定好逻辑回归的数学表达形式了:阶跃函数+映射函数,那么接下来就是如何去求解模型中的参数,确定最优决策边界。
二项Logistic回归模型
二项Logistic回归模型是一种由条件概率分布P(Y|X)表示的分类模型,以n维随机变量X为输入,Y∈{0,1}为输出:
其中w也是一个n维的权值向量,b为偏置。Logistic回归只需要比较这两个条件概率值的大小,选择概率较大的那一类即可。
但是,上述式子仍显累赘。若令
几率(Odds)
统计学中,几率表示事件发生的概率p与事件不发生的概率1−p的比值
在Logistic回归模型中,几率取对数后表示为:
也就是说,在Logistic回归模型中,输出Y=1的对数几率是输入x的线性函数。
- 若线性函数趋近正无穷,概率值P(Y=1|x)就越接近1,
- 若线性函数趋近负无穷,概率值P(Y=1|x)就越接近0。
逻辑回归的主要思想就是:先拟合决策边界、然后由映射函数建立边界与分类概率的联系。
何为最优?
极大似然估计
已知一些样本,需要寻找一组参数使得现有样本出现概率最大化。
因为逻辑回归假设之一是样本服从伯努利分布,若令
则似然函数可表示为
对数似然:
损失函数(Loss/Cost Function)
用于衡量预测值与实际值的偏离程度,损失函数的值越小表示分类器越精准。“最优参数”就是使得损失函数取最小值。
1. 0-1损失函数:预测值与实际值不相等为1,相等为0.直接判断错分的个数。
2. 平方损失函数:误差平方和,常用于线性回归。
3. 对数损失函数:常用于模型输出时每一类概率的分类器,例如逻辑回归。
4. Hinge损失函数:分类正确损失为0,否则损失为1−yf(x),y=1或-1,f(x)∈(−1,1)1−yf(x),y=1或−1,f(x)∈(−1,1),常用于SVM。
对数损失函数也叫交叉熵损失函数。熵代表某个事件的不确定性,交叉熵代表两个概率分布(预测与真实)之间的差异性。通过最小化交叉熵损失函数就可以最大化逻辑回归分类器的精度。(补充:交叉熵损失的选取与最大熵模型有关)
表达式
![63fb8be5abb1618e74a97f882cc69f6a.png](https://i-blog.csdnimg.cn/blog_migrate/909610e35ef6c31903a38e7cba93a511.png)
![fbc7d45b8ff403bf6848281e26c19d3b.png](https://i-blog.csdnimg.cn/blog_migrate/381d84706ab921910ffea273b788a453.png)
将
对数似然与对数损失函数的关系:
求解参数方法
梯度下降法
通过损失函数Loss对参数w求一阶偏导来确定方向,并且确定步长α,来更新w:
直到
牛顿法
在现有极小点估计值的附近对Loss做二阶泰勒展开,进而找到极小点的一个估计值,设
然后令
训练模型:输入数据集为
使用模型:将得到的最优θ带入
一些引用:
- 线性分类与非线性分类图片:https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.researchgate.net%2Ffigure%2FLinear-versus-nonlinear-classification-problems_fig4_279274803&psig=AOvVaw1PBBJm6VF5-rWVF6VfcJrj&ust=1593648861408000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCOjWpubiquoCFQAAAAAdAAAAABAD
- https://zhuanlan.zhihu.com/p/100763009
- https://www.codelast.com/%E5%8E%9F%E5%88%9B-%E7%94%A8%E4%BA%BA%E8%AF%9D%E8%A7%A3%E9%87%8A%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E7%9A%84logistic-regression%EF%BC%88%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%EF%BC%89/
- https://www.bilibili.com/video/BV1tQ4y1N7vJ
- 线性回归与逻辑回归对比图: https://easyai.tech/ai-definition/logistic-regression/
- 阶跃函数与Sigmoid函数图片:https://gblobscdn.gitbook.com/assets%2F-LAHBpdrwoD-M1bqEq-u%2F-LJhU4NN2a_jPOdMmwT0%2F-LJhU6EDYTuuYCHiJR48%2Factivation-function.png?alt=media