机器学习之线性回归以及Logistic回归

1、线性回归

回归的目的是预测数值型数据的目标值。目标值的计算是通过一个线性方程得到的,这个方程称为回归方程,各未知量(特征)前的系数为回归系数,求这些系数的过程就是回归。

对于普通线性回归使用的损失函数一般为平方误差。把其用最小二乘法进行优化得到的关于系数w求导所得到的矩阵形式的表达式求得的w便为最优解了。

线性回归可以参考:https://www.cnblogs.com/pinard/p/6004041.html

2.Logistic回归

逻辑回归假设数据服从伯努利分布,以最大化条件概率为学习策略,以对数似然函数为损失函数,运用梯度下降法来优化参数,进而达到将数据二分类的目的。

Logistic回归是一种分类算法,既可以处理二分类也可以处理多分类,一般把其用于二分类的分类器。Logistic本质上是一个基于条件概率的判别模型(DiscriminativeModel)。利用了Sigmoid函数值域在[0,1]这个特性,以0.5作为分界线。利用了线性回归的原理,只不过线性回归最后求得的是数值型的结果,而Logistic回归最后会利用sigmoid函数把求得的结果转化为0-1之间的值,把大于0.5的判定为1,小于0.5的判定为0。Logistic回归的损失函数是最大似然估计的直接产物。

3.Logistic回归中为什么选用sigmoid函数

说的比较好的,尤其是最后的总结:https://blog.csdn.net/wolfblood_zzx/article/details/74453434#%E4%B8%89-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E9%80%89%E6%8B%A9sigmoid%E5%87%BD%E6%95%B0

先看一下浅层较好理解的解释:

逻辑回归(LR)模型的主要任务是给定一些历史的{X,Y},其中X是样本n个特征值,Y的取值是{0,1}代表正例与负例,通过对这些历史样本的学习,从而得到一个数学模型,给定一个新的X,能够预测出Y。LR模型是一个二分类模型,即对于一个X,预测其发生或不发生。但事实上,对于一个事件发生的情况,往往不能得到100%的预测,因此LR可以得到一个事件发生的可能性,超过50%则认为事件发生,低于50%则认为事件不发生.

从LR的目的上来看,在选择函数时,有两个条件是必须要满足的:
1)取值范围在0~1之间。
2.)对于一个事件发生情况,50%是其结果的分水岭,选择函数应该在0.5中心对称。

从这两个条件来看,Sigmoid很好的符合了LR的需求。
但是符合以上两个条件的函数有很多,但是为什么选用Sigmoid函数?

其中一个较好的解释是从最大熵方面进行解释的:

最大熵原理是概率模型(LR也是一个概率模型)学习的一个准则,最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。

在我们给定了某些假设之后,我们希望在给定假设前提下,分布尽可能的均匀。对于Logistic Regression,我们假设了对于{X,Y},我们预测的目标是P(Y|X),并假设认为{X,Y}服从伯努利分布,所以我们只需要知道P(Y|X);其次我们需要一个线性模型,所以P(Y|X)=f(wx)。接下来我们就只需要知道f是什么就行了。而我们可以通过最大熵原则推出的这个f,就是sigmoid。具体推导可以参考论文(http://www.win-vector.com/dfiles/LogisticRegressionMaxEnt.pdf
最后的总结:

为什么要选用sigmoid函数呢?为什么不选用其他函数,如probit函数?
其实,无论是sigmoid函数还是probit函数都是广义线性模型的连接函数(link function)中的一种。选用联接函数是因为,从统计学角度而言,普通线性回归模型是基于响应变量和误差项均服从正态分布的假设,且误差项具有零均值,同方差的特性。但是,例如分类任务(判断肿瘤是否为良性、判断邮件是否为垃圾邮件),其响应变量一般不服从于正态分布,其服从于二项分布,所以选用普通线性回归模型来拟合是不准确的,因为不符合假设,所以,我们需要选用广义线性模型来拟合数据,通过标准联接函数(canonical link or standard link function)来映射响应变量,如:正态分布对应于恒等式,泊松分布对应于自然对数函数,二项分布对应于logit函数(二项分布是特殊的泊松分布)。因此,说了这么多是想表达联接函数的选取除了必须适应于具体的研究案例,不用纠结于为什么现有的logistic回归会选用sigmoid函数,而不选用probit函数,虽然网上也有不少说法说明为什么选择sigmoid函数,例如“该函数有个漂亮的S型”,“在远离x=0的地方函数的值会很快接近0/1”,“函数在定义域内可微可导”,这些说法未免有些“马后炮”的感觉,哪个说法仔细分析都不能站住脚,我觉得选用sigmoid函数也就是因为该函数满足分类任务,用的人多了也就成了默认说法,这跟给物体取名字有点类似的感觉,都有些主观因素在其中。

原文地址:https://www.cnblogs.com/dyl222/p/11072940.html

时间: 2024-07-29 17:27:36

机器学习之线性回归以及Logistic回归的相关文章

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)

本文介绍了机器学习中基本的优化算法-梯度下降算法和随机梯度下降算法,以及实际应用到线性回归.Logistic回归.矩阵分解推荐算法等ML中. 梯度下降算法基本公式 常见的符号说明和损失函数 X :所有样本的特征向量组成的矩阵 x(i) 是第i个样本包含的所有特征组成的向量x(i)=(x(i)1,x(i)2...,x(i)n) y(i) 第i个样本的label,每个样本只有一个label,y(i)是标量(一个数值) hθ(x(i)) :拟合函数,机器学习中可以用多种类型的拟合函数 θ 是函数变量,

【转载】对线性回归,logistic回归和一般回归的认识

对线性回归,logistic回归和一般回归的认识 [转载时请注明来源]:http://www.cnblogs.com/jerrylead JerryLead 2011年2月27日 作为一个机器学习初学者,认识有限,表述也多有错误,望大家多多批评指正. 1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类.该方法处理的数据可以是多

对线性回归,logistic回归和一般回归

对线性回归,logistic回归和一般回归 [转自]:http://www.cnblogs.com/jerrylead JerryLead 2011年2月27日 作为一个机器学习初学者,认识有限,表述也多有错误,望大家多多批评指正. 1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类.该方法处理的数据可以是多维的. 讲义最初介

机器学习实战笔记5(logistic回归)

1:简单概念描述 假设现在有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归.训练分类器就是为了寻找最佳拟合参数,使用的是最优化算法. 基于sigmoid函数分类:logistic回归想要的函数能够接受所有的输入然后预测出类别.这个函数就是sigmoid函数,它也像一个阶跃函数.其公式如下: 其中: z = w0x0+w1x1+-.+wnxn,w为参数, x为特征 为了实现logistic回归分类器,我们可以在每个特征上乘以一个回归系数,然后把所有的结果

机器学习二(线性回归和Logistic回归)

前言 由于本部分内容讲解资源较多,本文不做过多叙述,重点放在实际问题的应用上. 一.线性回归 线性回归中的线性指的是对于参数的线性的,对于样本的特征不一定是线性的. 线性模型(矩阵形式):y=XA+e 其中:A为参数向量,y为向量,X为矩阵,e为噪声向量. 对于线性模型,通常采用最小二乘法作为其解法(可通过最大似然估计推得). 最小二乘法是通过最小化误差的平方和寻找数据的最佳函数匹配. 最小二乘法的解法有很多种,通常有: 解析法即求通过函数的导数为0确定函数的极值点 矩阵法---解析法的矩阵形式

对线性回归,logistic回归和一般回归的认识

假设有一个房屋销售的数据如下:这个表类似于北京5环左右的房屋价钱,我们可以做出一个图,x轴是房屋的面积.y轴是房屋的售价,如下: 如果来了一个新的面积,假设在销售价钱的记录中没有的,我们怎么办呢? 我们可以用一条曲线去尽量准的拟合这些数据,然后如果有新的输入过来,我们可以在将曲线上这个点对应的值返回.如果用一条直线去拟合,可能是下面 的样子:绿色的点就是我们想要预测的点. 首先给出一些概念和常用的符号. 房屋销售记录表:训练集(training set)或者训练数据(training data)

在matlab中实现线性回归和logistic回归

本文主要讲解在matlab中实现Linear Regression和Logistic Regression的代码,并不涉及公式推导.具体的计算公式和推导,相关的机器学习文章和视频一大堆,推荐看Andrew NG的公开课. 一.线性回归(Linear Regression) 方法一.利用公式 : function [ theta ] = linearReg() %线性回归. X=[1 1;1 2;1 3;1 4]; %注意第一列全为1,即x0=1,第二列才为x1 Y=[1.1;2.2;2.7;3.

1.线性回归、Logistic回归、Softmax回归

本次回归章节的思维导图版总结已经总结完毕,但自我感觉不甚理想.不知道是模型太简单还是由于自己本身的原因,总结出来的东西感觉很少,好像知识点都覆盖上了,但乍一看,好像又什么都没有.不管怎样,算是一次尝试吧,慢慢地再来改进.在这里再梳理一下吧! 线性回归(Linear Regression) 什么是回归? 给定一些数据,{(x1,y1),(x2,y2)-(xn,yn) },x的值来预测y的值,通常地,y的值是连续的就是回归问题,y的值是离散的就叫分类问题. 高尔顿的发现,身高的例子就是回归的典型模型

【机器学习算法实现】logistic回归__基于Python和Numpy函数库

[机器学习算法实现]系列文章将记录个人阅读机器学习论文.书籍过程中所碰到的算法,每篇文章描述一个具体的算法.算法的编程实现.算法的具体应用实例.争取每个算法都用多种语言编程实现.所有代码共享至github:https://github.com/wepe/MachineLearning-Demo     欢迎交流指正! (2)logistic回归__基于Python和Numpy函数库 1.算法简介 本文的重点放在算法的工程实现上,关于算法的原理不具体展开,logistic回归算法很简单,可以看看A