2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化

文章目录

  • 1 过拟合
    • 1.1 过拟合问题
    • 1.2 解决过拟合
  • 2 正则化
    • 2.1 正则化代价函数
    • 2.2 线性回归的正则化
    • 2.3 逻辑回归的正则化

1 过拟合

1.1 过拟合问题

  • 欠拟合(Underfitting)

    模型过于简单,无法捕捉数据中的模式,导致训练误差和测试误差都较高。

    也称为高偏差(High Bias),即模型对数据有较强的先入之见(如强行用线性模型拟合非线性数据)。

  • 过拟合(Overfitting)

    模型过于复杂,过度拟合训练数据(甚至噪声),导致泛化能力差。

    也称为高方差(High Variance),即模型对训练数据的微小变化非常敏感。

  • 泛化(Generalization)

    模型在未见过的数据上表现良好的能力,是机器学习的核心目标。

image-20250405190541082
模型类型拟合情况问题
线性模型(一次多项式)直线拟合数据欠拟合(高偏差),无法反映房价随面积增长而趋于平缓的趋势。
二次多项式(加入 x 2 x^2 x2曲线拟合数据恰到好处,能较好捕捉数据趋势,泛化能力强。
四次多项式(加入 x 3 , x 4 x^3,x^4 x3,x4曲线完美穿过所有训练点过拟合(高方差),模型波动剧烈,无法合理预测新数据。
image-20250405191327545

1.2 解决过拟合

​ 过拟合问题:

  • 模型在训练集上表现极好,但在新数据上泛化能力差。
  • 特征过多或模型过于复杂时容易发生(如高阶多项式回归)。

收集更多训练数据

  • 原理:更多的数据能帮助模型学习更通用的模式,而非噪声。
  • 适用场景:当数据获取成本较低时(如房价预测中新增房屋记录)。
  • 局限性:某些领域数据稀缺(如罕见病例诊断)。
image-20250405220747507

减少特征数量

  • 原理:仅保留与目标最相关的特征,降低模型复杂度。
  • 例如:房价预测中仅使用面积、卧室数量,而忽略到咖啡店距离等弱相关特征。
  • 方法:
    • 人工选择:基于领域知识筛选特征。
    • 自动选择:后续课程会介绍算法(如递归特征消除)。
  • 缺点:可能丢弃有用信息(若所有特征都有贡献)。
image-20250405221109036

正则化(Regularization)

  • 核心思想:不删除特征,而是通过惩罚大参数值( w j w_j wj)来限制模型复杂度。使参数值趋近于0(但不完全为 0),减弱不重要特征的影响。
  • 优势:
    • 保留所有特征,避免信息丢失。
    • 尤其适用于特征多、数据少的场景(如医疗数据)。
  • 注意:通常仅正则化权重参数 w 1 , w 2 , ⋯ , w n w_1,w_2,\cdots,w_n w1,w2,,wn,偏置项 b b b 可忽略(对模型复杂度影响小)。
image-20250405221206401
方法优点缺点适用场景
收集更多数据直接提升泛化能力成本高或不可行数据易获取时优先使用
特征选择简化模型,降低计算成本可能丢失有用信息特征间冗余性高时
正则化保留所有特征,灵活控制复杂度 度)需调整超参数(如正则化强)最常用,尤其 适合高维数据

2 正则化

  • 目标:通过限制参数 w j w_j wj 的大小,降低模型复杂度,防止过拟合。
  • 方法:在成本函数中增加惩罚项,迫使算法选择较小的参数值。

​ 例如:对高阶多项式项(如 w 3 x 3 , w 4 x 4 w_3x^3,w_4x^4 w3x3,w4x4)的参数施加惩罚,使其接近 0,从而近似退化为低阶模型(如二次函数)。

image-20250405222901780

2.1 正则化代价函数

​ 线性回归的原始成本函数:
J ( w ⃗ , b ) = 1 2 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) 2 J(\vec{w},b)=\frac1{2m}\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})^2 J(w ,b)=2m1i=1m(fw ,b(x (i))y(i))2
​ 加入正则化项后:
J reg ( w ⃗ , b ) = 1 2 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) 2 + λ 2 m ∑ j = 1 n w j 2 J_\text{reg}{(\vec{w},b)}=\frac1{2m}\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})^2+\frac\lambda{2m}\sum_{j=1}^nw_j^2 Jreg(w ,b)=2m1i=1m(fw ,b(x (i))y(i))2+2mλj=1nwj2

  • 第一项:均方误差(拟合训练数据)。
  • 第二项:正则化项(惩罚大参数, λ \lambda λ 控制惩罚强度)。
  • 注意
    • 通常不惩罚偏置项 b b b(对模型复杂度影响极小)。
    • 系数 1 2 m \displaystyle\frac{1}{2m} 2m1 用于统一缩放,便于选择 λ \lambda λ
image-20250405223027011
λ λ λ 取值影响结果
λ = 0 \lambda=0 λ=0无正则化可能过拟合(如高阶多项式完美拟合噪声)。
λ λ λ 适中平衡拟合与简化模型复杂度降低,泛化能力增强(如保留四阶项但参数较小)。
λ λ λ 极大(如 1010过度惩罚所有 w j ≈ 0 w_j\approx0 wj0,模型退化为水平线(欠拟合)。
image-20250405223653887

2.2 线性回归的正则化

原始线性回归(无正则化)

  • 权重 w j w_j wj

w j : = w j − α ∂ J ∂ w j , ∂ J ∂ w j = 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) x j ( i ) w_j:=w_j-\alpha\frac{\partial J}{\partial w_j},\quad\frac{\partial J}{\partial w_j}=\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_j^{(i)} wj:=wjαwjJ,wjJ=m1i=1m(fw ,b(x (i))y(i))xj(i)

  • 偏置 b b b

b : = b − α ∂ J ∂ b , ∂ J ∂ b = 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) b:=b-\alpha\frac{\partial J}{\partial b},\quad\frac{\partial J}{\partial b}=\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)}) b:=bαbJ,bJ=m1i=1m(fw ,b(x (i))y(i))

image-20250405224006656

正则化线性回归

  • 权重 w j w_j wj
    • 新增项: λ m w j \displaystyle\frac{\lambda}{m}w_j mλwj(来自正则化项的导数)。
    • 物理意义:每次迭代时, w j w_j wj 会被额外缩小 α λ m w j \alpha\displaystyle\frac{\lambda}{m}w_j αmλwj
    • 系数 1 − λ m 1-\displaystyle\frac{\lambda}{m} 1mλ:由于 α \alpha α(学习率)和 λ \lambda λ 通常很小(如 α = 0.01 , λ = 1 \alpha=0.01,\lambda=1 α=0.01,λ=1), 1 − λ m 1-\displaystyle\frac{\lambda}{m} 1mλ 略小于 1(如 0.9998)。每次迭代时, w j w_j wj 先轻微缩小(如乘以 0.9998),再减去原始梯度。从而逐步压缩参数值 w j w_j wj,防止其过大。

w j : = w j − α [ 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) x j ( i ) + λ m w j ] : = w j ( 1 − α λ m ) − α ⋅ (原始梯度项) \begin{aligned} w_j&:=w_j-\alpha\left[\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_j^{(i)}+\frac\lambda mw_j\right]\\ &:=w_j\left(1-\alpha\frac\lambda m\right)-\alpha\cdot\text{(原始梯度项)} \end{aligned} wj:=wjα[m1i=1m(fw ,b(x (i))y(i))xj(i)+mλwj]:=wj(1αmλ)α(原始梯度项)

  • 偏置 b b b(不变)
    • 不变原因:正则化通常不惩罚 b b b

b : = b − α 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) b:=b-\alpha\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)}) b:=bαm1i=1m(fw ,b(x (i))y(i))

image-20250405224445043

2.3 逻辑回归的正则化

  • 权重 w j w_j wj
    • 新增项: λ m w j \displaystyle\frac{\lambda}{m}w_j mλwj(来自正则化项的导数)。
    • 物理意义:每次迭代时, w j w_j wj 会被额外缩小 α λ m w j \alpha\displaystyle\frac{\lambda}{m}w_j αmλwj(类似线性回归)。

w j : = w j − α [ 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) x j ( i ) + λ m w j ] : = w j ( 1 − α λ m ) − α ⋅ (原始梯度项) \begin{aligned} w_j&:=w_j-\alpha\left[\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_j^{(i)}+\frac\lambda mw_j\right]\\ &:=w_j\left(1-\alpha\frac\lambda m\right)-\alpha\cdot\text{(原始梯度项)} \end{aligned} wj:=wjα[m1i=1m(fw ,b(x (i))y(i))xj(i)+mλwj]:=wj(1αmλ)α(原始梯度项)

  • 偏置 b b b(不变)
    • 不变原因:正则化通常不惩罚 b b b

b : = b − α 1 m ∑ i = 1 m ( f w ⃗ , b ( x ⃗ ( i ) ) − y ( i ) ) b:=b-\alpha\frac1m\sum_{i=1}^m(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)}) b:=bαm1i=1m(fw ,b(x (i))y(i))

image-20250405225454773

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

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

相关文章

如何用人工智能大模型,进行作业批改?

今天我们学习人工智能大模型如何进行作业批改。手把手学习视频请访问https://edu.csdn.net/learn/40402/666452 第一步,进入讯飞星火。打开google浏览器,输入百度地址后,搜索”讯飞星火”,在搜索的结果中,点第一个讯飞…

C++学习笔记之 模板|函数模板|类模板

函数模板 类模板 定义:函数模板是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型 )可以不具体指定,而是用一个虚拟的类型来代替(用标识符占位),在…

正则入门到精通

​ 一、正则表达式入门​ 正则表达式本质上是一串字符序列,用于定义一个文本模式。通过这个模式,我们可以指定要匹配的文本特征。例如,如果你想匹配一个以 “abc” 开头的字符串,正则表达式可以写作 “^abc”,其中 …

对备忘录模式的理解

对备忘录模式的理解 一、场景1、题目【[来源](https://kamacoder.com/problempage.php?pid1095)】1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 2、理解需求 二、不采用备忘录设计模式1、代码2、问题3、错误的备忘录模式 三、采用备忘录设计模式1、代码1.1 …

86.方便的double转string属性 C#例子 WPF例子

在C#开发中,属性封装是一种常见的设计模式,它可以帮助我们更好地控制数据的访问和修改,同时提供更灵活的功能扩展。今天,我们就来探讨一个简单而优雅的属性封装示例:Power 和 PowerFormatted。 1. 问题背景 在实际开…

bun 版本管理工具 bum 安装与使用

在使用 node 的过程中,我们可能会因为版本更新或者不同项目的要求而频繁切换 node 版本,或者是希望使用更简单的方式安装不同版本的 node,这个时候我们一般会用到 nvm 或者类似的工具。 在我尝试使用 bun 的时候,安装前第一个想到…

GRE,MGRE

GRE:静态过程,有局限性 R1 : [r1]interface Tunnel 0/0/0 --- 创建一个虚拟的隧道接口 [r1-Tunnel0/0/0]ip address 192.168.3.1 24 --- 给隧道接口分配一个 IP 地址 [r1-Tunnel0/0/0]tunnel-protocol gre --- 定义接口的封装方式 [r1-Tun…

游戏无法启动?XINPUT1_3.dll 丢失的终极解决方案

当你兴奋地启动一款新游戏时,突然弹出一个错误提示——‘程序无法启动,因为计算机中丢失 XINPUT1_3.dll’。这种问题在 PC 玩家中非常常见,尤其是运行一些较老的游戏时。XINPUT1_3.dll 是 DirectX 运行库的关键组件,缺失会导致游戏…

用大语言模型学文学常识

李白的诗句“右军本清真”中的“清真”并非指伊斯兰教信仰,而是对王羲之(王右军)人格和艺术境界的赞美。以下是对这一问题的详细分析: “清真”的古代含义 在魏晋至唐代的语境中,“清真”一词多用于形容人的品格高洁、…

css炫酷的3D水波纹文字效果实现详解

炫酷的3D水波纹文字效果实现详解 这里写目录标题 炫酷的3D水波纹文字效果实现详解项目概述技术栈核心实现1. 基础布局2. 渐变背景3. 文字效果实现3.1 基础样式3.2 文字漂浮动画 4. 水波纹效果4.1 模糊效果4.2 水波动画 5. 交互效果 技术要点项目难点与解决方案总结 项目概述 在…

八、重学C++—动态多态(运行期)

上一章节: 七、重学C—静态多态(编译期)-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146999362?spm1001.2014.3001.5502 本章节代码: cpp/dynamicPolymorphic.cpp CuiQingCheng/cppstudy - 码云 - 开源中…

eventEmitter实现

没有做任何异常处理,简单模拟实现 事件对象的每一个事件都对应一个数组 /*__events {"事件1":[cb1,cb2],"事件2":[cb3,cb4],"事件3":[...],"事件4":[...],};*/class E{__events {};constructor(){}//注册监听回调on(type , callbac…

Mysql 中 B 树 vs B+ 树

🌳 什么是 B树 和 B树? 它们都是多路平衡查找树(M-Way Search Tree),用于提升磁盘读写效率,常用于数据库(如 MySQL)、操作系统中的索引结构。 🔍 B树 和 B树 的核心区别…

蓝桥云客---九宫幻方

1.九宫幻方 - 蓝桥云课 九宫幻方 题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3 * 3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又…

OrangePi5Plus开发板不能正确识别USB 3.0 设备 (绿联HUB和Camera)

1、先插好上电(可正确识别) 2、上电开机后插入USB 3.0 设备,报错如下,只能检测到USB2.0--480M,识别不到USB3.0-5Gbps,重新插拔也不行 Apr 4 21:30:00 orangepi5plus kernel: [ 423.575966] usb 5-1: re…

LiveData 和 MutableLiveData 的区别

LiveData 和 MutableLiveData 的区别 主要在于是否可以修改数据,但它们的工作原理基本相同。下面我们深入对比它们的行为、特性,以及它们在 ViewModel 和 UI 层中的使用方式。 1. LiveData 和 MutableLiveData 的基本区别 特性LiveDataMutableLiveData可…

SDK中窗口调用

存在窗口A和B的win32程序 , 当点击窗口A中的按钮后会弹出窗口B #include <windows.h>// 窗口 B 的窗口过程 LRESULT CALLBACK WindowProcB(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch (uMsg) {case WM_DESTROY:PostQuitMessage(0);break;default:ret…

进行性核上性麻痹:饮食调理为健康护航

进行性核上性麻痹是一种复杂的神经退行性疾病&#xff0c;目前虽无法根治&#xff0c;但合理的健康饮食有助于缓解症状、提高患者生活质量。 高蛋白质食物在患者饮食中占据重要地位。鱼肉&#xff0c;尤其是富含 Omega-3 脂肪酸的三文鱼、鳕鱼等&#xff0c;不仅蛋白质含量丰富…

【Windows+Cursor】从0到1配置Arxiv MCP Server,实现论文自主查询、下载、分析、综述生成

1. 安装UV Installation | uv powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" 将安装路径添加到环境变量 C:\Users\xxxxxx\.local\bin 2. git clone 代码 git clone https://github.com/blazickjp/arxiv-mcp-server.git…

WPF 教程:给 TreeView 添加 SelectedItem 双向绑定支持(MVVM-Friendly)

&#x1f332;WPF 教程&#xff1a;给 TreeView 添加 SelectedItem 双向绑定支持&#xff08;MVVM-Friendly&#xff09; 在 WPF 的 MVVM 应用中&#xff0c;TreeView 是非常常见的控件&#xff0c;但它有个“顽固”的缺陷&#xff1a; ❗它的 SelectedItem 不是依赖属性&…