机器学习之逻辑回归

目录

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

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

相关推荐
Q_Q51100828517 分钟前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
pusue_the_sun24 分钟前
数据结构——栈和队列oj练习
c语言·数据结构·算法··队列
大锦终25 分钟前
【算法】模拟专题
c++·算法
天上的光1 小时前
17.迁移学习
人工智能·机器学习·迁移学习
合作小小程序员小小店1 小时前
SDN安全开发环境中常见的框架,工具,第三方库,mininet常见指令介绍
python·安全·生成对抗网络·网络安全·网络攻击模型
后台开发者Ethan1 小时前
Python需要了解的一些知识
开发语言·人工智能·python
Xの哲學1 小时前
Perf使用详解
linux·网络·网络协议·算法·架构
北京_宏哥1 小时前
Python零基础从入门到精通详细教程11 - python数据类型之数字(Number)-浮点型(float)详解
前端·python·面试
想不明白的过度思考者1 小时前
数据结构(排序篇)——七大排序算法奇幻之旅:从扑克牌到百亿数据的魔法整理术
数据结构·算法·排序算法
小七rrrrr1 小时前
动态规划法 - 53. 最大子数组和
java·算法·动态规划