逻辑回归(Logistic Regression, LR)

1、什么是逻辑回归;

2、逻辑回归的流程及推导;

3、逻辑回归的多分类

4、逻辑回归VS线性回归

5、逻辑回归 VS SVM

1、什么使逻辑回归;

名为回归,实际是分类,通过计算$P(y=0|x;\theta )$的大小来预测分类类别,预测的是类别0,1,而不是概率,但计算的是概率;$0\leq P(y=0|x;\theta )\leq 1$,是个概率值,本身并没有非0即1的概念;

二项逻辑回归:x是输入,y是输出;

$P(y=0|x)=\frac{1}{1+e^{-z}}$

$P(y=0|x)=\frac{1}{1+e^{-(\omega x+b)}}$

$P(y=1|x;\theta )+P(y=0|x;\theta )=1$

$z=\omega x+b$

$\frac{\partial z}{\partial w}=x$
$\frac{\partial z}{\partial b}=1$

logistic :对数几率函数

几率:发生的概率p/不发生的概率1-p$\frac{p}{1-p}$

对数几率:$logit(p)=\log \frac{p}{1-p}=\omega x$

$\omega x+b=0$即决策边界;

当p>1-p时,$ \frac{p}{1-p}>1$,$\log \frac{p}{1-p}>0$,即$\omega x>0$;

当p<1-p时,$ \frac{p}{1-p}<1$,$\log \frac{p}{1-p}<0$,即$\omega x<0$;

$z=\omega x+b$

当$z\geq 0$时,$g(z)\geq 0.5$,$y=1$

当$z< 0$时,$g(z)< 0.5$,$y=0$

2、逻辑回归的流程及推导;

模型参数估计:(用似然函数估计模型参数)

损失函数:$\prod_{i=1}^{N}p^{y_{i}}(1-p)^{1-y_{i}}$(此形式被称为交叉熵损失)

写对数似然函数,求其最大值;

梯度下降法,求w;

带入P(y=k|x;\theta )进行分类;

推导:

似然函数:$L=p^{y_{i}}(1-p)^{1-y_{i}}$

对数似然函数:$L=p{y_{i}}+(1-p)({1-y_{i}})$

从求对数似然函数的最大值,转换成求最小值:

$L=-(p{y_{i}}+(1-p)({1-y_{i}}))$

通过梯度下降法来求:

$\frac{\partial L}{\partial p}=-\frac{y_{i}}{p}+\frac{1-y_{i}}{1-p}$

$p=\frac{1}{1+e^{-z}}$

$\frac{\partial p}{\partial z}=\frac{e^{-z}}{(1+e^{-z})^{2}}=p(1-p)$

$\frac{\partial z}{\partial w}=x$
$\frac{\partial z}{\partial b}=1$

$dw=(p-y_{i})x$

$db=(p-y_{i})$

3、逻辑回归的多分类

方法一:相当于做N个两分类:

1VS23,$h_{\theta }^{1}(x)$

2VS13,$h_{\theta }^{2}(x)$

3VS12;$h_{\theta }^{3}(x)$

求最大的$h_{\theta }^{i}(x)$对应的类别;

方法二:把sigmoid函数换成softmax

这时候,softmax回归算法的代价函数如下所示(其中):

很明显,上述公式是logistic回归损失函数的推广。

我们可以把logistic回归的损失函数改为如下形式:

然后再用梯度下降法求就可以了。

4、逻辑回归VS线性回归

线性回归:

$f(x_{i})=\omega x_{i}+b$,使得$y_{i}\approx f(x_{i})$

最小二乘法求参数

线性回归一般用平方差误差函数(源于极大似然估计),

但对于逻辑回归它是非凸函数,只有局部最优解;

逻辑回归代价函数用交叉熵(源于极大似然估计),原因:凸函数,有全局最优解;

不同点:

1、逻辑回归分类,线性回归是回归;

2、逻辑回归因变量是离散的,线性回归因变量是连续的;

逻辑回归并不是线性回归加激活函数

$h_{\theta }(x)=g(\theta _{0}+\theta _{1}x_{1}+\theta _{2}x_{2}+\theta _{3}x_{1}^{2}+\theta _{3}x_{2}^{2})$

通过在特征中使用多项式,可以得到更多更复杂的边界,而不只是线性划分;

决策边界不是训练集的属性,而是假设本身$h_{\theta }(x)$及其参数的属性;

非线性模型,但本质是线性分类模型;

线性回归上添加sigmoid映射,估计$P(y=1|x)$的概率来分类;

$\omega x+b=0$为决策边界,分为实现线性的;

例如:

$\theta _{0}+\theta _{1}x_{1}+\theta _{2}x_{2}=0$

$\theta _{0}+\theta _{1}x_{1}^{2}+\theta _{2}\sqrt{x_{2}}=0$

看似不是线性的,但只是对变量做了变化;

如$t_{1}=x_{1}^{2},t_{2}=\sqrt{x_{2}}$

$\theta _{0}+\theta _{1}t_{1}+\theta _{2}t_{2}=0$

5、逻辑回归 VS SVM

$$g(z)=\frac{1}{1+e^{-z}}$$

$$P(y=0|x;\theta )=\frac{1}{1+e^{-(wx+b)}}$$

$h(x)=$对于输入x,预测结果为1的概率(参数为$\theta$时)$=P(y=1|x;\theta )$

LR也可以像SVM一样,用kernel进行变量转换,解决分线性问题;

但LR易过拟合,因为LR的VC维随变量线性增长;

SVM不易过拟合,因为SVM的VC维随变量对数级增长;

原文地址:https://www.cnblogs.com/danniX/p/10720198.html

时间: 2024-11-03 03:37:57

逻辑回归(Logistic Regression, LR)的相关文章

sklearn逻辑回归(Logistic Regression,LR)调参指南

python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share sklearn逻辑回归官网调参指南 https://scikit-learn.org/stable/modules/generated/sklearn.linear

机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 前面介绍过线性回归的基本知识,线性回归因为它的简单,易用,且可以求出闭合解,被广泛地运用在各种机器学习应用中.事实上,除了单独使用,线性回归也是很多其他算法的组成部分.线性回归的缺点也是很明显的,因为线性回归是输入到输出的线性变换,拟合能力有限:另外,线性回归的目标值可以是(?∞,+∞),而有的时候,目标值的范围是[0,1](可以表示概率值),那么就不方便了. 逻辑回归可以说是最为常用的机器学习算法之一,最经典的场景就

机器学习 (三) 逻辑回归 Logistic Regression

文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 3.  逻辑回归 Logistic Regression 1 分类Classification 首先引入了分类问题的概念——在分类(Classification)问题中,所需要预测的$y$是离散值.例如判断一封邮件是否属于垃圾邮件.判断一个在线交

机器学习笔记04:逻辑回归(Logistic regression)、分类(Classification)

之前我们已经大概学习了用线性回归(Linear Regression)来解决一些预测问题,详见: 1.<机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)> 2.<机器学习笔记02:多元线性回归.梯度下降和Normal equation> 3.<机器学习笔记03:Normal equation及其与梯度下降的比较> 说明:本文章所有图片均属于Stanford机器学课程,转载请注明出处 面对一些类似回归问题,我们可

逻辑回归(logistic regression)

logistic regression可以解决分类问题,即输出的结果只有0和1两种,比如,对于邮件的判断只有是或者否.这种分类问题使用传统的线性回归并不能很好的解决. 一个小例子 例如,当我们根据肿瘤的大小判断一个肿瘤是不是良性的时候,输出结果只有是或者否,用1和0表示,给定的样本点,并且我们使用传统的线性回归问题解决拟合的函数图像如下: 图像中我们可以根据拟合曲线,当输出值大于0.5(根据图像判断的值)的时候,确定输出的为恶性(即为1):当输出值小于0.5(根据图像判断的值)的时候,确定输出的

机器学习总结之逻辑回归Logistic Regression

机器学习总结之逻辑回归Logistic Regression 逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法.简单的说回归问题和分类问题如下: 回归问题:预测一个连续的输出. 分类问题:离散输出,比如二分类问题输出0或1. 逻辑回归常用于垃圾邮件分类,天气预测.疾病判断和广告投放. 一.假设函数 因为是一个分类问题,所以我们希望有一个假设函数,使得: 而sigmoid 函数可以很好的满足这个性质: 故假设函数: 其实逻辑回归为什么要用sigmoi

【机器学习】Octave 实现逻辑回归 Logistic Regression

34.62365962451697,78.0246928153624,0 30.28671076822607,43.89499752400101,0 35.84740876993872,72.90219802708364,0 60.18259938620976,86.30855209546826,1 79.0327360507101,75.3443764369103,1 45.08327747668339,56.3163717815305,0 61.10666453684766,96.51142

逻辑回归 logistic regression(1)逻辑回归的求解和概率解释

本系列内容大部分来自Standford公开课machine learning中Andrew老师的讲解,附加自己的一些理解,编程实现和学习笔记. 第一章 Logistic regression 1.逻辑回归 逻辑回归是一种监督学习的分类算法,相比较之前的线性回归算法,差别在于它是一个分类算法,这也意味着y不再是一个连续的值,而是{0,1}的离散值(两类问题的情况下). 当然这依然是一个判别学习算法,所谓判别学习算法,就是我们直接去预测后验 ,或者说直接预测判别函数的算法.当然相对应的生成学习算法,

Coursera机器学习-第三周-逻辑回归Logistic Regression

Classification and Representation 1. Classification Linear Regression (线性回归)考虑的是连续值([0,1]之间的数)的问题,而Logistic Regression(逻辑回归)考虑的是离散值(例如只能取0或1而不能取0到1之间的数)的问题.举个例子,你需要根据以往季度的电力数据,预测下一季度的电力数据,这个时候需要使用的是线性回归,因为这个值是连续的,而不是离散的.而当你需要判断这个人抽烟还是不抽烟的问题时,就需要使用逻辑回

机器学习之逻辑回归(Logistic Regression)

"""逻辑回归中的Sigmoid函数"""   import numpy as np   import matplotlib.pyplot as plt     def sigmoid(t):   return 1/(1+np.exp(-t))     x=np.linspace(-10,10,500)   y=sigmoid(x)     plt.plot(x,y)   plt.show() 结果: 逻辑回归损失函数的梯度:   逻辑回归算法: