机器学习week3-分类、正则化

1. 逻辑回归

1.1. 线性回归 vs 逻辑回归

对比维度

线性回归

逻辑回归

任务类型

回归(预测连续值)

分类(预测离散类别)

输出范围

(−∞,+∞)

[0,1](概率值)

损失函数

均方误差(MSE)

对数损失(交叉熵损失)

假设条件

假设输出与特征呈线性关系

假设概率的对数几率与特征呈线性关系

1.2. 场景:肿瘤分类

  • X轴:肿瘤大小;Y轴:0-良性,-恶性
  • 决策边界(decision boundary:由线性函数 (f_{w,b}(x) = wx + b) 定义,用于划分两个类别
    • 决策边界及左边:0-良性,右边:1-恶性

在右边添加额外训练样本(肿瘤很大的样本)会导致线性函数发生偏移

  • (蓝)线性函数变成(绿)线性函数;
  • 决策边界也右移
    • 原本为恶性的肿瘤样本预测为0-良性
    • 显然错误,右边的样本不应该影响怎么分类良恶性的
    • 添加新的样本,线性函数更差

1.3. 逻辑函数

Logistic Function,也称为 Sigmoid 函数,S 形曲线函数。它将任意实数输入值映射到区间 (0, 1)。

g(x) =1/(1 + e^(-x))

  • e 是自然常数(约等于 2.71828)

1.4. 构建逻辑回归算法

输入一个特征/一组特征x,输出一个(0,1)间的数字

  1. 定义z值:z= wx + b
  2. z值作为输入,带入到逻辑函数 g(z) =1/(1 + e^(-z)) 中
  3. 得到逻辑回归模型 f(x)=g(wx+b)

输出的理解:对于给定输入x值时,类别y=1的概率

  • 肿瘤大小为x时,肿瘤为恶性的概率

2. 决策边界

z= wx + b ----> g(z) =1/(1 + e^(-z)) ------> f(x)=g(wx+b)

  1. f(x)>0.5时,表分类=1概率>0.5,分类=1;否则f(x)<0.5时,表分类=1概率<0.5,分类=0
  2. f(x)>0.5时,根据逻辑函数曲线图,z>0,z=wx+b
  3. wx+b>0时,z>0,f(x)>0.5,分类=1;wx+b<0时,z<0,f(x)<0.5,分类=0
  4. 决策边界:wx+b=0的线

有两个输入特征:x1、x2

  • z=w1x1+w2x2+b
  • f(x)=g(w1x1+w2x2+b)
  • 决策边界:w1x1+w2x2+b=0

令w1=w2=1,b=-3

  • z=x1+x2-3
  • 决策边界:x1+x2=3

决策边界非直线

  • 多项式特征:z=w1x1^2+w2x2^2+b
  • 假设w1=w2=1,b=-1;z=x1^2+x2^2-1
  • 决策边界:x1^2+x2^2=1
    • 圆外:z>0,f(z)>0.5,分类y=1
    • 圆内:z<0,f(z)<0.5,分类y=0

更复杂的决策边界

3. 逻辑回归的代价函数

代价函数提供一种衡量特定参数集对训练数据拟合程度的方法,帮助选择更好的参数

对比维度

损失函数(Loss Function)

代价函数(Cost Function)

作用对象

单个训练样本

整个训练数据集

数学关系

代价函数是损失函数的平均值

由损失函数累加并平均得到

优化目标

无直接优化意义

模型训练的目标是最小化代价函数

应用场景

理论分析、梯度计算

实际训练、评估模型整体性能

平方误差代价函数(1/2在求和符号外面时)

  • 得到非凸代价函数:使用梯度下降,会有很多局部最小值

损失函数:单个训练的损失

  • y^(i)真实值,f(x^(i))预测值
  • 横轴:f,即标签y=1的概率预测值;纵轴:L,即损失函数

当 y^(i) = 1 时的损失函数曲线:

  • 当 f(x^(i))->1(预测正确),损失 L -> 0;
  • 当 f(x^(i))->0(预测错误),损失 L -> +∞

当 y^(i) = 0 时的损失函数曲线:

  • 当 f(x^(i))->0(预测正确),损失 L -> 0;
  • 当 f(x^(i))->1(预测错误),损失 L -> +∞

代价函数

4. 逻辑回归的简化版代价函数

5. 梯度下降的实现

如何选择w1、w2、w3、...、b的值使代价函数值尽可能小

对于repeat,先计算两个式子的右侧,再同时更新到左侧

  • 线性回归:预测函数为 f(x) = wx + b
  • 逻辑回归:预测函数为 f(x) = 1/(1 + e^(-(wx + b)))(sigmoid 函数)

更新公式形式与线性回归的相同,但f(x)定义不同

  1. 监督梯度下降
  2. 向量化
  3. 特征缩放

6. 过拟合问题

过拟合(Overfitting):模型在训练数据上表现良好,但在新的、未见过的数据上表现不佳,高方差(High Variance)

欠拟合(Underfitting):模型的复杂度较低,无法捕捉到数据中的关键特征和潜在规律,模型在训练、测试数据上的表现都很差,高偏差(High Bias)

泛化(Generalization) 是指模型在未见过的新数据上表现良好的能力。

过拟合也适用于分类

7. 解决过拟合

  1. 获得更多数据
  2. 尝试选择、使用特征的子集
  3. 正则化减小参数大小🔺

8. 带正则化的成本函数

模型过拟合的本质是参数值过大(如高次多项式的系数),导致模型对训练数据的微小波动过度敏感。正则化通过在代价函数中引入参数惩罚项,迫使参数值 “收缩” 到较小范围,从而:

  • 降低模型复杂度(避免过度复杂的决策边界);
  • 增强模型对新数据的泛化能力。

正则化:对特征的参数w_j惩罚,对b不操作

  1. L2正则化:温和收缩参数,保留所有特征
    1. 所有参数 w_j 都会被 “拉向 0”,但不会严格为 0(系数值变小但非零)。
    2. 倾向于让参数值更平均(避免某一特征权重过大),使模型更 “平滑”。
  2. L1正则化:稀疏化参数,实现自动特征选择
    1. 部分参数 w_j 会被直接压缩至 0(“稀疏化”),相当于自动实现 “特征选择”。
    2. 能筛选出对目标影响最大的核心特征,剔除冗余特征。

正则化参数 ⋋

  • =0:无正则化,模型可能过拟合(完全拟合训练数据)。
  • 非常大:正则化权重大,所有参数 w1...wj 被压缩至 0,模型复杂度降低 f(x)~=b(可能欠拟合)。
  • 选择原则:通过交叉验证(如网格搜索)找到最优 ⋋,使验证集上的模型性能(如准确率、损失值)最优。

9. 正则化线性回归

和线性回归相比,repeat部分对 b 的更新没变化,符合正则化试图缩小参数 wi ,不改变 b

正则化在每次迭代的作用:更新wj时,先✖一个略小于1的数,稍微缩小wj值,再减去

  • 第一部分:w_j*(1-ɑ*⋋/m) 是正则化项,确保权重不会无限制增长。
  • 第二部分:是标准的梯度下降更新项,用于最小化预测误差。

10. 正则化逻辑回归

对于梯度下降迭代最小化代价函数,repeat和正则化线性回归相同,只是各自的 f(x) 函数表达式不同

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

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

相关文章

FastAdmin 中生成插件

在 FastAdmin 中生成一个 OCR 发票识别插件&#xff0c;可以按照以下步骤进行开发。这里假设你已经熟悉 FastAdmin 插件开发的基本流程&#xff0c;并会使用 Composer 和 PHP 扩展。1. 创建插件骨架使用 FastAdmin 命令行工具生成插件基础结构&#xff1a;php think addon -a o…

DevExpress WinForms中文教程:Grouping(分组)- 如何自定义分组算法?

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

PHP 与 Vue.js 结合的前后端分离架构

PHP 与 Vue.js 结合是构建现代 Web 应用的流行技术栈&#xff0c;通常采用 前后端分离架构。以下是关键要点和推荐实现方案&#xff1a; 一、技术栈组合 角色技术选项后端 (PHP)Laravel (推荐)、Symfony、CodeIgniter前端 (Vue)Vue 2/3、Vue Router、Pinia/Vuex、Vite通信协议…

XML高效处理类 - 专为Office文档XML处理优化

/**** 提供XML读取、写入、修改、查询等高级功能&#xff0c;支持命名空间和复杂XML结构* * 主要功能&#xff1a;* 1. 复杂路径解析&#xff08;支持属性筛选、索引、通配符&#xff09;* 2. 完整节点类型支持&#xff08;元素、文本、CDATA、注释、PI&#xff09;* 3. 高效元…

星慈光编程虫2号小车讲解第一篇--向前向后

星慈光编程虫2号小车是一款基于微控制器&#xff08;如Arduino&#xff09;的编程教学小车&#xff0c;常用于学习机器人控制和编程基础。本讲解将重点介绍小车的基本运动&#xff1a;前进、后退、左转和右转。这些运动通过控制电机实现&#xff0c;通常涉及调整电机的方向和速…

iOS 加固工具有哪些?快速发布团队的实战方案

在当今快速迭代的 iOS 开发环境中&#xff0c;团队需要在高频上线与应用安全之间找到平衡。快速发布不应牺牲安全性&#xff0c;而安全加固也不应成为阻碍上线的瓶颈。这就要求开发者在加固工具的选型与流程设计上&#xff0c;做到既高效又可靠。 那么&#xff0c;iOS 加固工具…

结构型模式-架构解耦与扩展实践

结构型模式聚焦于对象间的组合关系&#xff0c;通过优化类与对象的装配方式&#xff0c;实现系统的灵活性与可扩展性。在分布式系统中&#xff0c;由于多节点协作、跨网络通信及异构环境集成等特性&#xff0c;传统结构型模式需进行适应性改造&#xff0c;以应对分布式特有的复…

scratch笔记和练习-第三课

角色的大小变化 亮度等特效设置 流程图图形符号 Figma攻略&#xff1a;26个流行流程图符号及其解释 练习 实现在闪动10次后角色缓缓变回原形

Redis MCP 安装与配置完整指南

一、Redis MCP 简介 Redis MCP (Managed Control Plane) 是一个独立于 Redis 服务运行的管理控制平台&#xff0c;用户可通过该平台快速高效地管理和配置 Redis 实例。Redis MCP 可配合开源 Redis 或 Redis Cloud 使用。 二、安装 Redis MCP 服务 Redis MCP 提供多种安装方式&a…

Spring Boot配置文件加载全指南:从基础到Spring Cloud集成

​​​ ​​一、核心概念​ 配置文件默认存在加载顺序优先级主要用途必需依赖bootstrap.yml❌ 无1(最先)最高Spring Cloud上下文初始化spring-cloud-starter-bootstrapbootstrap.properties❌ 无1(略高于.yml)最高同上同上application.yml✅ 自动创建2中等应用核心配置无appl…

Python通关秘籍(六)数据结构——字典

前文复习 五、数据结构 5.1 列表(List) 列表是一种有序的可变数据集合,可以包含不同类型的元素。

自学嵌入式 day33 TCP、HTTP协议(超文本传输协议)

6、黏包问题&#xff08;1&#xff09;、原因&#xff1a;发送方发送数据太快或者接收方接收数据太慢&#xff0c;导致数据在缓冲区缓存。&#xff08;2&#xff09;、解决方法&#xff1a;①发送指定大小数据&#xff08;结构体&#xff09;问题&#xff1a;结构体对齐问题&am…

LinuxShell 的 Here-Document(<< EOF) 笔记250723

LinuxShell 的 Here-Document(<< EOF) 笔记250723 Here-Document(<< EOF) Linux Shell Here Document (<< EOF) 终极指南 Here Document&#xff08;立即文档&#xff09;是 Shell 中用于多行输入重定向的强大功能&#xff0c;其核心语法为 << DELI…

【windows修复】解决windows10,没有【相机] 功能问题

问题: windows10,相机模块,好像是被卸载了,想重新安装 方法简介: 先下载windows store, 然后,在windows store 里面下载 相机功能: 解决: 直接下载官方离线包并手动安装(成功率 90%+) 1 用浏览器打开 https://store.rg-adguard.net 这是微软 CDN 解析站,安…

Python 中字典和 if-else 的选择

一、为什么要写这篇文章&#xff1f; 在 Python 编程中&#xff0c;我们经常需要根据不同的条件做不同的事情。比如&#xff1a; 根据用户等级显示不同的内容根据成绩给出不同的评价根据天气决定穿什么衣服 这时候&#xff0c;我们通常有两种选择&#xff1a; 用 if-else 语句用…

【开源解析】基于HTML5的智能会议室预约系统开发全攻略:从零构建企业级管理平台

&#x1f680; 【开源解析】基于HTML5的智能会议室预约系统开发全攻略&#xff1a;从零构建企业级管理平台 &#x1f308; 个人主页&#xff1a;创客白泽 - CSDN博客 &#x1f4a1; 热爱不止于代码&#xff0c;热情源自每一个灵感闪现的夜晚。愿以开源之火&#xff0c;点亮前行…

中央广播电视总台联合阿里云研究院权威发布《中国人工智能应用发展报告(2025)》:我国依旧需要大力注重人工智能人才的培养

你好&#xff0c;我是杰哥。 中央广播电视总台联合阿里云研究院权威发布《中国人工智能应用发展报告&#xff08;2025&#xff09;》&#xff0c;以下为报告核心看点&#xff1a; 报告首提 “654”体系&#xff1a;揭秘 6大技术趋势、5 新应用场景、4 力产业模型&#xff1b;成…

Visual Studio 2010-.Net Framework 4.0-DevExpress安装

最新版的DevExpress已不支持.Net Framework 4.0&#xff0c;需要下载18.1及以下版本。 17.2.5版DevExpress下载&#xff1a; 百度网盘 请输入提取码

借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown

在这个人工智能时代&#xff0c;Markdown因其易用性而备受重视。这种标记语言易于人类和机器理解。此外&#xff0c;与 HTML 和 DOCX 相比&#xff0c;这种格式更有助于法学硕士 (LLM) 理解文档结构。因此&#xff0c;本指南将介绍如何以 Python 编程方式将HTML转换为 Markdown…

【2026版】Redis面试题

文章目录1. Redis为什么这么快&#xff1f;2. Redis的持久化机制是怎样的&#xff1f;3. Redis 的过期策略是怎么样的&#xff1f;4. Redis的内存淘汰策略是怎么样的&#xff1f;5. 什么是热Key问题&#xff0c;如何解决热key问题&#xff1f;6. 什么是大Key问题&#xff0c;如…