分类和逻辑回归(Classification and logistic regression)

分类问题和线性回归问题问题很像,只是在分类问题中,我们预测的y值包含在一个小的离散数据集里。首先,认识一下二元分类(binary classification),在二元分类中,y的取值只能是0和1.例如,我们要做一个垃圾邮件分类器,则为邮件的特征,而对于y,当它1则为垃圾邮件,取0表示邮件为正常邮件。所以0称之为负类(negative class),1为正类(positive class)

逻辑回归

首先看一个肿瘤是否为恶性肿瘤的分类问题,可能我们一开始想到的是用线性回归的方法来求解,如下图:

我们知道线性回归问题只能预测连续的值,而分类问题,我们预测值只能够是0或者1,所以我们可能会取一个临界点,大于取1,反之取零。上面的hΘ(x)好像能够很好的解决问题。所以如下图

这样还用线性回归模型来求解就显得不合适了,因为它预测的值可以超越[0,1]这个范围。下面我们引入一种新的模型,逻辑回归,它的输出变量范围始终都是在0和1之间。如下:

g(z)被称作logistic function或者sigmoid function,它的图像如下:

从图像可以看出z → ∞时g(z) →1,z → −∞时g(z) →0。所以令x0 = 1, 则θT x = θ0 + ∑nj=1 θjxj.

在进入正题前,我们先来看logistic function的一个很有用的特征。如下

现在回到正题,对于给定的逻辑回归问题,我们怎么去拟合出适合的Θ?

假设:

P (y = 1 | x; θ) = hθ(x)   #  hθ(x)的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1 的可能性( estimated probablity)
P (y = 0 | x; θ) = 1 − hθ(x)

把上面两个式子整合一下得到:p(y | x; θ) = (hθ(x))y (1 − hθ(x))1−y

梯度上升方法

在线性回归中,我们的思路是构建似然函数,然后求最大似然估计,最终我们得出了θ的迭代规则,那么在逻辑回归中,我们方法也是一样,因为最后我们是要求最大似然估计,所以用到的算法是梯度上升。

假设训练样本相互独立,则似然函数表达为:

现在我们对似然函数取对数,如下

现在我们需要做的就是最大化似然估计了,这里我们就需要用梯度上升方法了。所以用向量来表示的话,更新规则如下

注意:因为我们是最大似然估计,所以这里是正好,而不是负号。

下面我们一一个训练样本为例,使用梯度上升规则:

在上面的运算中第二步运用到了我们前面推到的特性g(z) = g(z)(1 − g(z)),所以我们得到更新规则:

我们发现这个更新规则和LMS算法的更新规则一致,但是应注意这是两个完全不同的算法。在这里是关于的非线性函数。

这不仅是巧合,更深层次的原因在广义线性模型GLM中会提到。

在前面最大化?(θ)时我们使用到的是梯度上升,在这里,再介绍一种最大化?(θ)的方法---牛顿法(Newton’s method)

牛顿法(Newton’s method)

给出函数:,我们要找到一个Θ使得f(θ) = 0成立,注意这里的Θ∈R,这时牛顿方法的更新规则如下:

牛顿法的执行过程如下:

通过求我们给出点的导数对应的切线与x轴的交点为迭代一次后的点,一直反复迭代,直到f(θ) = 0(无限逼近)

所以对于求f(θ) = 0,牛顿法是一种,那么,怎么去用牛顿法来解决最大化?(θ)呢?

沿着思路,当?(θ)最大的时候,?′(θ)=0,所以这样得到更新如下:

在逻辑回归中,Θ是一个向量,所以此时的牛顿法可以表达为:

∇θ?(θ) 表示?(θ)的对θi’s的偏导数,H称为黑塞矩阵(Hessian matrix),是一个n*n的矩阵,n是特征量的个数,

牛顿法的收敛速度比批处理梯度下降要快,它只用迭代很少次就能够很接近最小值,但是n很大的时候,每次迭代求黑塞矩阵和黑塞矩阵的逆代价很大.

最后简单的提一下感知机算法

感知机算法(The perceptron learning algorithm)

将逻辑回归修改一下,现在强制它的输出不是0就是1,则此时的 g就是一个临界函数(threshold function)

hθ(x) = g(θT x)则我们得到更新规则如下:

这就是感知机算法。

时间: 2024-10-13 22:14:21

分类和逻辑回归(Classification and logistic regression)的相关文章

分类和逻辑回归(Classification and logistic regression),广义线性模型(Generalized Linear Models) ,生成学习算法(Generative Learning algorithms)

分类和逻辑回归(Classification and logistic regression) http://www.cnblogs.com/czdbest/p/5768467.html 广义线性模型(Generalized Linear Models) http://www.cnblogs.com/czdbest/p/5769326.html 生成学习算法(Generative Learning algorithms) http://www.cnblogs.com/czdbest/p/5771

机器学习算法笔记1_2:分类和逻辑回归(Classification and Logistic regression)

形式: 采用sigmoid函数: g(z)=11+e?z 其导数为g′(z)=(1?g(z))g(z) 假设: 即: 若有m个样本,则似然函数形式是: 对数形式: 采用梯度上升法求其最大值 求导: 更新规则为: 可以发现,则个规则形式上和LMS更新规则是一样的,然而,他们的分界函数hθ(x)却完全不相同了(逻辑回归中h(x)是非线性函数).关于这部分内容在GLM部分解释. 注意:若h(x)不是sigmoid函数而是阈值函数: 这个算法称为感知学习算法.虽然得到更新准则虽然相似,但与逻辑回归完全不

逻辑回归模型(Logistic Regression)及Python实现

逻辑回归模型(Logistic Regression)及Python实现 http://www.cnblogs.com/sumai 1.模型 在分类问题中,比如判断邮件是否为垃圾邮件,判断肿瘤是否为阳性,目标变量是离散的,只有两种取值,通常会编码为0和1.假设我们有一个特征X,画出散点图,结果如下所示.这时候如果我们用线性回归去拟合一条直线:hθ(X) = θ0+θ1X,若Y≥0.5则判断为1,否则为0.这样我们也可以构建出一个模型去进行分类,但是会存在很多的缺点,比如稳健性差.准确率低.而逻辑

机器学习(一)——线性回归、分类与逻辑回归

http://antkillerfarm.github.io/ 序 这是根据Andrew Ng的<机器学习讲义>,编写的系列blog. http://www.cnblogs.com/jerrylead/archive/2012/05/08/2489725.html 这是网友jerrylead翻译整理的版本,也是本文的一个重要的参考. http://www.tcse.cn/~xulijie/ 这是jerrylead的个人主页. 我写的版本在jerrylead版本的基础上,略有增删,添加了一下其他

第二章 分类和逻辑回归

分类和逻辑回归 接下来讨论分类问题,类似于回归问题,只不过y的值只有少数离散的值.现在我们考虑二分类问题,此时y只有0和1两个值. 逻辑回归 构造假设函数$h_{\theta}(x)$: $h_{\theta}(x)=g(\theta^{(x)})=\frac{1}{1+e^{-\theta^{T}x}}$ 其中 $g(z)=\frac{1}{1+e^{-z}}$ $g^{'}(z)=g(z)(1-g(z))$ $g(z)$函数图像如下: $g^{'}(z)$函数图像如下: 假设: $P(y=1

Machine Learning—Classification and logistic regression

印象笔记同步分享:Machine Learning-Classification and logistic regression

【机器学习算法应用和学习_2_理论篇】2.2 M_分类_逻辑回归

一.原理阐述 算法类型:监督学习_分类算法 输入:数值型或标称型(标称型需要独热编码) V1.0 用回归方式解决二分类问题,通过引入一个Sigmoid函数将中间y值映射到实际二分类的y值上. 二.算法选择 三.算法过程 1.Sigmoid函数是一个x值域是(-∞,+∞),y值域是(0,1)的单调递增函数: 2.预测y值>0.5为1类,<0.5为0类,y值也可以解释为为1和0类的概率: 3.同样使用“最小二乘”概念,求得最佳方程,得到目标函数: 4.要使得目标函数达到最小,需要采用一种称为“梯度

【机器学习笔记四】分类算法 - 逻辑回归

参考资料 [1]    Spark MLlib 机器学习实践 [2]    统计学习方法 1.Logistic分布 设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数 ,.其中u为位置参数,γ为形状参数.如下图: 分布函数以(u,1/2)为中心对称,满足:,其中形状参数γ越小,中心部分增加越快. 2.Logistic回归模型 二项logistic回归模型是一种分类模型,由条件概率P(Y|X)表示,这里随机变量X取实数,而Y取0或者1.定义: 和 Logistic回归比

机器学习的分类方法——逻辑回归

这个算法看得一知半解的,无论如何,先把理解的写下来,往后再迭代.还是以问题为导向: 这个分类模型如何构建? 这个模型的分类原理? 如何求解模型的参数? 逻辑回归模型有什么优点? 第一个问题,对于简单的线性模型,z=w·x+b,可以用它回归,然后利用最小二乘法求解参数w和b.当这个线性模型和sigmoid函数复合时,就构成了逻辑回归模型.对于sigmoid函数,如下图:其将z(图中的x替换为z) 第二个问题,根据对"事件几率"的定义:给事件发生与不发生的概率比,