逻辑回归算法实现(逻辑回归算法实现手写数字识别)

http://www.itjxue.com  2023-01-28 15:17  来源:未知  点击次数: 

完成一个逻辑回归的算法.其中data.npz是数据,读取数据的方法为:

逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。 注意,这里用的是“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用。该结果往往用于和其他特征值加权求和,而非直接相乘。

Sigmoid 函数

Sigmoid函数是一个常见的S型数学函数,在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。在逻辑回归、人工神经网络中有着广泛的应用。Sigmoid函数的数学形式是:

对x求导可以推出如下结论:

机器学习常见算法优缺点之逻辑回归

我们在学习机器学习的时候自然会涉及到很多算法,而这些算法都是能够帮助我们处理更多的问题。其中,逻辑回归是机器学习中一个常见的算法,在这篇文章中我们给大家介绍一下关于逻辑回归的优缺点,大家有兴趣的一定要好好阅读哟。

首先我们给大家介绍一下逻辑回归的相关知识,逻辑回归的英文就是Logistic Regression。一般来说,逻辑回归属于判别式模型,同时伴有很多模型正则化的方法,具体有L0, L1,L2,etc等等,当然我们没有必要像在用朴素贝叶斯那样担心我的特征是否相关。这种算法与决策树、SVM相比,我们还会得到一个不错的概率解释,当然,我们还可以轻松地利用新数据来更新模型,比如说使用在线梯度下降算法-online gradient descent。如果我们需要一个概率架构,比如说,简单地调节分类阈值,指明不确定性,或者是要获得置信区间,或者我们希望以后将更多的训练数据快速整合到模型中去,我们可以使用这个这个算法。

那么逻辑回归算法的优点是什么呢?其实逻辑回归的优点具体体现在5点,第一就是实现简单,广泛的应用于工业问题上。第二就是分类时计算量非常小,速度很快,存储资源低。第三就是便利的观测样本概率分数。第四就是对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决该问题。第五就是计算代价不高,易于理解和实现。

当然,逻辑回归的缺点也是十分明显的,同样,具体体现在五点,第一就是当特征空间很大时,逻辑回归的性能不是很好。第二就是容易欠拟合,一般准确度不太高。第三就是不能很好地处理大量多类特征或变量。第四个缺点就是只能处理两分类问题,且必须线性可分。第五个缺点就是对于非线性特征,需要进行转换。

那么逻辑回归应用领域都有哪些呢?逻辑回归的应用领域还是比较广泛的,比如说逻辑回归可以用于二分类领域,可以得出概率值,适用于根据分类概率排名的领域,如搜索排名等、逻辑回归的扩展softmax可以应用于多分类领域,如手写字识别等。当然,在信用评估也有逻辑回归的使用,同时逻辑回归可以测量市场营销的成功度。当然,也可以预测某个产品的收益。最后一个功能比较有意思,那就是可以预定特定的某天是否会发生地震。

我们在这篇文章中给大家介绍了关于机器学习中逻辑回归算法的相关知识,从中我们具体为大家介绍了逻辑回归算法的优缺点以及应用领域。相信大家能够通过这篇文章能够更好的理解逻辑回归算法。

sklearn中的逻辑回归算法是怎么实现的

logisticregression逻辑回归;例句:1.Table2logisticregressionanalysisofsusceptiblefactorsofsilicosis.矽肺个体易感因素的logistic回归分析。.!如有不懂,请追问。!

机器学习的方法之回归算法

我们都知道,机器学习是一个十分实用的技术,而这一实用的技术中涉及到了很多的算法。所以说,我们要了解机器学习的话就要对这些算法掌握通透。在这篇文章中我们就给大家详细介绍一下机器学习中的回归算法,希望这篇文章能够帮助到大家。

一般来说,回归算法是机器学习中第一个要学习的算法。具体的原因,第一就是回归算法比较简单,可以让人直接从统计学过渡到机器学习中。第二就是回归算法是后面若干强大算法的基石,如果不理解回归算法,无法学习其他的算法。而回归算法有两个重要的子类:即线性回归和逻辑回归。

那么什么是线性回归呢?其实线性回归就是我们常见的直线函数。如何拟合出一条直线最佳匹配我所有的数据?这就需要最小二乘法来求解。那么最小二乘法的思想是什么呢?假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。

那么什么是逻辑回归呢?逻辑回归是一种与线性回归非常类似的算法,但是,从本质上讲,线型回归处理的问题类型与逻辑回归不一致。线性回归处理的是数值问题,也就是最后预测出的结果是数字。而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类。而逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。下面的两个算法是机器学习界最强大且重要的算法,都可以拟合出非线性的分类线。这就是有关逻辑回归的相关事项。

在这篇文章中我们简单给大家介绍了机器学习中的回归算法的相关知识,通过这篇文章我们不难发现回归算法是一个比较简答的算法,回归算法是线性回归和逻辑回归组成的算法,而线性回归和逻辑回归都有自己实现功能的用处。这一点是需要大家理解的并掌握的,最后祝愿大家能够早日学会回归算法。

弱分类器的强势体 逻辑回归算法与推导

弱分类器的强势体:逻辑回归算法与推导

逻辑回归的函数表达式为

用极大似然估计求解

每个样本发生的后验概率为

则所以样本发生总概率即似然函数为

L(θ)即为目标函数,-L(θ)即为loss函数,求-L(θ)最小

对数L(θ)函数为

对θ求导,即

无法求解。

用梯度下降法逼近最佳值,这里用的是梯度上升法,因为要求L(θ)最大值,其实道理一样。

整体梯度上升算法:

初始化wT=1

重复直至收敛:

计算整体梯度(?l(θ)/?θ)

根据θ+α*(?l(θ)/?θ)来更新回归系数wT

随机梯度上升算法:

初始化wT=1

重复直至收敛:

计算随机每个样本梯度(?l(θ)/?θ)

根据θ+α*(?l(θ)/?θ)来更新回归系数wT

逻辑回归的优点是实现简单,分类快。缺点是容易欠拟合,只能处理二分类问题(加上softmax优化可用于多分类),但是必须是线性可分的数据。

机器学习故事汇-逻辑回归算法

机器学习故事汇-逻辑回归算法

今天我们要来讨论的一个分类算法-逻辑回归(你有没有搞错,这不还是回归吗,虽然名字带上了回归其实它是一个非常实用的分类算法)。,适合对数学很头疼的同学们,小板凳走起!

先来吹一吹逻辑回归的应用,基本上所有的机器学习分类问题都可以使用逻辑回归来求解,当前拿到一份数据想做一个分类任务的时候第一手准备一定要拿逻辑回归来尝试(虽然有很多复杂的模型比如神经网络,支持向量机的名气更大,但是逻辑回归却更接地气,用的最多的还是它)!在机器学习中无论是算法的推导还是实际的应用一直有这样的一种思想,如果一个问题能用简单的算法去解决那么绝对没必要去套用复杂的模型。

在逻辑回归中最核心的概念就是Sigmoid函数了,首先我们先来观察一下它的自变量取值范围以及值域,自变量可以是任何实数(这没啥特别的!)但是我们观察值域的范围是[0,1]也就是任意的一个输入都会映射到[0,1]的区间上,我们来想一想这个区间有什么特别的含义吗?在我们做分类任务的时候一般我都都会认为一个数据来了它要么是0要么是1(只考虑二分类问题),我们其实可以更细致一点得出来它是0或者1的可能性有多大,由此我们就得出了一个输入属于某一个类别的概率值,这个[0,1]不就恰好是这个概率吗!

在这里我们的预测函数还是跟线性回归没有多大差别,只不过我们将结果又输入到Sigmoid函数中,这样得到了数据属于类别的概率值。在推导过程中,我们假定分类是两个类别的(逻辑回归是经典的而分类器)。设定y(标签)要么取0要么取1,这样就可以把两个类别进行整合,得到一个更直观的表达。

对于逻辑回归的求解,已然沿用我们上次跟大家讨论的梯度下降算法。给出似然函数,转换对数似然(跟线性回归一致),但是我们现在的优化目标却跟之前不太一样了,线性回归的时候我们要求解的是最小值(最小二乘法),但是现在我们想得到的却是使得该事件发生得最大值,为了沿用梯度下降来求解,可以做一个简单的转换添加一个负号以及一个常数很简单的两步就可以把原始问题依然转换成梯度下降可以求解的问题。

此处求导过程看起来有些长,但也都是非常非常基本的运算了,感兴趣拿起一支笔来实际算算吧!

最终就是参数更新了,迭代更新是机器学习的常规套路了。但是我们来简单想一想另外的一个问题,现在我们说的逻辑回归是一个二分类算法,那如果我的实际问题是一个多分类该怎么办呢?这个时候就需要Softmax啦,引入了归一化机制,来将得分值映射成概率值。

最后一句话总结一下吧,任何时候(没错就是这么狠)当我们一个实际任务来了,第一个算法就是逻辑回归啦,可以把它当成我们的基础模型,然后不断改进对比!

(责任编辑:IT教学网)

更多

相关Frontpage教程文章

推荐Frontpage教程文章