美文网首页
Octave 循环与向量化

Octave 循环与向量化

作者: 马光98 | 来源:发表于2018-05-22 17:15 被阅读0次
初始化v for循环,针对各个赋值 两者for循环方式等价
while 循环 注意每个if while for 都要有对应的end表示结束

虽然没有强制要求,最好还是通过缩进来表达逻辑关系


注意elseif中间没有空格

整个if结束了才用end

因为之前是按照上课演示的敲,发现每个条件后面都会跟一个逗号,所以测试一下没有逗号是否可以运行

没有逗号也可以运行
自定义的函数 函数文件得在当前路径下或添加到搜索路径中 多个返回值的函数 成功调用 对于代价函数的表示 成功计算

向量化(Vectorization):

向量化是指将数据通过矩阵和向量的方式进行计算,使得过程更易于理解也更易于编写

对于很多数据,如果直接计算则需要多个for循环,不仅麻烦还不好理解,以假设函数为例:

视频截图

在未向量化之前,我们若想求h(x),代码如上图中一般用过for循环,不易理解且繁琐,然而若通过向量化,直接θ'*X得到假设值的向量矩阵

下求梯度下降法的向量化:

假设特征数为2,假设方程为h(x)

此时要不断循环

循环赋值求最小

于是对于θ中的每一项都得写个for循环进行赋值

此时将整个赋值过程,改为:

其中 α 仍为学习速率,是一个实数,而 θ 和 δ 都是一个n+1维的向量,其中 θ为:

θ的内容

根据定义 δ 应为:

改为矩阵表示为:

最终的结果大小应为一个3*1的向量

左边的矩阵就是X的矩阵的转置,而右边的矩阵可通过h(x)的向量减去y得到,最终计算的过程应为:

梯度下降法的求值过程

一步可以直接计算,非常方便

相关文章

网友评论

      本文标题:Octave 循环与向量化

      本文链接:https://www.haomeiwen.com/subject/mpacjftx.html