机器学习之逻辑回归

目录

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

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

相关推荐
计算机小白一个14 分钟前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
万事可爱^1 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan
失败尽常态5233 小时前
用Python实现Excel数据同步到飞书文档
python·excel·飞书
2501_904447743 小时前
OPPO发布新型折叠屏手机 起售价8999
python·智能手机·django·virtualenv·pygame
青龙小码农3 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿3 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Dream it possible!3 小时前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode
夏末秋也凉3 小时前
力扣-回溯-46 全排列
数据结构·算法·leetcode
南宫生3 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
柠石榴3 小时前
【练习】【回溯No.1】力扣 77. 组合
c++·算法·leetcode·回溯