zoukankan      html  css  js  c++  java
  • 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 8_Neural Networks Representation 神经网络的表述

      神经网络是一种受大脑工作原理启发的模式。 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络。

    8.1 非线性假设 Non-linear Classification 

    参考视频 : 8 - 1 - Non-linear Hypotheses (10 min).mkv

    线性回归和逻辑回归的缺点: 当输入数据特征过多,计算负荷大。

    计算机视觉中,图片的表示是通过像素矩阵表示的。假设一个图片是50×50px,其特征数为2500(灰度图,如果是RGB图则为7500)。如果两两特征组合将达到百万级别(从2500里选两个组合,2500 * 2499 / 2 ≈ 3 * 10^6),逻辑回归将无法适用。

    8.2 神经元和大脑

    参考视频 : 8 - 2 - Neurons and the Brain (8 min).mkv

    8.3 模型表示1

    参考视频 : 8 - 3 - Model Representation I (12 min).mkv

    为模仿大脑的工作方式,神经网络可以类似的分为:输入的数据特征,中间的数据处理层,最后的输出。

    神经网络模型建立在很多神经元之上,每一个都是一个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征,并且根据本身的模型提供一个输出。

    下图是一个以逻辑回归模型作为自身学习模型的神经元示例。参数 θ 也可以称为权重 weights

    神经网络模型是许多逻辑单元按照不同层级组织起来的,每一输出变量都是下一层的输入变量。

    逻辑单元:输入向量x(input layer),中间层ai(j)(hidden layer), 输出层h(x)(output layer)。

    每一层的输入都可以增加一个偏执单元  bias unit,通常取值为1。

    ai(j) 第 j 层的第 i 个激活结点(activation units)。j 表示是第几层,i 表示从上到下第几个元素。

    θ(j)   是将第 j 层映射到 j+1 层的权重矩阵

    θ的维度

    如果网络在第j层有 Sj 个单元(加上偏执单元),在 j+1 层有 Sj+1 个单元(不算偏执单元),θ(j) 的维度将是  Sj+1 X (Sj+1)。如上面的例子,theta1=3×4,theta2=1×4。

    注:很重要,容易搞反。row为下一层单元数,column数为当前层单元数+1。

    神经网络中,从上到下的每个原点是feature特征x0, x1, x2...。不是实例。它做的事情其实就是feature映射的过程,一层转换之后,feature可能变多、也可能变少。下一层feature的个数是通过权重矩阵 θ 的 row 来控制。

    8.4 模型表示 2

    参考视频 : 8 - 4 - Model Representation II (12 min).mkv

    我们把这样从左到右(input->activation->output)的算法称为前向传播 FORWARD PROPAGATION

     

      如果遮住前几层,神经网络就像 logistic regression,只不过我们把 logistic regression 中的输入向量[x1~x3] 变成了中间层的 [a1(2)~a3(2)], 即

     a 由 x 决定,并随着梯度下降变化越来越大,效果优于 x 的几次方。

    8.5 特征和直观理解 1

    参考视频 : 8 - 5 - Examples and Intuitions I (7 min).mkv

    用神经网络实现逻辑表达式

    单层神经网络可用来表示逻辑运算,比如 AND、OR

    1)AND

    2)OR

    3)取非 ¬

    4x1==0 && x2==0

    5)XNOR 异或非(和 异或XOR操作相反:值相同为真)

    比较复杂,需要结合 AND、NOT AND 和 OR三个运算。

    a21 = x1 && x2
    a22 = (﹁x1)&&(﹁x2)
    a31 =a21 || a21 =(x1 && x2) ||  (﹁x1)&&(﹁x2) = x1 XNOR x2;

    8.7 多类分类

    参考视频 : 8 - 7 - Multiclass Classification (4 min).mkv

    one-vs-all 方法是把二类分类问题到多类分类的一个推广。用神经网络进行多分类:


    输入向量 x 有三个维度,两个中间层,输出层有4类。输出为4维向量,向量中对应类型处值为1。



    应用:手写识别系统

  • 相关阅读:
    Mybatis自动生成Xml文件,针对字段类型为text等会默认产生XXXXWithBlobs的方法问题
    java JDK JRE 1.6,1.7,1.8各个版本版本下载链接
    window 10 企业版激活
    IntelliJ IDEA 缺少 javax 包 支持
    IntelliJ Idea 2017 免费激活方法
    url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】
    【转载】 CUDA_DEVICE_ORDER 环境变量说明 ( ---------- tensorflow环境下的应用 )
    【转载】 TensorFlow tf.app&tf.app.flags用法介绍
    中国知网(cnki)上caj格式转pdf的方法 ----------------- 转载
    同时购入两台同款thinkpad笔记本电脑,分别使用同一账户激活office失败--------------解决方法(账户下有多个Office激活信息,重装后提示“许可证不正确或者最大激活次数”)
  • 原文地址:https://www.cnblogs.com/maxiaodoubao/p/9881400.html
Copyright © 2011-2022 走看看