news 2026/6/19 6:46:10

代价函数,矩阵的计算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代价函数,矩阵的计算

假设函数: h(x)= a + b*x
我们根据假设函数来进行图形的绘制与我们的数据进行比对
上图中的cost function即为代价函数

为了更好的理解代价函数我们可以使用空间立体图形来对代价函数进行描述,对于一组数据而言我们根据其假设函数可以得出其代价函数,我们将所得出得代价函数集合形成一个图形,其类似于一张网,我们可以改变假设函数中得两数据的大小(a,b) 从而得出不同的J的值,由图可知我们存在a与b能使J的值达到最低点。

上述的两幅图为假设函数图和一张登高线地形图,对于等高线地形图而言我们可以看作是将上方的立体图形由三维变为二维(即将其压缩,拍扁)形成的,对于同一个圈上的所有点都是代价函数值相同的点,且登高线地形图中最小的圈/点 是上述立体图中的最低点。

由于假设函数只是一个假设,当我们遇到实际问题的时候需要找出一个最优的解,因为我们可以不停地一点点地改变两参数的大小从而使得假设函数不断改变,从而帮我们找出最优解(局部)

所谓得局部最优解,即我们的代价函数在该趋势上的最小值,当我们的代价函数值最小时,其假设函数与我们的数据就越拟合

:= 该符号的意思为赋值的意思
根据上面所述,要想达到局部最优解我们需要不断的调整参数的大小
我们调整的参数大小为 a=a-k*J的倒数,对于所调整的两个参数而言,我们要将两个同时赋值,不可以先调整一个后再调整一个,这样的原因是,当我们先调整完一个参数后原假设函数和代价函数就会发生改变,因此要将两个同时赋值。

无论斜率的正负,我们对于调整参数都直接使用上述的计算方法

由于调整参数的过程需要一步一步进行,当所给定的增长值过小时我们需要进行很多步才能到达最低点,当我们给定的增长值过大时有可能超出我们所需的收敛值(最小点)
而对于我们给定的增长值而言即便增长值固定我们再进行参数调整的过程中调整的幅度也会越来越小,因为参数的倒数值会越来越小,因此变化幅度越来越小。

根据调整我们的参数会越来越靠近局部最优解的参数大小,但我们处于局部最优解时,其参数调整不会变化即该处的斜率为0

矩阵计算:

矩阵的读写:矩阵的维度数时按照先行后列的顺序来的,即上图中的两组矩阵,一个为4x2矩阵,一个为2x3矩阵

对于一个指定的矩阵,我们通常用大写字母来表示,同时在大写字母的右下角来表示矩阵内部的数,例如上述的A11表示的是矩阵中的第一行第一列的数

相同维度的矩阵相加: 对应矩阵位置的数相加

两矩阵的相乘:
对于两个矩阵相乘而言其首先要满足可以进行相乘操作,即A矩阵为m*n型,B矩阵为n*1型,即前面矩阵的列要等于后面矩阵的行才可以进行相乘。且对于所乘出来的矩阵而言其形式为m*1

对于出现m*n与n*p的形式时,我们可以将其拆解为多个n*1来进行乘法操作
最后将乘出来的结果进行相加统合即可,且矩阵的乘法为,A中的每一行的各个数与B中的每一列的各个数进行相乘后再相加得到乘后参数。

对于矩阵乘法而言我们之前学过的假设函数可以通过矩阵的方式来找出最优解,即最适配的假设函数

矩阵的乘法是不服从交换律的:与正常的乘法交换律不同,对于常数而言乘法交换律只是换了个位置,其本质并没有发生改变,但是在矩阵中不是这样的,矩阵的乘法遵从结果为前一矩阵的行*后一矩阵的列这一形式,若是交换了位置就如上述图中的m*m变为n*n,参数内容发生了改变,因此结果将改变。

但是对于矩阵的乘法而言其遵从结合率,即当出现3个以上的矩阵相乘,只要顺序不改变其前相乘和其后面先相乘结果不会改变。

对于任意一个矩阵A其乘以一个单位矩阵其使用乘法的交换律

逆矩阵:这类矩阵的行数和列数相等因此也被称为方矩阵存在一个方矩阵A其一定存在一个对应的逆矩阵使得,两矩阵相乘能得到一个单位矩阵

矩阵的转置矩阵,与我们在numpy中所学到的行列转置语法相同,即将行变成列将列变成行

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 12:17:30

学考赋能哪家优?泛微青蓝阁、考试星、酷学院、云学堂实力拆解

随着企业数字化人才培育进入“精准化、合规化”深水区,学习培训考试平台已从基础辅助工具,升级为企业搭建学练考闭环、赋能员工成长的核心载体。据《2026年企业学考数字化白皮书》显示,国内该领域市场规模已突破900亿元,AI赋能、合…

作者头像 李华
网站建设 2026/6/3 12:39:27

如何创建一个PR

第一阶段:本地准备 (在终端操作) 这几步是为了确保你的代码在本地是干净、准确地打包好的。 1. 确认身份 git branch 作用:查看当前所在的分支。 检查点:必须看到 * crj_develop(你的名字分支)是绿色的。 为什么&…

作者头像 李华
网站建设 2026/6/10 16:35:15

vue表格vxe-table 单元格拖拽复制填充功能,如何自定义某个列霍某个单元格禁止拖拽复制值,自定义扩展区域赋值方法

vue表格vxe-table 单元格拖拽复制填充功能,如何自定义某个列霍某个单元格禁止拖拽复制值,自定义扩展区域赋值方法。比如有很多列, 业务需要实现b列不能拖拽复制单元格值,c列允许拖拽复制单元格值。那么可以使用,自定义…

作者头像 李华
网站建设 2026/5/28 18:14:31

在腾讯 CloudStudio 上部署 Moltbot 接入钉钉完整教程

继《Moltbot 接入飞书》和《Moltbot 接入企业微信》后,本文将详细介绍如何将 Moltbot 接入钉钉,实现智能 AI 助手功能。钉钉官方已开源 Moltbot 连接器,让接入变得更加简单! 一、前期准备 1.1 所需资源清单 在开始部署之前,请确保准备好以下资源: ✅ 钉钉企业账号:需要企业管…

作者头像 李华