一篇文章讲清楚:逻辑回归

通过这篇文章,我们需要知道逻辑回归的应用场景,复习逻辑回归应用到的数学知识,理解逻辑回归算法的原理,知道逻辑回归的损失函数。

一、逻辑回归的应用场景

逻辑回归是解决二分类问题的利器,你还能想到哪些二分类的场景?

二、逻辑回归数学基础 -- sigmoid函数

sigmoid函数:

数学公式:

作用:把(-∞, +∞) 映射到 (0, 1)

数学性质:单调递增函数;拐点在x=0,y=0.5的位置


导函数公式:𝑓′(x) = f(x)(1 -- f(x))

三、逻辑回归数学基础 -- 概率

概率 -- 事件发生的可能性

联合概率和条件概率是概率论中的基本概念,它们用于描述随机变量之间的关系

联合概率 P(A∩B)(也写作P(A,B)) :A 和 B 同时发生的概率。

条件概率 P(A|B) :已知 B 已经发生的前提下,A 发生的概率。

例子:掷一枚骰子(点数 1‑6,等概率)

事件 A:掷出偶数 {2,4,6}

事件 B:掷出≤3 的数 {1,2,3}

  1. 联合概率 P(A,B):A 并且 B 同时发生

同时满足 "是偶数" 且 "≤3",只有点数2。 样本空间共 6 种结果:

P(A ∩ B)=1/6

含义:随机掷一次,既是偶数,又小于等于 3的概率。

  1. 条件概率 P(A|B):已知 B 发生,求 A 发生

已知掷出来的数一定是{1,2,3},现在看其中是偶数的只有 2。 此时样本空间缩小为 B 的 3 个结果:

P(A|B)=P(A ∩ B)/P(B)=1/3

含义:已经知道掷出的点数≤3,在这个条件下,它是偶数的概率为1/3。

四、逻辑回归数学基础 -- 极大似然估计

极大似然估计

核心思想:根据观测到的结果来估计模型算法中的未知参数。

举个例子

假设有一枚不均匀的硬币,出现正面的概率和反面的概率是不同的。假定出现正面的概率为𝜃,抛了6次得到如下现象 D = {正面,反面,反面,正面,正面,正面}。每次投掷事件都是相互独立的。

则根据产生的现象D,来估计参数𝜃是多少?

P(D|𝜃) = P {正面,反面,反面,正面,正面,正面}

= P(正面|𝜃) P(反面|𝜃) P(反面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃)

=𝜃 *(1-𝜃)*(1-𝜃)𝜃*𝜃*𝜃

问题转化为:求此函数的极大值时,估计𝜃为多少!

五、逻辑回归数学基础 -- 对数函数

对数函数

六、逻辑回归原理 -- 概念

逻辑回归概念 Logistic Regression:

一种分类模型,把线性回归的输出,作为逻辑回归的输入。

输出是(0, 1)之间的值。

基本思想

逻辑回归的假设函数

举个栗子:逻辑回归预测过程(阈值为0.6)

七、逻辑回归损失函数

逻辑回归不用 MSE (均方误差) 做损失,因为 MSE 对于 sigmoid 会出现梯度消失 ,是非凸优化问题,容易陷入局部最优;采用对数损失(交叉熵损失) ,本质来自极大似然估计。

1.单个样本损失

由伯努利分布,单个样本概率:

写成统一式子:

极大似然:希望这个概率越大越好;损失就取负对数(最大化似然等价最小化负对数似然) 单个样本损失:

交叉熵损失 / Log loss(对数损失)

2.全部样本:总损失函数(代价函数)

m 个样本,全部样本联合似然是各个样本概率相乘;取负对数再求平均:

3.•举个栗子 -- 损失函数手工计算

八、总结

逻辑回归原理

思想:解决分类问题,把线性回归的输出作为逻辑回归的输入

逻辑回归的损失函数**--**对数似然损失

相关推荐
Flynn Liang15 分钟前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
liminla!31 分钟前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
fanruitian1 小时前
python 机器学习 ML LinearRegression KNN KMeans
python·机器学习·kmeans
维克兜率天2 小时前
【维克】指数调整:哪些股票会被“强制买入“?
人工智能·python·算法
罗西的思考2 小时前
【轻量化复刻大模型】线性注意力交互式演示
人工智能·算法·机器学习
神也畏惧菠萝2 小时前
Day08 Python流程控制从入门到上瘾:if/match/while/for四件套,从B站登录一路打到猜数字游戏
python·算法·数据存储·for·while·if·ifelse
揽星河..3 小时前
【C语言】分支和循环
c语言·c++·算法
Fuyo_11194 小时前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
jktantan5 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript