【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的logistic regression,这一节将主要针对深度学习入门知识进行讨论。本文内容涉及机器学习中深度学习入门的若干主要问题:深度学习的历史,深度学习基本结构,深度学习应用举例以及一些拓展知识。话不多说,让我们一起学习这些内容吧。
春节充电系列:李宏毅2017机器学习课程学习笔记02之Regression
春节充电系列:李宏毅2017机器学习课程学习笔记03之梯度下降
春节充电系列:李宏毅2017机器学习课程学习笔记04分类(Classification)
春节充电系列:李宏毅2017机器学习课程学习笔记05之Logistic 回归
课件网址:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html
视频网址:
https://www.bilibili.com/video/av15889450/index_1.html
李宏毅机器学习笔记6 深度学习入门
1. 深度学习的历史
深度学习在最近几年飞速发展,几乎呈指数爆炸增长
但deep learning并不是近几年才出现的新兴学习,在以往的几十年已经有无数人去研究它
2. 深度学习基本结构
深度学习类似之前的机器学习,也可以分为简单的三步
给定一个神经网络结构,也就是定义了一个函数集,给这个神经网络不同的权重也对应着不同的函数,我们要做的不断调整权重以找到我们想要的最好的函数
神经网络可以分为三部分,输入层,隐藏层,输出层,从字面自已我们大致可以知道,第一个层就是输入层,最后一层即输出层,在输入层与输出层之间的即为隐藏层
Deep的含义就是神经网络包含很多隐藏层,从下图大致可以看出神经网络越深,一般效果越好
每个神经元实际上是一个线性变换加上一个sigmoid函数(上一次笔记有讲),线性变换我们可以用矩阵运算来描述
于是整个神经网络是由好多线性变换和好多sigmoid函数组合而成
我们可以用平行运算来加速矩阵操作,而这正是GPU的长处
隐藏层的工作实际上是特征抽取
3. 深度学习应用举例
例如在手写数字辨识中我们可以用neural network来实现,通过输出来判别属于哪个数字
这个网络结构都需要自己设计
利用神经网络的输出和实际label的交叉熵,我们定义其loss function
然后我们需要做的是找到一组参数,使得loss function最小
得到参数的方法当然还是之前采用的梯度下降的方法
4. 拓展知识
下面是一些做深度学习开发的平台
对于神经网络有一个理论:任何连续的函数f都可以用只有一个隐藏层的网络表示出来
下面是一些关于深度学习更多内容的链接
后台回复“LHY2017” 就可以获取 2017年李宏毅中文机器学习课程下载链接~
-END-