机器学习之逻辑回归

目录

1.什么是逻辑回归

2.与线性回归的区别和联系

3.sigmoid函数

4.逻辑回归求解方法

补充


1.什么是逻辑回归

逻辑回归不是回归,而是一种分类。 逻辑回归(Logistic Regression)广泛应用在二分类问题中。虽然有"回归"二字,但实际上是一种线性模型,它用于预测一个事件发生的概率,核心是将线性回归的输出通过一个特定的函数(称为逻辑函数或Sigmoid函数)映射到0和1之间,从而进行分类。

逻辑回归是一种比较简单的算法,在机器学习中,效果差不多的情况下,尽量选择简单的算法,越复杂的算法,过拟合风险越高。这也是为什么逻辑回归更加流行,而神经网络难以应用的原因。

同时逻辑回归的决策边界也可以是非线性的,如下图的黑色线。

2.与线性回归的区别和联系

线性回归最终得到一个数,而逻辑回归最终得到两个结果 。举个简单的例子:房价与房屋面积、朝向、地址等特征变量存在相关性,例如房屋面积越大,房价就越高。这种特征变量和目标变量之间的内在规律,就可以用线性回归算法来表达。

但如果"房价"不再给出具体的数值,而是按照划分标准给出"高档房屋""普通房屋"这种分类,我们又该如何让机器去预测房子属于哪一种房屋呢?

线性回归算出来的"房价"是一个数值(-∞,+∞)。而现在给出的"房价"已经不再是具体数值了,而是分类数据"普通房屋"和"高档房屋"。这个分类数据标准化处理后可以表达为0和1,其中0表示"普通房屋",1表示"高档房屋"。

这意味着我们需要把f(x)的取值范围从(-∞,+∞)变为(0,1),我们就要改造线性回归算法将其函数值压缩为0~1。而sigmoid函数恰好提供了这样的功能。也就是我们将线性回归算法中得到的最终值映射在sigmoid函数上,这时候就讲究概率了,如果它大于0.5,就认为更可能属于1"高档房屋",小于0.5就认为更可能属于0"普通房屋"。

3.sigmoid函数

sigmoid函数及其图像如下

其中就是线性回归中的预测值,g就是sigmoid函数。这就是映射的过程

分类概率如下:有h(x)的概率属于1,那么就有1-h(x)概率属于0。

将上面两个式子整合如下:当y=1时,概率为h(x),当y=0时概率为1-h(x)

4.逻辑回归求解方法

求解方法思路和线性回归完全一致(参考专栏内最小二乘法和梯度下降法)。似然函数--对数似然--令对数似然最大化,最后加个负号转换为梯度下降。

最终的J(θ)表达式如下

补充

逻辑回归是一种典型的分类问题处理算法,它同样可以做多分类问题。其中二分类(LR)是多分类 (softmax)的基础或者说多分类可以由多个二分类模拟得到。工程实践中,LR输出结果是概率 的形式,而不仅是简单的0和1分类判定,同时LR具有很高的可解释性,非常受工程界青睐, 是分类问题的首选算法。

而神经网络、支持向量机这类的模型,它们内部很多参数都是不可解释的,没有实际的物理含义,虽然能得到一个效果,但是我们不明白究竟是怎么得到的,解释性不如逻辑回归强,因此不管怎样,先考虑逻辑回归,不行再去考虑其他算法。

相关推荐
好看资源平台8 分钟前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
进击的六角龙29 分钟前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂29 分钟前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
VertexGeek30 分钟前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
石小石Orz31 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学37 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
湫ccc37 分钟前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤40 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
羊小猪~~44 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
lzhlizihang1 小时前
python如何使用spark操作hive
hive·python·spark