What is Machine Learning, Deep Learning and Structured Learning?

目录

机器学习框架

Deep learning

什么是深度学习?

Deep v.s. Shallow

深度学习的大起大落

世人都道深度好,为啥深度好?

Structured Learning


链接:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2015_2/Lecture/Brief%20ML%20(v2).pdf

首先我们在学习机器学习之前需要明白一个道理:机器学习并不是万能的,人类没法解决的问题,电脑也没有办法解决。那么机器学习的目的有事什么呢?从众多很复杂的任务中找到一个common patterns。因为我们的机器具有学习的能力。举个栗子,对于语音识别来说,让我们写语音识别的程序是很困难的。但是这个问题转化一下去写一个具有学习语音识别的模型来说还是比较可行的。机器学习的“学习”二字也可以理解为发现一个function,只不过这个function是一个比较抽象的东西。

机器学习框架

一个机器学习framework可以由如下模块组成:

首先,我们需要准备数据。一个pair数据含有x和y,其中x是输入数据,y是输出数据。然后我们在我们假设的function set里面选出最适合我们的训练数据集的一个function。即Best Function。最后,选好best function之后可以代入我们的测试数据中,预测出测试集输入对应的输出。这里,需要注意的是收集的数据需要分成训练集、验证集和测试集。这里,训练集是来训练function set的函数们,验证集是来判断哪个函数最好,测试集是去用最好的那个函数得出输出。

对于李宏毅老师的这门课,虽然名字叫做机器学习,但是主要以deep learning 和structured learning两部分为主。

 

Deep learning

什么是深度学习?

如果对方是一个非专业的人,我们可以说深度学习就是模拟人脑运作方式的一种东西。但是对于专业的人来说,其实深度学习并没有从神经科学里面借鉴多少东西,所以说也算不上是模拟人脑运作方式。更好的解释可以是:

深度学习是一条生产线,它是一种端到端的学习,即只关心上一个的输出,从而来作为自己的输入。而每个生产线的加工坊是自动地学习需要做什么事,不需要人为地经验性指导。这里每一个工作坊大多都是以神经网络为主(neural network),每个神经网络是由多个neural组成,每一个neural是由一个简单的函数组成,比如sigmoid。

Deep v.s. Shallow

对于传统的机器学习方法来说,每一步都是根据先验性知识人为定义好的,是那些古圣先贤通过几十年的经验得到的硕果,无法再加入和减少每一个“加工坊”。而所谓地学习,只有少部分是根据data自动地学习得到的。

对于深度学习来说,正如前面所说,每一个“加工坊”都能够自动地从输入的data中学习应该做什么事儿,不需要人为经验性地定义。所以对于“加工坊”可以根据实际情况地增加和减少。这里的是“生产线”中,加工坊(f1->f2->…->f5)每一步都是从上一步的输出数据得到的学习,而且加工坊是由简单地检测到复杂地检测。以图像识别为例,刚开始每一层是侦测图中是否有简单的点和线,到比较深的层的时候去侦测图中是否有一些简单的图像。

深度学习的大起大落

早在1960年感知机就被提出来,并且取得了比较好的效果。但是后来人们发现它不能很好地解决非线性问题(后面会谈到)。过了10年,随着多层感知机的提出,解决了非线性问题。多层感知机其实和现在得DNN没啥本质性的差别。后来又发明了反向传播,但是人们发现当多层,其层数多于3的时候,效果会变差,但是不知道为啥会这样。并且在80年代末,人们还发现一层神经网络足够地好,所以干嘛还需要deep呢?于是神经网络再度进入了冷门。到了2006年,Hitton提出了RBM,这是一个历史性的突破,所以现在这玩意儿没人用了。神经网络再度成为了世人的焦点。

 

世人都道深度好,为啥深度好?

Deeper is better的悖论

这个理论还是真牛逼,说的是只要神经元足够多,一层神经网络可以表示任何连续性函数。所以,也正是因为如此,人们才会去思考,既然能表示任何连续性函数,那么要这么多层有何用?

Fat + Short v.s. Thin + Tall,对于这个问题,我们还是用实验结果来说话吧。

由上图,我们可以知道一般地,thin-long类型的网络正确率都比fat-short类型的网络要好。当网络正确率相同的情况下,thin-long类型的网络所需要的参数更少,所需的参数少也意味着需要的训练数据更少。当数据减少得情况下,thin-long类型的网络不会因此而崩溃得那么厉害。

但是深度学习并不是深度越深,效果越好,甚至特别深的时候会出现完全奔溃的情况,这也是为什么之前并不流行的一个主要原因。

Structured Learning

前面的深度学习是一种方法,而structured learning是多种方法。对于各种各样的机器学习问题,有不同类型的输入和输出。我们的目的是使用这些方法怎么解决这些structure问题。

最后,第一次做公开视频课的笔记,可能有一些问题,还请读者指点。这里我之所以做李宏毅的机器学习笔记,一来是因为本人方向本身是语音识别,二来是因为之前看coursera上Andrew Ng的视频,感觉比较的大众化,最后这门课也囊括了机器学习和深度学习的很多东西,每一年都会不断的进行内容更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值