美文网首页
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