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

dyl222 dyl222     2022-12-22     421

关键词:

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函数也就是因为该函数满足分类任务,用的人多了也就成了默认说法,这跟给物体取名字有点类似的感觉,都有些主观因素在其中。

 

机器学习之logistic回归算法

1Logistic回归算法的原理1.1需要的数学基础我在看机器学习实战时对其中的代码非常费解,说好的利用偏导数求最值怎么代码中没有体现啊,就一个简单的式子:θ=θ - α Σ[(hθ(x(i))-y(i) )]*xi。经过查找资料才知道,... 查看详情

机器学习之线性回归(代码片段)

目录预测数值型数据:回归用线性回归找到最佳拟合直线程序8-1标准回归函数和数据导入函数程序8-2基于程序8-1绘图图片8-1ex0的数据集和它的最佳拟合直线局部加权线性回归图片8-2参数k与权重的关系程序8-3局部加权线性回归函... 查看详情

20171028机器学习之线性回归过拟合问题的解决方案

在函数中加入一个正则项: 三种方式:一、Ridge回归(岭回归):  优点:具有较高的准确性、鲁棒性以及稳定性  缺点:求解速度慢二、Lasso回归:  优点:求解速度快(原理降维计算,把数据维度中存在的噪音和... 查看详情

机器学习之线性回归

1.线性回归简述在统计学中,线性回归(LinearRegression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变... 查看详情

机器学习之logistic回归(逻辑回归)(代码片段)

目录Logistic回归博客园地址:https://www.cnblogs.com/chenyoude/git地址:https://github.com/nickcyd/machine_learning微信:a1171958281Logistic回归本章内容回归算法Logistic回归的一般过程Logistic的优缺点基于Logistic回归和Sigmoid函数的分类Sigmoid函数Logistic... 查看详情

机器学习之logistic回归(代码片段)

  都说万事开头难,可一旦开头,就是全新的状态,就有可能收获自己未曾预料到的成果。记录是为了更好的监督、理解和推进,学习过程中用到的数据集和代码都将上传到github  回归是对一个或多个自变量和因变量之间的... 查看详情

机器学习之线性回归算法

...回归算法总结:  回归是统计学中最有力的工具之一。机器习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于连续型分布预测,针对的是数值型的样本,... 查看详情

机器学习之一元线性回归模型

一元线性回归模型样本数量m           输入变量x              输出变量y    &nb 查看详情

机器学习之线性回归(代码片段)

文章目录评价方法一元线性回归np.polyfit求解带入公式求解化简公式求解lstsq求解多元线性回归代码实现一元多项式回归代码实现参考评价方法回归问题有很多的评价方法。这里主要想写一下R^2的计算方法。需要计算R^2需要先弄清... 查看详情

4.机器学习之逻辑回归算法

理论上讲线性回归模型既可以用于回归,也可以用于分类。解决回归问题,可以用于连续目标值的预测。但是针对分类问题,该方法则有点不适应,因为线性回归的输出值是不确定范围的,无法很好的一一对应到我们的若干分类... 查看详情

javascript机器学习之线性回归

译者按:AI时代,不会机器学习的JavaScript开发者不是好的前端工程师。原文:MachineLearningwithJavaScript:Part1译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。使用JavaScript做机器学... 查看详情

机器学习之逻辑回归

2.逻辑回归简述Logistic回归算法基于Sigmoid函数,或者说Sigmoid就是逻辑回归函数。Sigmoid函数定义如下: 11+e?z。函数值域范围(0,1)。因此逻辑回归函数的表达式如下: hθ(x)=g(θTX)=11+e?θTX其中,g(z)=11+e?z其导数形式为: g′... 查看详情

机器学习之线性回归

1.机器学习算法**监督学习:**已经知道类别的样本,通过一定的模型或者是特定的算法,可以预测出某种特定的结果,例如预测房价,最终可以预测出房价是什么,或者是预测肿瘤疾病,判断肿瘤是良... 查看详情

机器学习之线性回归

1.机器学习算法**监督学习:**已经知道类别的样本,通过一定的模型或者是特定的算法,可以预测出某种特定的结果,例如预测房价,最终可以预测出房价是什么,或者是预测肿瘤疾病,判断肿瘤是良... 查看详情

机器学习之逻辑回归

1.用自己的话描述一下,什么是逻辑回归,与线性回归对比,有什么不同?逻辑回归又称逻辑回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域;与线性回归相比大致有两大不同:①... 查看详情

机器学习之线性回归(代码片段)

以kaggle上的HousePrices:AdvancedRegressionTechniques为例讲述线性回归fromsklearn.linear_modelimportLinearRegression,RidgeCV,LassoCV,ElasticNetCV1、回归模型(1)一般线性回归:LinearRegressionwithoutregularizationfromsklearn.linear_modelimportLinearRegressionlr=LinearRegression... 查看详情

机器学习之线性回归概念总结速记

目录线性回归简介线性回归应用场景线性回归定义线性回归模型线性回归初步使用步骤分析代码过程线性回归的损失和优化损失函数优化算法正规方程梯度下降梯度的概念梯度下降和正规方程的对比算法选择依据欠拟合和过拟合... 查看详情

机器学习之回归模型-调用sklearn库求解线性回归(代码片段)

机器学习之回归模型-调用sklearn库求解线性回归在使用sklearn库之前,我们先看一下这个库的结构,该库经常用于监督学习和无监督学习,sklearn共分为6大部分,分别用于完成分类任务,回归任务,聚类任务&... 查看详情