2025-04-05 吴恩达机器学习4——逻辑回归(1):基础入门

news2025/4/13 17:38:09

文章目录

  • 1 分类问题
    • 1.1 介绍
    • 1.2 线性回归与分类
    • 1.2 逻辑回归
  • 2 逻辑回归
    • 2.1 介绍
    • 2.2 Sigmoid 函数
    • 2.3 逻辑回归模型
  • 3 决策边界
    • 3.1 概念
    • 3.2 线性决策边界
    • 3.3 非线性决策边界
  • 4 代价函数
    • 4.1 不使用平方误差
    • 4.2 损失函数
    • 4.3 整体代价函数
  • 5 梯度下降
    • 5.1 参数更新
    • 5.2 逻辑回归 vs. 线性回归

1 分类问题

1.1 介绍

  1. 定义:预测离散的输出值(类别),而非连续数值。

  2. 二元分类:输出仅有两个可能值(如 0/1、否/是、假/真)。

    • 正类(Positive Class):目标类别(如垃圾邮件、恶性肿瘤),标记为 1。
    • 负类(Negative Class):非目标类别(如正常邮件、良性肿瘤),标记为 0。
  3. 示例应用:

    • 垃圾邮件检测(是/否)
    • 金融欺诈识别(欺诈/正常)
    • 肿瘤分类(恶性/良性)
image-20250405164804493

1.2 线性回归与分类

Question:为什么线性回归不适用于分类?

  • 解释 1:输出可能超出 [0,1] 范围(如预测值 >1 或 <0),但类别标签只能是 0 或 1。
  • 解释 2:添加极端数据点会显著改变拟合直线,导致分类阈值(如 0.5)偏移,影响预测结果。

​ 示例:新增一个大型恶性肿瘤样本后,线性回归的决策边界右移,可能错误分类原有数据。

image-20250405164946281

1.2 逻辑回归

  1. 核心思想:输出始终限制在 [0,1] 之间,表示概率。
  2. 名称澄清:虽含“回归”,实为分类算法(历史命名原因)。
  3. 优势:
    • 直接建模概率 P ( y = 1 ∣ x ) P(y=1|x) P(y=1∣x)
    • 避免线性回归的分类缺陷。

决策边界(Decision Boundary)

​ 划分类别的阈值(如 0.5),由模型自动学习。线性回归的决策边界是直线,但可能不稳定。逻辑回归通过非线性函数(如 Sigmoid)生成更鲁棒的边界。

2 逻辑回归

2.1 介绍

  • 核心思想:输出始终限制在 [0,1] 之间,表示概率。
  • 用途:解决二元分类问题(输出 y ∈ 0 , 1 y ∈ {0,1} y0,1)。
  • 输出特性:模型输出 f ( x ) f(x) f(x) 表示 P ( y = 1 ∣ x ) P(y=1|x) P(y=1∣x)(即 y = 1 y=1 y=1 的概率),范围严格在 [0,1] 之间。

​ 示例:肿瘤大小为 x x x 时, f ( x ) = 0.7 f(x)=0.7 f(x)=0.7 表示恶性肿瘤概率为 70%,良性概率为 30%(因为 P ( y = 0 ∣ x ) = 1 − P ( y = 1 ∣ x ) ) P(y=0|x) = 1 - P(y=1|x)) P(y=0∣x)=1P(y=1∣x)

image-20250405180337495

名称澄清

​ 逻辑回归虽含“回归”,不是回归,而是分类算法(历史命名原因)。

​ 核心是通过 Sigmoid 函数实现概率建模。

2.2 Sigmoid 函数

​ Sigmoid 函数:
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1

  • z z z 为线性函数: z = w ⋅ x + b z = w·x + b z=wx+b w w w:权重, b b b:偏置)。
  • e e e 是自然常数(≈ 2.718), e − z e^{-z} ez z z z 增大趋近于 0。
image-20250405180419612

函数特性:

  • z → + ∞ z → +∞ z+ g ( z ) → 1 g(z) → 1 g(z)1;当 z → − ∞ z → -∞ z g ( z ) → 0 g(z) → 0 g(z)0
  • z = 0 z=0 z=0 时, g ( z ) = 0.5 g(z)=0.5 g(z)=0.5(对称中心点)。
  • S S S 形曲线:平滑过渡,适合概率建模。

2.3 逻辑回归模型

​ 模型定义:
f ( x ) = g ( w ⋅ x + b ) = 1 1 + e − ( w ⋅ x + b ) f(x)=g(w\cdot x+b)=\frac{1}{1+e^{-(w\cdot x+b)}} f(x)=g(wx+b)=1+e(wx+b)1

​ 输入 x x x(如肿瘤大小),输出 f ( x ) f(x) f(x) y = 1 y=1 y=1 的概率。

参数意义:

  • w w w 控制曲线陡峭度(斜率)。
  • b b b 控制曲线左右平移(阈值偏移)。

符号解释:
f ( x ; w , b ) = P ( y = 1 ∣ x ; w , b ) f(x;w,b)=P(y=1∣x;w,b) f(x;w,b)=P(y=1x;w,b)

  • 分号 ; 表示 w , b w,b w,b 是模型参数。
  • x x x 是输入特征。
image-20250405180446534

3 决策边界

3.1 概念

  1. 定义:将特征空间划分为不同预测类别的分界线(如 ŷ=0 和 ŷ=1 的区域)。

  2. 数学条件:

    • 预测 ŷ=1 当且仅当 z = w·x + b ≥ 0(即 f(x) = g(z) ≥ 0.5)。
    • 预测 ŷ=0 当 z < 0(f(x) < 0.5)。
  3. 关键点:决策边界是 z = 0 的等高线(如直线、曲线等)。

image-20250405181215637

3.2 线性决策边界

示例:二特征模型( x 1 , x 2 x_1, x_2 x1,x2

image-20250405181251643

​ 参数: w 1 = 1 , w 2 = 1 , b = − 3 w_1=1, w_2=1, b=-3 w1=1,w2=1,b=3 -> z = x 1 + x 2 − 3 z = x_1 + x_2 - 3 z=x1+x23

  • 决策边界方程: x 1 + x 2 = 3 x_1 + x_2 = 3 x1+x2=3(一条直线)
  • 预测规则:
    • 直线右侧( x 1 + x 2 ≥ 3 x_1 + x_2 ≥ 3 x1+x23-> y ^ = 1 ŷ=1 y^=1
    • 直线左侧( x 1 + x 2 < 3 x_1 + x_2 < 3 x1+x2<3-> y ^ = 0 ŷ=0 y^=0

3.3 非线性决策边界

​ 多项式特征:通过高阶项实现复杂边界(如圆形、椭圆等)。

示例 1(圆形边界)
z = x 1 2 + x 2 2 − 1 z = x_1^2 + x_2^2 - 1 z=x12+x221 -> 决策边界为 x 1 2 + x 2 2 = 1 x_1^2 + x_2^2 = 1 x12+x22=1(单位圆)。

  • 圆外: y ^ = 1 ŷ=1 y^=1
  • 圆内: y ^ = 0 ŷ=0 y^=0
image-20250405181745360

示例 2(复杂边界)
引入交叉项和高阶项(如 x 1 x 2 , x 1 2 , x 2 2 x_1x_2, x_1^2, x_2^2 x1x2,x12,x22)可生成椭圆、双曲线等形状。

image-20250405181808569

4 代价函数

4.1 不使用平方误差

​ 线性回归代价函数为
J ( w , b ) = 1 2 m ∑ i = 1 m ( f w , b ( x ( i ) ) − y ( i ) ) 2 J(w,b) = \frac{1}{2m}\sum_{i=1}^m (f_{w,b}(x^{(i)}) - y^{(i)})^2 J(w,b)=2m1i=1m(fw,b(x(i))y(i))2
​ 逻辑回归直接套用,会面临的问题:

  • 由于 Sigmoid 非线性变换,代价函数变为非凸函数
  • 梯度下降易陷入局部极小值。
image-20250405182246293

4.2 损失函数

​ 损失函数(Loss Function)定义如下
L ( f w , b ( x ) , y ) = { − log ⁡ ( f w , b ( x ) ) i f    y = 1 − log ⁡ ( 1 − f w , b ( x ) ) i f    y = 0 L(f_{w,b}(x), y) = \begin{cases} -\log(f_{w,b}(x)) & if \ \ y=1 \\ -\log(1 - f_{w,b}(x)) & if \ \ y=0 \end{cases} L(fw,b(x),y)={log(fw,b(x))log(1fw,b(x))if  y=1if  y=0

  • y = 1 y=1 y=1 时:

    • 预测值 f ( x ) → 1 f(x)→1 f(x)1:损失 → 0 →0 0(正确)
    • 预测值 f ( x ) → 0 f(x)→0 f(x)0:损失 → + ∞ →+∞ +(严重惩罚)

    示例:预测恶性肿瘤概率为 0.1(实际为1)时损失极高。

  • y = 0 y=0 y=0 时:

    • 预测值 f ( x ) → 0 f(x)→0 f(x)0:损失 → 0 →0 0
    • 预测值 f ( x ) → 1 f(x)→1 f(x)1:损失 → + ∞ →+∞ +
image-20250405182902228 image-20250405183134961

合并形式
L ( f w , b ( x ) , y ) = − y log ⁡ ( f w , b ( x ) ) − ( 1 − y ) log ⁡ ( 1 − f w , b ( x ) ) L(f_{w,b}(x), y) = -y\log(f_{w,b}(x)) - (1-y)\log(1-f_{w,b}(x)) L(fw,b(x),y)=ylog(fw,b(x))(1y)log(1fw,b(x))

  • y = 1 y=1 y=1:第二项消失,保留第一项 − log ⁡ ( f ( x ) ) −\log(f(x)) log(f(x))
  • y = 0 y=0 y=0:第一项消失,保留第二项 − log ⁡ ( 1 − f ( x ) ) −\log(1−f(x)) log(1f(x))
image-20250405183550805

4.3 整体代价函数

​ 代价函数(Cost Function)是损失函数的平均值:
J ( w , b ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( f w , b ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − f w , b ( x ( i ) ) ) ] J(w,b) = -\frac{1}{m}\sum_{i=1}^m \left[ y^{(i)}\log(f_{w,b}(x^{(i)})) + (1-y^{(i)})\log(1-f_{w,b}(x^{(i)})) \right] J(w,b)=m1i=1m[y(i)log(fw,b(x(i)))+(1y(i))log(1fw,b(x(i)))]
image-20250405184143167

特性

  1. 凸函数:保证梯度下降收敛到全局最优。
  2. 概率解释:本质是极大似然估计的负对数形式。
  3. 数学性质:
    • y = 1 y=1 y=1 J → 0 J→0 J0 当且仅当 f ( x ) → 1 f(x)→1 f(x)1
    • y = 0 y=0 y=0 J → 0 J→0 J0 当且仅当 f ( x ) → 0 f(x)→0 f(x)0

5 梯度下降

​ 目标:找到参数 w w w b b b,使得成本函数 J ( w , b ) J(w, b) J(w,b) 最小化。

​ 通过梯度下降法迭代更新参数。

5.1 参数更新

​ 更新规则如下:
w j : = w j − α ∂ ∂ w j J ( w , b ) b : = b − α ∂ ∂ b J ( w , b ) \begin{aligned} w_j &:= w_j - \alpha \frac{\partial }{\partial w_j}J(w,b) \\ b &:= b - \alpha \frac{\partial }{\partial b}J(w,b) \end{aligned} wjb:=wjαwjJ(w,b):=bαbJ(w,b)

​ 将 J ( w , b ) J(w, b) J(w,b) 带入得到:
w j : = w j − α [ 1 m ∑ i = 1 m ( f w , b ( x ( i ) ) − y ( i ) ) x j ( i ) ] b : = b − α [ 1 m ∑ i = 1 m ( f w , b ( x ( i ) ) − y ( i ) ) ] \begin{aligned} w_j &:= w_j - \alpha \left[\frac1m\sum_{i=1}^m(f_{w,b}(x^{(i)})-y^{(i)})x_j^{(i)}\right] \\ b &:= b - \alpha \left[\frac1m\sum_{i=1}^m(f_{w,b}(x^{(i)})-y^{(i)})\right] \end{aligned} wjb:=wjα[m1i=1m(fw,b(x(i))y(i))xj(i)]:=bα[m1i=1m(fw,b(x(i))y(i))]

​ 先计算所有参数的更新值,再同时更新所有参数。

5.2 逻辑回归 vs. 线性回归

线性回归逻辑回归
预测函数 f ( x ) f(x) f(x) w ⋅ x + b w\cdot x+b wx+b Sigmoid ( w ⋅ x + b ) \text{Sigmoid}(w\cdot x+b) Sigmoid(wx+b)
成本函数均方误差对数损失 (凸函数)
梯度下降公式形式相同形式相同但 f ( x ) f(x) f(x)不同
image-20250405185448170

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2329066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P1125 [NOIP 2008 提高组] 笨小猴

#include<bits/stdc.h> using namespace std; int a[300],ma,mi105;//数组用来记录每个字符出现的次数&#xff0c;将mi初始为一个比较大的值 bool is_prime(int x){if(x0||x1)return false;for(int i2;i*i<x;i){if(x%i0)return false;}return true; }//判断是否为质…

Linux systemd 服务全面详解

一、systemd 是什么&#xff1f; systemd 是 Linux 系统的现代初始化系统&#xff08;init&#xff09;和服务管理器&#xff0c;替代传统的 SysVinit 和 Upstart。它不仅是系统启动的“总指挥”&#xff0c;还统一管理服务、日志、设备挂载、定时任务等。 核心作用 服务管理…

SortedSet结构之用户积分实时榜单实战

Redis 中的SortedSet结构非常适合用于实现实时榜单的场景&#xff0c;它根据成员的分数自动进行排序&#xff0c;支持高效的添加、更新和查询操作。 SortedSet实时榜单的一些典型应用场景&#xff1a; 游戏中的玩家排行榜&#xff1a;在多人在线游戏中&#xff0c;使用 Sorte…

C++_类和对象(中)

【本节目标】 类的6个默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载const成员函数取地址及const取地址操作符重载 1. 类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什…

学习笔记—C++—入门基础()

目录 C介绍 参考文档 C第一个程序 命名空间namespace namespace的价值 namespace的定义 namespace使用 指定命名空间访问 using将命名空间中某个成员展开 展开命名空间中全部成员 输入和输出 缺省参数 函数重载 引用 引用的概念 应用 const引用 指针和引用的关…

大数据Spark(五十七):Spark运行架构与MapReduce区别

文章目录 Spark运行架构与MapReduce区别 一、Spark运行架构 二、Spark与MapReduce区别 Spark运行架构与MapReduce区别 一、Spark运行架构 Master:Spark集群中资源管理主节点&#xff0c;负责管理Worker节点。Worker:Spark集群中资源管理的从节点&#xff0c;负责任务的运行…

道路裂缝数据集CrackForest-156-labelme

来源于开源的数据集 https://github.com/cuilimeng/CrackForest-dataset 进行整理修改而成。 文章目录 1. 介绍2. 应用场景3. 相关工具4. 下载地址 1. 介绍 在现代城市管理中&#xff0c;道路状况的监测与维护是确保交通安全和城市基础设施健康的重要环节。 CrackForest是一个…

Redis数据结构之Hash

目录 1.概述2.常见操作2.1 H(M)SET/H(M)GET2.2 HGETALL2.3 HDEL2.4 HLEN2.5 HEXISTS2.6 HKEYS/HVALS2.7 HINCRBY2.8 HSETNX 3.总结 1.概述 Hash是一个String类型的field(字段)和value(值)的映射表&#xff0c;而且value是一个键值对集合&#xff0c;类似Map<String, Map<…

故障矩阵像素照片效果ps标题文本特效滤镜样机 Glitched Arcade Text Logo Effect

有时&#xff0c;视觉效果比文字本身更能讲述故事&#xff0c;因此请确保您已竭尽全力提供令人敬畏的展示。品牌标识或演示元素&#xff0c;该资产可以处理您的项目所涉及的任何内容。由于智能对象图层&#xff0c;此文本效果将为获得理想的结果铺平道路。这些允许您在指定的图…

[创业之路-352]:从创业和公司经营的角度看:分析美国的三大财务报表

一、美国政府的财务报表 如果把美国政府看成一个公司&#xff0c;从三大财务报表上看&#xff0c;美国政府资产雄厚&#xff0c;但利润表年年亏损&#xff0c;现金流量表年年为负&#xff0c;现金流持续吃紧&#xff0c;面临现金流断裂导致公司倒闭的风险。 马斯克在降低公司各…

【教学类-102-02】自制剪纸图案(留白边、沿线剪)02——Python+PS自动化添加虚线边框

背景需求: 01版本实现了对透明背景png图案边界线的扩展,黑线实线描边 【教学类-102-01】自制剪纸图案(留白边、沿线剪)01-CSDN博客文章浏览阅读974次,点赞15次,收藏7次。【教学类-102-01】自制剪纸图案(留白边、沿线剪)01https://blog.csdn.net/reasonsummer/article…

OFP--2018

文章目录 AbstractIntroductionRelated Work2D object detection3D object detection from LiDAR3D object detection from imagesIntegral images 3D Object Detection ArchitectureFeature extractionOrthographic feature transformFast average pooling with integral imag…

CentOS-查询实时报错日志-查询前1天业务报错gz压缩日志

最新版本更新 https://code.jiangjiesheng.cn/article/364?fromcsdn 推荐 《高并发 & 微服务 & 性能调优实战案例100讲 源码下载》 1. 查询实时报错日志 物理路径&#xff08;带*的放在靠后&#xff0c;或者不用*&#xff09; cd /home/logs/java-gz-log-dir &am…

ETF 场内基金是什么?佣金最低又是多少呢?

嘿&#xff0c;朋友们&#xff0c;大家好啊&#xff0c;我是StockMasterX&#xff0c;今天咱们就坐下来慢慢聊聊这个话题&#xff0c;ETF 场内基金到底是个啥东西&#xff0c;它的佣金最低能到多少&#xff0c;真的是个值得深挖的问题。 说起ETF&#xff0c;我还记得刚入行那会…

[论文阅读]PMC-LLaMA: Towards Building Open-source Language Models for Medicine

PMC-LLaMA&#xff1a;构建医学开源语言模型 摘要 最近&#xff0c;大语言模型在自然语言理解方面展现了非凡的能力。尽管在日常交流和问答场景下表现很好&#xff0c;但是由于缺乏特定领域的知识&#xff0c;这些模型在需要精确度的领域经常表现不佳&#xff0c;例如医学应用…

26考研——线性表(2)

408答疑 文章目录 一、线性表的定义和基本操作二、线性表的顺序表示三、 线性表的链式表示四、 顺序表和链表的比较五、参考资料鲍鱼科技课件26王道考研书 六、总结顺序表总结顺序表特点深入掌握顺序表的管理方式 单链表总结双循环链表总结 一、线性表的定义和基本操作 文章链…

低代码开发平台:飞帆画 echarts 柱状图

https://fvi.cn/711 柱状图这个控件是由折线图的控件改过来的&#xff0c;在配置中&#xff0c;单选框选择柱状图就行了。

PowerPhotos:拯救你的Mac照片库,告别苹果原生应用的局限

如果你用Mac管理照片&#xff0c;大概率被苹果原生「照片」应用折磨过——无法真正并行操作多个图库。每次切换图库都要关闭重启&#xff0c;想合并照片得手动导出导入&#xff0c;重复文件更是无处可逃…… 直到我发现了 PowerPhotos&#xff0c;这款专为Mac设计的照片库管理…

Linux 下 日志系统搭建全攻略

目录 一、引言 二、日志系统基础 日志级别 日志输出格式 三、创建日志所需函数 认识可变参数 ​编辑 获取时间的函数 小结 四、创建日志 一、引言 在 Linux 环境中开发 C/C 程序时&#xff0c;日志系统是不可或缺的一部分。它不仅有助于调试程序、排查问题&#xff…

Linux系统安装Postgre和Postgis教程

卸载 如果之前没装过可以忽略这一步 卸载前记得备份数据库数据(如果还需要的话)&#xff01;&#xff01;&#xff01; 一、删除 Docker 安装的 PostgreSQL/PostGIS 1. 停止并删除容器 # 查看所有容器 docker ps -a | grep postgres# 停止并删除容器&#xff08;替换为实际…