当前位置: 首页 > ops >正文

【学习笔记】机器学习(Machine Learning) | 第五章(4)| 分类与逻辑回归

机器学习(Machine Learning)

简要声明

基于吴恩达教授(Andrew Ng)课程视频
BiliBili课程资源


文章目录

  • 机器学习(Machine Learning)
    • 简要声明
  • 四、梯度下降实现
    • 梯度下降算法
      • 参数更新规则
      • 偏导数计算
      • 梯度下降步骤
    • 梯度下降的实现细节
      • 梯度下降的伪代码
    • 向量化实现
    • 特征缩放


一、逻辑回归的基本原理
二、决策边界
三、代价函数

四、梯度下降实现

梯度下降算法

梯度下降是一种常用的优化算法,用于最小化代价函数。在逻辑回归中,我们使用梯度下降来更新模型参数 w j w_j wj b b b,以最小化代价函数 J ( w → , b ) J(\overrightarrow{w}, b) J(w ,b)

参数更新规则

梯度下降的参数更新规则如下:

w j = w j − α ∂ ∂ w j J ( w → , b ) w_j = w_j - \alpha \frac{\partial}{\partial w_j} J(\overrightarrow{w}, b) wj=wjαwjJ(w ,b)

b = b − α ∂ ∂ b J ( w → , b ) b = b - \alpha \frac{\partial}{\partial b} J(\overrightarrow{w}, b) b=bαbJ(w ,b)

其中, α \alpha α 是学习率,控制每次更新的步长。

偏导数计算

对于逻辑回归,代价函数 J ( w → , b ) J(\overrightarrow{w}, b) J(w ,b) w j w_j wj b b b 的偏导数分别为:

∂ ∂ w j J ( w → , b ) = 1 m ∑ i = 1 m ( f w → , b ( x → ( i ) ) − y ( i ) ) x j ( i ) \frac{\partial}{\partial w_j} J(\overrightarrow{w}, b) = \frac{1}{m} \sum_{i=1}^{m} (f_{\overrightarrow{w}, b}(\overrightarrow{x}^{(i)}) - y^{(i)}) x_j^{(i)} wjJ(w ,b)=m1i=1m(fw ,b(x (i))y(i))xj(i)

∂ ∂ b J ( w → , b ) = 1 m ∑ i = 1 m ( f w → , b ( x → ( i ) ) − y ( i ) ) \frac{\partial}{\partial b} J(\overrightarrow{w}, b) = \frac{1}{m} \sum_{i=1}^{m} (f_{\overrightarrow{w}, b}(\overrightarrow{x}^{(i)}) - y^{(i)}) bJ(w ,b)=m1i=1m(fw ,b(x (i))y(i))

梯度下降步骤

  1. 初始化参数:随机初始化 w j w_j wj b b b
  2. 重复直到收敛
    • 计算当前参数下的代价函数值。
    • 计算每个参数的梯度。
    • 更新参数 w j w_j wj b b b
  3. 终止条件
  • 代价函数的变化小于阈值
    当连续两次迭代的代价函数值变化小于某个预设的阈值(如 1 0 − 6 10^{-6} 106)时,认为算法已经收敛。
  • 梯度的范数小于阈值
    当梯度向量的范数(如 L2 范数)小于某个预设的阈值时,认为算法已经收敛。
  • 达到最大迭代次数
    如果达到预设的最大迭代次数仍未收敛,则停止迭代。

梯度下降的实现细节

梯度下降的伪代码

Initialize w_j and b randomly
Repeat {Compute gradients dw_j and dbUpdate w_j = w_j - alpha * dw_jUpdate b = b - alpha * db
} until convergence

向量化实现

为了提高计算效率,梯度下降可以向量化实现,即同时更新所有参数:

w → = w → − α 1 m X → T ( f w → , b ( X → ) − y → ) \overrightarrow{w} = \overrightarrow{w} - \alpha \frac{1}{m} \overrightarrow{X}^T (f_{\overrightarrow{w}, b}(\overrightarrow{X}) - \overrightarrow{y}) w =w αm1X T(fw ,b(X )y )

b = b − α 1 m ∑ i = 1 m ( f w → , b ( x → ( i ) ) − y ( i ) ) b = b - \alpha \frac{1}{m} \sum_{i=1}^{m} (f_{\overrightarrow{w}, b}(\overrightarrow{x}^{(i)}) - y^{(i)}) b=bαm1i=1m(fw ,b(x (i))y(i))

特征缩放

在梯度下降中,特征缩放(如标准化或归一化)可以加速收敛。常见的特征缩放方法包括:

  • 标准化:将特征值转换为均值为 0,标准差为 1 的分布。
  • 归一化:将特征值缩放到 [0, 1] 或 [-1, 1] 区间。

可视化梯度下降示例
在这里插入图片描述


end

http://www.xdnf.cn/news/4456.html

相关文章:

  • 在线PDF阅读方案:jQuery + PDF.js
  • K8S 基于本地存储的持久卷
  • 《Python星球日记》 第44天: 线性回归与逻辑回归
  • 猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
  • 电脑桌面悬浮窗便签,好用的电脑桌面便签工具
  • Android Studio根目录下创建多个可运行的模块
  • ESP32-S3 I2S音频开发实战指南
  • Nginx性能调优与深度监控
  • html css js网页制作成品——HTML+CSS珠海网页设计网页设计(4页)附源码
  • LVGL-对象 lv_obj_t
  • FAISS(Facebook AI Similarity Search)
  • STM32基础教程——软件SPI
  • 高效C/C++之七:Coverity修复问题: 打印函数切记对应类型 和 判定非空指针变量后使用
  • eFish-SBC-RK3576工控板外部RTC测试操作指南
  • 【工具变量】最新华证ESG评级得分数据-含xlsx及dta格式(2009-2024.12)
  • vscode预览模式(点击文件时默认覆盖当前标签,标签名称显示为斜体,可通过双击该标签取消)覆盖标签、新窗打开
  • 用 CodyBuddy 帮我写自动化运维脚本
  • 易基因:中山大学凌文华团队DNA甲基化研究揭示血管衰老与动脉粥样硬化的表观调控机制|项目文章
  • Debezium BinaryLogClient详解
  • 信息论08:从交叉熵到KL散度——信息论中的“距离“与“差异“度量指南
  • Tiny Machine Learning在人类行为分析中的全面综述
  • ICML 2025录取率公布,spotlight posters仅占2.6%
  • 函数申明 Q_INVOKABLE
  • 4、反应釜压力监控系统 - /自动化与控制组件/reaction-vessel-monitor
  • 关于almalinux分区配置:
  • Java基础 5.7
  • AI日报 · 2025年5月07日|谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本),大幅提升编码与视频理解能力
  • Spark的基本介绍
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(十一)
  • 塔能热回收节能方案:深挖工厂能耗中的“隐形宝藏”