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

吴恩达《机器学习》4-6->4-7:正规方程

一、正规方程基本思想

  • 正规方程是一种通过数学推导来求解线性回归参数的方法,它通过最小化代价函数来找到最优参数。

  • 代价函数 J(θ) 用于度量模型预测值与实际值之间的误差,通常采用均方误差。

二、步骤

  • 准备数据集,包括特征矩阵 X 和目标向量 y。特征矩阵通常包括一个全为1的常数列(截距项)。

  • 定义代价函数 J(θ),通常采用均方误差。

  • 推导代价函数 J(θ) 对参数θ的梯度,令梯度为零。

  • 将梯度为零的方程组转化为矩阵形式:X^T * X * θ = X^T * y。

  • 求解正规方程,得到最优参数θ:θ = (X^T * X)^(-1) * X^T * y。

三、正规方程的优点

  • 不需要选择学习率α,一次运算得出最优参数,无需迭代。

  • 在特征数量较小的情况下非常适用(通常 n < 10000)。

四、正规方程的限制和适用情况

  • 不适用于非线性模型,仅适用于线性回归。

  • 如果特征之间存在线性相关性,或者特征数量多于样本数量,正规方程可能不适用。

  • 对于特征数量大的情况,计算 (X^T * X)^(-1) 的逆矩阵可能会昂贵。

五、选择算法

  • 根据问题的特点、数据集的大小和特征的独立性来选择使用梯度下降法或正规方程。

  • 对于小型数据集和特征数量不多的情况,正规方程是一个有效的选择。

六、正规方程在矩阵不可逆时的解决办法

  • 使用伪逆函数 pinv()

    • 在Octave等数值计算工具中,可以使用伪逆函数 pinv() 来计算参数θ,即使特征矩阵X^T * X是不可逆的。这是一种弥补不可逆性的方法,它可以提供正确的解。

  • 处理线性相关的特征:

    • 当存在线性相关的特征时,如 x1 = (3.28)^2 * x2,矩阵X^T * X可能变得奇异或不可逆。此时,可以考虑去除一个或多个相关特征以减少特征数量,同时保持数据的信息内容。这将使X^T * X更容易求逆。

  • 特征选择和正则化:

    • 如果特征数量n太多,而训练样本数量m相对较少,可能会导致X^T * X不可逆。在这种情况下,可以考虑以下方法:

      • 删除一些不相关或冗余的特征,以降低特征数量。

      • 使用正则化方法,如Lasso或Ridge回归,来惩罚不必要的特征权重,从而解决不可逆性问题。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

http://www.lryc.cn/news/220342.html

相关文章:

  • VO、DTO
  • RK3566上运行yolov5模型进行图像识别
  • 汽车标定技术(一):XCP概述
  • 短视频的运营方法
  • GitLab CI/CD 持续集成/部署 SpringBoot 项目
  • 第二证券:政策效应逐步显现 A股修复行情有望持续演绎
  • sql逻辑优化
  • 【数据结构】树与二叉树(一):树(森林)的基本概念:父亲、儿子、兄弟、后裔、祖先、度、叶子结点、分支结点、结点的层数、路径、路径长度、结点的深度、树的深度
  • 2024 Android Framework学习大纲之基础理论篇
  • 【深度学习】Yolov8 区域计数
  • Windows 系统服务器部署jar包时,推荐使用winsw,将jar包注册成服务,并设置开机启动。
  • npm 包管理
  • 力扣370周赛 -- 第三题(树形DP)
  • GPT学习笔记
  • Apex的addError()显示的消息中实现换行
  • STM32中微秒延时的实现方式
  • 2005-2021年全国各省家庭承包耕地面积和家庭承包耕地流转总面积数据(无缺失)
  • 【六、http】go的http的客户端重定向
  • AI:61-基于深度学习的草莓病害识别
  • idea文件比对
  • 重磅发布|美创科技新一代 数据安全管理平台(DSM Cloud)全新升级
  • 比SAM小60倍的分割一切模型:MobileSAM
  • 版本控制系统-SVN
  • 【电路笔记】-串联RLC电路分析
  • 大数据毕业设计选题推荐-家具公司运营数据分析平台-Hadoop-Spark-Hive
  • 【触想智能】工业显示器上市前的检测项目分享
  • Vue使用epubjs电子书
  • python机器学习——决策树
  • __attribute__((__used__)) 和 __attribute__((__section__(“*“ “*“)))的使用
  • webgoat-(A1)SQL Injection