首先看看机器学习的定义:
“A computer program is said to learn from experience E with respect to some class of tasksT and performance measureP if its performance at tasks inT, as measured by P, improves with experience E ”(这段话我真的是看了100遍才知道怎么断句啊!!(Д))
翻译过来就是:“一个电脑程序要完成任务(T),如果电脑获取的关于T的经验(E)越多就表现(P)得越好,那么我们就可以说这个程序‘学习’了关于T的经验。”
简单来说,就是解释什么叫“机器的学习”,如果输入的经验越多表现的越好,这就叫“学习”嘛。
我们首先浏览所有的历史风暴数据,从这些大量的数据中学习出某些“模式”,这些“模式”包含了具体的哪些条件可以导致风暴。
比如我们也许可以通过学习历史数据发现:温度超过40度,湿度在80-100之间,就容易发生风暴。种种类似的模式。
这里注意了!“温度”、“湿度”等等指标,就是机器学习中的“特征”,而这些特征都是人工设置好的!就是说,我们在做这样一个预测系统的时候,首先由专家通过分析哪些“特征”是重要的,然后机器就通过分析历史数据中的这些特征的数据,来找到相应的模式,也就是怎样的特征的组合会导致怎样的结果。
还是首先看看深度学习的定义:
“Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.”(这个起码听起来像人话,但还是让人疑惑。。。)
我试着翻译一下:深度学习是一种特殊的机器学习,它可以获得高性能也十分灵活。它可以用概念组成的网状层级结构来表示这个世界,每一个概念更简单的概念相连,抽象的概念通过没那么抽象的概念计算。(有没有大佬帮忙指正一下?)
2.识别狗和猫:
如果是传统机器学习的方法,我们会首先定义一些特征,如有没有胡须,耳朵、鼻子、嘴巴的模样等等。总之,我们首先要确定相应的“面部特征”作为我们的机器学习的特征,以此来对我们的对象进行分类识别。
而现在,深度学习的方法则更进一步。深度学习自动地找出这个分类问题所需要的重要特征!而传统机器学习则需要我们人工地给出特征!
5.运行时间
深度学习需要花大量的时间来训练,因为有太多的参数需要去学习。顶级的深度学习算法ResNet需要花两周的时间训练。但是机器学习一般几秒钟最多几小时就可以训练好。
但是深度学习花费这么大力气训练处模型肯定不会白费力气的,优势就在于它模型一旦训练好,在预测任务上面就运行很快。这才能做到我们上面看到的视频中实时物体检测。
6.可理解性
最后一点,也是深度学习一个缺点。其实也说不上是缺点吧,那就是深度学习很多时候我们难以理解。一个深层的神经网络,每一层都代表一个特征,而层数多了,我们也许根本就不知道他们代表的啥特征,我们就没法把训练出来的模型用于对预测任务进行解释。例如,我们用深度学习方法来批改论文,也许我们训练出来的模型对论文评分都十分的准确,但是我们无法理解模型到底是啥规则,这样的话,那些拿了低分的同学找你质问“凭啥我的分这么低啊?!”,你也哑口无言····因为深度学习模型太复杂,内部的规则很难理解。
但是机器学习不一样,比如决策树算法,就可以明确地把规则给你列出来,每一个规则,每一个特征,你都可以理解。
但是这不是深度学习的错,只能说它太牛逼了,人类还不够聪明,理解不了深度学习的内部的特征。
以上就是关于机器学习和深度学习的联系和区别了。首先说说感受吧,感觉很多国外的文章,尤其是这样的类似科普文章写的真心棒!很好理解,而且解释的非常详细,这是很多国内博客所不能比的。所以建议大家有问题可以多搜搜国外的文章读一读,而且其实英文也用的很简单。
https://www.analyticsvidhya.com/blog/2017/04/comparison-between-deep-learning-machine-learning/