【李宏毅老师机器学习课程笔记】第一课:What is Machine Learning, Deep Learning and Structured Learning?
2017-07-04 18:09
706 查看
机器学习可近似描述为寻找一个特定函数的过程。
而机器学习的框架主要由一个包含hypothesis function set的model和一个包含了很多对输入输出pair的training data库组成,训练的过程就是通过这一系列的输入输出pair来找到一个最好最合适的function,而对这个function进行测试就是输入一个x,这个function能输出我们想要的y的过程。
而深度学习的概念可以用一个生产线的模型来说明。深度学习的model包含的不是一个个的单个函数,而是一系列由多个函数串联组成的复杂函数体,并且这是一个端到端的训练过程——即复杂函数体中的每一个子函数都可以完成自主学习。
为了更具体地说明深度学习,我们不妨看一下浅层学习与深度学习的对比:
在语音识别领域,有一个曾经非常著名的算法法“MFCC”,该算法对语音波形进行了6个步骤的处理以获取识别的结果,但前五个步骤都是人工设定的,只有最后的GMM是可以由计算机从大量的data中学习的,所以这是一种典型的浅层学习方法 (shallow approach)。
而深度学习与之明显不同,它所包含的数个函数每一个都能对数据进行学习,工程师的劳动成本减少了,更多的工作交由机器来完成。
受人脑结构的启发,神经网络在机器学习领域有着广泛应用,但到目前为止脑神经生理学的研究对机器学习还没有什么实际的作用,机器学习更多地只是借鉴了由多个神经元组成的多层神经网络的结构特性,从而衍生出一系列的神经网络算法。
一个典型的神经元结构是:对于一个输入的矢量X,使其与另一个相同维度的矢量 W进行内积的处理,同时内积过程中不同的项乘上一个通常不相等的权值b(bias),得到一个标量z,而最终的输出a由激活函数(activation function)sigma(z)给出。激活函数可以是任意的一个函数,常用的激活函数是sigmoid function,但实践中人们也逐渐发现了它的一些不理想的特性(会在后续课程中说明)。
而神经网络则是由最少三层的网状结构组成,每一层网络结构都对应着生产线模型中的一个function,它完成了一个由N维空间到M维空间的转变:输入层,即包含N个元素的输入矢量X;输出层,即由M个神经元组成的输出矢量;隐层(hidden layer),是输入层和输出层之间的结构,在浅层学习中隐层只有一层,而在深度学习中隐层则包含若干层的神经网络结构。
那么为什么我们要采用深度学习的策略呢?答案当然是因为——deeper is better
在神经元的数目相等(也就是神经网络的parameter相同)时,我们可以选用浅层学习的策略(使三层神经网络变得fat and short),也可以采用深度学习的策略(使多层神经网络变得thin and tall)。实验表明,往往更多的hidde
4000
n layer能有更高的精确度;在另外一个角度上来说,对于同样的training data,深度学习得出结果也远比浅层学习给出的结果要好。
以上就是deep learning的简单介绍。接下来我们看看什么叫structure learning。
实际上,deep learning 和 structure learning 不是一对可以并列的定义,两者所侧重的内容也不一样,在structure learning的过程中也应用了deep learning的思想。所谓的structure learning,就是要求机器学习这个function给出的输出不是一个简单的标量或一个普通的矩阵,而是一个结构体(如sequence、graph structure、tree structure等)。举例来说,structure learning的应用一个object
detection。比如我们给出一张image,上面有凉宫春日和朝比奈实玖瑠,那么机器学习就能给出这张图上凉宫春日和朝比奈的位置:
而机器学习的框架主要由一个包含hypothesis function set的model和一个包含了很多对输入输出pair的training data库组成,训练的过程就是通过这一系列的输入输出pair来找到一个最好最合适的function,而对这个function进行测试就是输入一个x,这个function能输出我们想要的y的过程。
而深度学习的概念可以用一个生产线的模型来说明。深度学习的model包含的不是一个个的单个函数,而是一系列由多个函数串联组成的复杂函数体,并且这是一个端到端的训练过程——即复杂函数体中的每一个子函数都可以完成自主学习。
为了更具体地说明深度学习,我们不妨看一下浅层学习与深度学习的对比:
在语音识别领域,有一个曾经非常著名的算法法“MFCC”,该算法对语音波形进行了6个步骤的处理以获取识别的结果,但前五个步骤都是人工设定的,只有最后的GMM是可以由计算机从大量的data中学习的,所以这是一种典型的浅层学习方法 (shallow approach)。
而深度学习与之明显不同,它所包含的数个函数每一个都能对数据进行学习,工程师的劳动成本减少了,更多的工作交由机器来完成。
受人脑结构的启发,神经网络在机器学习领域有着广泛应用,但到目前为止脑神经生理学的研究对机器学习还没有什么实际的作用,机器学习更多地只是借鉴了由多个神经元组成的多层神经网络的结构特性,从而衍生出一系列的神经网络算法。
一个典型的神经元结构是:对于一个输入的矢量X,使其与另一个相同维度的矢量 W进行内积的处理,同时内积过程中不同的项乘上一个通常不相等的权值b(bias),得到一个标量z,而最终的输出a由激活函数(activation function)sigma(z)给出。激活函数可以是任意的一个函数,常用的激活函数是sigmoid function,但实践中人们也逐渐发现了它的一些不理想的特性(会在后续课程中说明)。
而神经网络则是由最少三层的网状结构组成,每一层网络结构都对应着生产线模型中的一个function,它完成了一个由N维空间到M维空间的转变:输入层,即包含N个元素的输入矢量X;输出层,即由M个神经元组成的输出矢量;隐层(hidden layer),是输入层和输出层之间的结构,在浅层学习中隐层只有一层,而在深度学习中隐层则包含若干层的神经网络结构。
那么为什么我们要采用深度学习的策略呢?答案当然是因为——deeper is better
在神经元的数目相等(也就是神经网络的parameter相同)时,我们可以选用浅层学习的策略(使三层神经网络变得fat and short),也可以采用深度学习的策略(使多层神经网络变得thin and tall)。实验表明,往往更多的hidde
4000
n layer能有更高的精确度;在另外一个角度上来说,对于同样的training data,深度学习得出结果也远比浅层学习给出的结果要好。
以上就是deep learning的简单介绍。接下来我们看看什么叫structure learning。
实际上,deep learning 和 structure learning 不是一对可以并列的定义,两者所侧重的内容也不一样,在structure learning的过程中也应用了deep learning的思想。所谓的structure learning,就是要求机器学习这个function给出的输出不是一个简单的标量或一个普通的矩阵,而是一个结构体(如sequence、graph structure、tree structure等)。举例来说,structure learning的应用一个object
detection。比如我们给出一张image,上面有凉宫春日和朝比奈实玖瑠,那么机器学习就能给出这张图上凉宫春日和朝比奈的位置:
相关文章推荐
- 【深度学习入门—2015MLDS】1. What is Machine Learning, Deep Learning and Structured Learning?
- Coursera上DeepLearning系列课程第一课Neural Network and Deep Learning课程PPT和笔记
- 李宏毅--Machine Learning and having it deep and structured
- 《What is deep learning and why is it getting so much attention?》,译名:深度学习的定义及其备受关注的原因
- [机器学习入门] 李宏毅机器学习笔记-10 (Tips for Deep Learning;深度学习小贴士)
- Coursera机器学习课程笔记(1) Supervised Learning and Unsupervised Learning
- 李宏毅机器学习课程笔记10:Ensemble、Deep Reinforcement Learning
- What Is The Difference Between Artificial Intelligence And Machine Learning?
- [机器学习入门] 李宏毅机器学习笔记-24(introduction of Structured Learning;结构化学习介绍)
- What is Machine Intelligence vs. Machine Learning vs. Deep Learning vs. Artificial Intelligence (AI)
- 李宏毅机器学习自己的笔记(一)----------Introduction of MachineLearning
- 【学习笔记】WEEK 1_Introduction to Deep Learning_What is a neural network?
- [机器学习入门] 李宏毅机器学习笔记-12 (Why Deep Learning? ; 为什么是深度学习?)
- Neural Networks and Deep Learning(神经网络与深度学习)_What this book is about
- 李宏毅机器学习笔记(二)-------Why we need learn Machine Learning?
- [机器学习入门] 李宏毅机器学习笔记-26(Structured Support Vector Machine part 1;结构化支持向量机part 1)
- 李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning
- [机器学习入门] 李宏毅机器学习笔记-37 (Deep Reinforcement Learning;深度增强学习入门)
- What is the difference between data mining and machine learning?
- Machine Learning Foundations(机器学习基石)笔记 第一节