Ⅰ 机器学习故事汇-逻辑回归算法
机器学习故事汇-逻辑回归算法
今天我们要来讨论的一个分类算法-逻辑回归(你有没有搞错,这不还是回归吗,虽然名字带上了回归其实它是一个非常实用的分类算法)。,适合对数学很头疼的同学们,小板凳走起!
先来吹一吹逻辑回归的应用,基本上所有的机器学习分类问题都可以使用逻辑回归来求解,当前拿到一份数据想做一个分类任务的时候第一手准备一定要拿逻辑回归来尝试(虽然有很多复杂的模型比如神经网络,支持向量机的名气更大,但是逻辑回归却更接地气,用的最多的还是它)!在机器学习中无论是算法的推导还是实际的应用一直有这样的一种思想,如果一个问题能用简单的算法去解决那么绝对没必要去套用复杂的模型。
在逻辑回归中最核心的概念就是Sigmoid函数了,首先我们先来观察一下它的自变量取值范围以及值域,自变量可以是任何实数(这没啥特别的!)但是我们观察值域的范围是[0,1]也就是任意的一个输入都会映射到[0,1]的区间上,我们来想一想这个区间有什么特别的含义吗?在我们做分类任务的时候一般我都都会认为一个数据来了它要么是0要么是1(只考虑二分类问题),我们其实可以更细致一点得出来它是0或者1的可能性有多大,由此我们就得出了一个输入属于某一个类别的概率值,这个[0,1]不就恰好是这个概率吗!
在这里我们的预测函数还是跟线性回归没有多大差别,只不过我们将结果又输入到Sigmoid函数中,这样得到了数据属于类别的概率值。在推导过程中,我们假定分类是两个类别的(逻辑回归是经典的而分类器)。设定y(标签)要么取0要么取1,这样就可以把两个类别进行整合,得到一个更直观的表达。
对于逻辑回归的求解,已然沿用我们上次跟大家讨论的梯度下降算法。给出似然函数,转换对数似然(跟线性回归一致),但是我们现在的优化目标却跟之前不太一样了,线性回归的时候我们要求解的是最小值(最小二乘法),但是现在我们想得到的却是使得该事件发生得最大值,为了沿用梯度下降来求解,可以做一个简单的转换添加一个负号以及一个常数很简单的两步就可以把原始问题依然转换成梯度下降可以求解的问题。
此处求导过程看起来有些长,但也都是非常非常基本的运算了,感兴趣拿起一支笔来实际算算吧!
最终就是参数更新了,迭代更新是机器学习的常规套路了。但是我们来简单想一想另外的一个问题,现在我们说的逻辑回归是一个二分类算法,那如果我的实际问题是一个多分类该怎么办呢?这个时候就需要Softmax啦,引入了归一化机制,来将得分值映射成概率值。
最后一句话总结一下吧,任何时候(没错就是这么狠)当我们一个实际任务来了,第一个算法就是逻辑回归啦,可以把它当成我们的基础模型,然后不断改进对比!
Ⅱ 机器学习常见算法优缺点之逻辑回归
我们在学习机器学习的时候自然会涉及到很多算法,而这些算法都是能够帮助我们处理更多的问题。其中,逻辑回归是机器学习中一个常见的算法,在这篇文章中我们给大家介绍一下关于逻辑回归的优缺点,大家有兴趣的一定要好好阅读哟。
首先我们给大家介绍一下逻辑回归的相关知识,逻辑回归的英文就是Logistic Regression。一般来说,逻辑回归属于判别式模型,同时伴有很多模型正则化的方法,具体有L0, L1,L2,etc等等,当然我们没有必要像在用朴素贝叶斯那样担心我的特征是否相关。这种算法与决策树、SVM相比,我们还会得到一个不错的概率解释,当然,我们还可以轻松地利用新数据来更新模型,比如说使用在线梯度下降算法-online gradient descent。如果我们需要一个概率架构,比如说,简单地调节分类阈值,指明不确定性,或者是要获得置信区间,或者我们希望以后将更多的训练数据快速整合到模型中去,我们可以使用这个这个算法。
那么逻辑回归算法的优点是什么呢?其实逻辑回归的优点具体体现在5点,第一就是实现简单,广泛的应用于工业问题上。第二就是分类时计算量非常小,速度很快,存储资源低。第三就是便利的观测样本概率分数。第四就是对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决该问题。第五就是计算代价不高,易于理解和实现。
当然,逻辑回归的缺点也是十分明显的,同样,具体体现在五点,第一就是当特征空间很大时,逻辑回归的性能不是很好。第二就是容易欠拟合,一般准确度不太高。第三就是不能很好地处理大量多类特征或变量。第四个缺点就是只能处理两分类问题,且必须线性可分。第五个缺点就是对于非线性特征,需要进行转换。
那么逻辑回归应用领域都有哪些呢?逻辑回归的应用领域还是比较广泛的,比如说逻辑回归可以用于二分类领域,可以得出概率值,适用于根据分类概率排名的领域,如搜索排名等、逻辑回归的扩展softmax可以应用于多分类领域,如手写字识别等。当然,在信用评估也有逻辑回归的使用,同时逻辑回归可以测量市场营销的成功度。当然,也可以预测某个产品的收益。最后一个功能比较有意思,那就是可以预定特定的某天是否会发生地震。
我们在这篇文章中给大家介绍了关于机器学习中逻辑回归算法的相关知识,从中我们具体为大家介绍了逻辑回归算法的优缺点以及应用领域。相信大家能够通过这篇文章能够更好的理解逻辑回归算法。
Ⅲ 逻辑回归原理
逻辑回归原理基本概念
1. 什么是逻辑回归
逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。
Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)
回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率
2. 逻辑回归的优缺点
优点:
1)速度快,适合二分类问题
2)简单易于理解,直接看到各个特征的权重
3)能容易地更新模型吸收新的数据
缺点:
对数据和场景的适应能力有局限性,不如决策树算法适应性那么强
3. 逻辑回归和多重线性回归的区别
Logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他的基本都差不多。正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalizedlinear model)。
这一家族中的模型形式基本上都差不多,不同的就是因变量不同。这一家族中的模型形式基本上都差不多,不同的就是因变量不同。
如果是连续的,就是多重线性回归
如果是二项分布,就是Logistic回归
如果是Poisson分布,就是Poisson回归
如果是负二项分布,就是负二项回归
4. 逻辑回归用途
寻找危险因素:寻找某一疾病的危险因素等;
预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;
判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有多大,也就是看一下这个人有多大的可能性是属于某病。
5. Regression 常规步骤
寻找h函数(即预测函数)
构造J函数(损失函数)
想办法使得J函数最小并求得回归参数(θ)
6. 构造预测函数h(x)
1) Logistic函数(或称为Sigmoid函数),函数形式为:
对于线性边界的情况,边界形式如下:
其中,训练数据为向量
最佳参数
构造预测函数为:
函数h(x)的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:
P(y=1│x;θ)=h_θ (x)
P(y=0│x;θ)=1-h_θ (x)
7.构造损失函数J(m个样本,每个样本具有n个特征)
Cost函数和J函数如下,它们是基于最大似然估计推导得到的。
8. 损失函数详细推导过程
1) 求代价函数
概率综合起来写成:
取似然函数为:
对数似然函数为:
最大似然估计就是求使l(θ)取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数。
在Andrew Ng的课程中将J(θ)取为下式,即:
2) 梯度下降法求解最小值
θ更新过程可以写成:
9. 向量化
ectorization是使用矩阵计算来代替for循环,以简化计算过程,提高效率。
向量化过程:
约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的特称取值:
g(A)的参数A为一列向量,所以实现g函数时要支持列向量作为参数,并返回列向量。
θ更新过程可以改为:
综上所述,Vectorization后θ更新的步骤如下:
求 A=x*θ
求 E=g(A)-y
求
10.正则化
(1) 过拟合问题
过拟合即是过分拟合了训练数据,使得模型的复杂度提高,繁华能力较差(对未知数据的预测能力)
下面左图即为欠拟合,中图为合适的拟合,右图为过拟合。
(2)过拟合主要原因
过拟合问题往往源自过多的特征
解决方法
1)减少特征数量(减少特征会失去一些信息,即使特征选的很好)
• 可用人工选择要保留的特征;
• 模型选择算法;
2)正则化(特征较多时比较有效)
• 保留所有特征,但减少θ的大小
(3)正则化方法
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。
正则项可以取不同的形式,在回归问题中取平方损失,就是参数的L2范数,也可以取L1范数。取平方损失时,模型的损失函数变为:
lambda是正则项系数:
• 如果它的值很大,说明对模型的复杂度惩罚大,对拟合数据的损失惩罚小,这样它就不会过分拟合数据,在训练数据上的偏差较大,在未知数据上的方差较小,但是可能出现欠拟合的现象;
• 如果它的值很小,说明比较注重对训练数据的拟合,在训练数据上的偏差会小,但是可能会导致过拟合。