机器学习笔记(1) -- 逻辑回归(Logistic Regression)

1、描述

逻辑(Logistic)回归是分类算法中最基础也是最重要的手段,因此,掌握其内在原理是非常必要的。逻辑回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分问题(即结果要么是0,要么是1)。

2、初识

逻辑回归是在线性回归的基础上,将线性模型通过一个函数,转化为结果只有0/1的分类模型。其建模过程与线性回归相似:
①寻找预测函数
②构造代价函数
③使得代价函数最小并求得回归参数

线性回归能对连续值结果进行预测,而现实生活中常见的另外一类问题,分类问题。最简单的情况是0/1的二分类问题。比如,医生需要判断病人肿瘤是良性的还是恶性的、判断一封电子邮件是否是垃圾邮件,以及Kaggle上的Titanic生存预测判断一个人的生存情况。

如果我们要用线性回归算法来解决一个分类问题,对于分类,y 取值为 0 或者 1,但
如果你使用的是线性回归,那么假设函数的输出值可能远大于 1,或者远小于 0,即使所有
训练样本的标签 y 都等于 0 或 1。尽管我们知道标签应该取值 0 或者 1,但是如果算法得
到的值远大于 1 或者远小于 0 的话,就会感觉很奇怪。所以我们在接下来的要研究的算法就
叫做逻辑回归算法,这个算法的性质是:它的输出值永远在 0 到 1 之间。

在这里我我们借用Andrew Ng老师上课中的例子,下图X为数据点肿瘤的大小,Y为观察结果是否为恶性肿瘤。通过构建线性回归模型,如hθ(x)所示,构建线性回归模型后,设定一个阙值0.5,预测hθ(x)≥0.5则为恶性肿瘤,而hθ(x)≤0.5为良性肿瘤。
在这里插入图片描述
但有许多实际的情况下,我们需要学习的分类数据没有那么精确,如在上述例子中突然有不正常的数据点出现,如下图:在这里插入图片描述
这时,再使用0.5作为阙值来预测肿瘤是良性还是恶性就不太合适了。可以看出,线性回归模型,因为其预测的值超越了[0,1]的范围,并不适合解决这样的问题。
我们引入一个新的模型,逻辑回归(Logistic Regression),代表逻辑函数(logistic function)是一个常用的逻辑函数为 S 形函数(Sigmoid function),公式为:在这里插入图片描述

#Python代码实现:
import numpy as np
def sigmoid(z):
	return1 / (1 + np.exp(-z))

该函数的图像为:
在这里插入图片描述
从函数图像上看出,函数y=g(z)在z = 0的时候取值为1/2,而随着z的逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,这则为一个概率的范围。

3. 边界判定

让我们回到最开始,再来回顾一下我们的逻辑回归算法。
在这里插入图片描述
开始我们假设了一个线性模型,然后将线性模型带入了sigmoid函数,得到了逻辑回归模型。由sigmoid函数的图像,我们不难得出这样的结论:
在这里插入图片描述
那么现在假设线性模型如下,且已求出参数[-3,1,1]。则当-3+x_1+x_2≥0,即x_1+x_2≥3时,模型将预测 y=1。
在这里插入图片描述
假设我们的数据呈现这样的分布情况,怎样的模型才能合适呢?
在这里插入图片描述
因为需要用曲线才能分隔 y=0 的区域和 y=1 的区域,我们需要二次方特征: 假设参
数:
在这里插入图片描述
所以也就是说:只要我们的hθ(x)设计足够合理,就能在不同的情形下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

4、逻辑回归的有点和缺点
优点:

1)预测结果是介于0和1之间的概率;

2)可以适用于连续性和类别性自变量;

3)容易使用和解释。

缺点:

1)对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;

2)预测结果呈“S”型,因此从log(odds)向概率转化的过程是非线性的,在两端随着log(odds)值的变化,概率变化很小,边际值太小,slope太小,而中间概率的变化很大,很敏感。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值