• 【2】梯度下降法与向量化


    梯度下降法:

    埃尔法为学习率,是人为定义的,w:为更新后的w。b:为更新后的b

    Logistic回归的梯度下降法

    梯度下降法代码逻辑如下,但该代码有缺点,因为这里面有两个for循环,而for循环会使神经网络效率变低。所以要想办法避免FOR循环。向量化就是一个很好的方法。

    对于向量化计算u的方法:  首先输入v ,然后计算u

    类似的,可以实现对v中元素的log运算。实现v中元素的绝对值运算。可去掉v中所有的负数元素。是v^2。

     

     上图为Logistic回归导数的程序。应用向量化后的程序如下:该程序只替代了第二个for循环。

     利用向量化实现Logistic回归的正向传播:

     上图中圈出来的两部分,第一部分实现了z的计算,第二部分实现了A的计算。

     下面给出Logistic回归的整体应用代码:

     上图中的右部分,内核没有用FOR循环,最上边的那个循环是梯度迭代的次数,下面是w、b的更新后的值。程序的核心思想是把所有的值都写成矩阵的形式。如w指的不是某一个w值,而是含有全体w的矩阵;表达式也不是对某一个值进行改变,而是对整个矩阵进行改变。

    在反向传播过程中,每个样本都有一个对应的dz,不同样本的dz不同。这是因为dz的维度要和z的维度相同,因为每个样本都有对应的Z,所以每个样本都有对应的dz。  但是所有样本的dw都是相同的、共用的。这是因为dw和w的维度相同,而所有的的样本共用w,所以····。

  • 相关阅读:
    [ACM]HDU Problem 2000 + Java
    [测试开发面试]zyb面试题总结
    [ACM]HDU Problem 1001 + Java
    [ACM]HDU Problem 1002 + Java
    [ACM]HDU Problem 1000 + Java
    [Intellij Idea]激活与配置
    [Android开发]合集(随时更新)
    [Android开发]前端样式设计合集(随时更新)
    [Android开发]emulator无法启动的问题
    [Intellij Idea] IDE使用技巧帖集合(随时更新)
  • 原文地址:https://www.cnblogs.com/lau1997/p/12361105.html
Copyright © 2020-2023  润新知