zoukankan      html  css  js  c++  java
  • DL_1_week2_神经网络基础

    二分类问题

    在二分分类问题中,目标是训练出一个分类器,这里以图片特征向量x作为输入,预测输出的结果标签y是1还是0,也就是预测图片中是否有猫。         

    计算机保存一张图片(彩色),要保存三个独立矩阵,分别对应红绿蓝三个颜色通道,如果输入图片是64×64像素,就有三个64×64像素矩阵对应图片中红绿蓝三种像素的亮度。

    把这些像素取出来放入特征向量,维度是64×64×3=12288。

    •   x表示的是特征向量,一个特征向量的长度是nx
    • (x,y)表示一个单独样本
    • .shape指令是python中的求矩阵维度指令

    逻辑回归、梯度下降法

    计算图

    使用流程图计算函数J(正向传播)

    使用流程图计算函数J的导数(反向传播)

     

    使用导数流程图计算逻辑回归的梯度下降

    从后向前算出每一步的导数(偏导)

    m个样本的同时梯度下降

    梯度下降程序化:

    向量化

    CPU和GPU都有并行化指令,有时候会叫做SIMD指令(单指令多数据),如果使用了这样的内置函数,比如np.function或者其他能去掉显示for的函数,这样Python的numpy能够充分利用并行化更快地计算,这点对于CPU与GPU上面的计算都是成立的

    经验法则:向量化能够消除代码中的for循环,加速算法,只要有其他可能,就不要使用显示for循环

    u=AV的向量化非向量化对比

    for循环和向量化内置函数对比

     

    1.用向量化简化一个for,利用的是将循环处理的数据变成向量,再由内置函数批量一次性处理

    2.向量化逻辑回归(向量化z和a)

    这样只需一行代码就能计算大写Z,大写Z是一个1*m的矩阵,包含所有小写z;

    sigmoid函数能处理一个向量,就能把Z当做变量输入,高效地输出大写A  

    在python中一个向量加上一个实数,会自动把实数扩展成一个向量,这种操作叫做广播,不仅如此,两个不同维度的矩阵相加结果的维度与第一个相同

    2.向量化同时计算m个训练数据的梯度

    向量化从后向前算出每一步的导数(偏导),并以此简化另一个for循环

  • 相关阅读:
    HDU 4539郑厂长系列故事――排兵布阵(状压DP)
    HDU 2196Computer(树形DP)
    HDU 4284Travel(状压DP)
    HDU 1520Anniversary party(树型DP)
    HDU 3920Clear All of Them I(状压DP)
    HDU 3853LOOPS(简单概率DP)
    UVA 11983 Weird Advertisement(线段树求矩形并的面积)
    POJ 2886Who Gets the Most Candies?(线段树)
    POJ 2828Buy Tickets
    HDU 1394Minimum Inversion Number(线段树)
  • 原文地址:https://www.cnblogs.com/Real-Ying/p/7486705.html
Copyright © 2011-2022 走看看