机器学习入门-第七天

 

1, Deep Learning简介

1,什么是深度学习

  • 深度学习的model是一个深度神经网络结构(neural structure)
  • 深度学习的“深度”是指神经网络的隐层(hidden layer)数量足够多
  • 深度学习是自动提取特征(Feature extractor),不需要像逻辑回归那样特征转换(Feature engineering)
  • 每一个neuron里面的sigmoid function,在Deep Learning中被称为activation function(激励函数)
  • 有很多层layers的neural network,被称为DNN(Deep Neural Network)

2,深度学习的三个步骤

  • Step1:构建神经网络(Neural network)---神经网络的创建包括3部分:一是神经网络有多少隐层(layer)、二是每一层有多少神经元(neuron)、三是每个神经元之间如何连接
  • Step2:模型评估(Goodness of function)
  • Step3:选择最优函数(Pick best function)

机器学习入门-第七天

神经网络的概念:把多个Logistic Regression前后connect在一起,然后把一个Logistic Regression称之为neuron,整个称之为neural network. 我们可以用不同的方法连接这些neuron,就可以得到不同的structure,neural network里的每一个Logistic Regression都有自己的weight和bias,这些weight和bias集合起来,就是这个network的parameter. 比较常用的一个连接方式是Fully Connect Feedforward Network(全连接前馈网络),其概念:前馈(feedforward)也可以称为前向,从信号流向来理解就是输入信号进入网络后,信号流动是单向的,即信号从前一层流向后一层,一直到输出层,其中任意两层之间的连接并没有反馈(feedback),亦即信号没有从后一层又返回到前一层。因为layer和layer之间,所有的neuron都是两两连接,所以它叫Fully connected的network.

机器学习入门-第七天机器学习入门-第七天

3,神经网络是如何工作的?

机器学习入门-第七天

每一层的计算都是一样的,每一层都用矩阵运算, 矩阵运算的好处是,可以用GPU加速,GPU对matrix的运算是比CPU要来的快的,所以我们写neural network的时候,习惯把它写成matrix operation,然后call GPU来加速它.

机器学习入门-第七天

机器学习入门-第七天

注:input、output的dimension,加上network structure,就可以确定一个model的形状,前两个是容易知道的,而决定这个network的structure则是整个Deep Learning中最为关键的步骤. 手写数字识别例子我们已知的constraint只有input是256维,output是10维,而中间要有几个hidden layer,每个layer要有几个neuron,也即network的structure, 都是需要我们自己去设计的,它们近乎是决定了function set长什么样子.

机器学习入门-第七天

4,如何评价神经网络的好坏(Goodness of function),即确定损失函数

机器学习入门-第七天

5,找到一个最好的函数(最佳参数)

机器学习入门-第七天

机器学习入门-第七天

6, Back Propagation方法update DNN参数

BP(后向传播)是用来快速计算DNN梯度的, 从而更快的更新参数.

如何有效地把这个近百万维的vector给计算出来,这就是Backpropagation要做的事情,所以Backpropagation并不是一个和gradient descent不同的training的方法,它就是gradient descent,它只是一个比较有效率的算法,让你在计算大量数据的gradient的vector的时候更有效率.

  1. 损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的,用L表示。
  2. 代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。
  3. 总体损失函数(Total loss function)是定义在整个训练集上面的,也就是所有样本的误差的总和。也就是平时我们反向传播需要最小化的值。

机器学习入门-第七天

机器学习入门-第七天机器学习入门-第七天

1,Forward pass: 就是权值所对应的输入量

机器学习入门-第七天机器学习入门-第七天

2,Backward pass: 

机器学习入门-第七天

机器学习入门-第七天

机器学习入门-第七天

3,为什么可以反向传播?

机器学习入门-第七天

机器学习入门-第七天

机器学习入门-第七天机器学习入门-第七天

机器学习入门-第七天

机器学习入门-第七天

机器学习入门-第七天

参考:

https://www.cnblogs.com/xxlad/p/11237862.html

https://sakura-gh.github.io/ML-notes/ML-notes-html/8_Deep-Learning.html

“深度學習”

•My Course: Machine learning and having it deep and structured

•http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLSD15_2.html

•6 hour version: http://www.slideshare.net/tw_dsconf/ss-62245351

•“Neural Networks and Deep Learning”•written by Michael Nielsen•http://neuralnetworksanddeeplearning.com/

•“Deep Learning” •written by Yoshua Bengio, Ian J. Goodfellow and Aaron Courville •http://www.deeplearningbook.org