机器学习之逻辑回归

目录

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具有很高的可解释性,非常受工程界青睐, 是分类问题的首选算法。

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

相关推荐
敲代码不忘补水2 分钟前
Python Pickle 与 JSON 序列化详解:存储、反序列化与对比
开发语言·python·json
蜡笔小新星11 分钟前
机器学习和深度学习的区别
开发语言·人工智能·经验分享·深度学习·学习·机器学习
redcocal31 分钟前
地平线内推码 kbrfck
c++·嵌入式硬件·mcu·算法·fpga开发·求职招聘
西农小陈2 小时前
python-字符排列问题
数据结构·python·算法
测试19982 小时前
使用Selenium进行网页自动化
自动化测试·软件测试·python·selenium·测试工具·自动化·测试用例
小黄酥2 小时前
Python学习笔记--模块
笔记·python·学习
UvwxyZ6662 小时前
python日志记录与命令行交互
开发语言·python
TechQuester2 小时前
OpenAI 刚刚推出 o1 大模型!!突破LLM极限
人工智能·python·gpt·算法·chatgpt
西农小陈2 小时前
python-简单的数据结构
数据结构·python·算法
_Chocolate2 小时前
十大排序(一):冒泡排序
c语言·数据结构·算法