机器学习简介
人工智能(Artificial Intelligence简称AI)早在1950s就被提出,AI的目标是希望计算机能够像人一样聪明。但在很长一段时间内,人们并不知道该如何实现AI;在1980s,兴起的机器学习(Machine Learning)方法是实现AI的一个手段。而近期较为热门的深度学习则是机器学习的一个分支。
图1-1 AI、ML、DL关系
生物的本能
生物的行为取决于两件事情:先天的本能和后天的学习;在自然界中,有很多生物先天的本能例子,如河狸筑坝:河狸只要听到流水声,就会不停的筑水坝,直到听不见水声为止。而机器是由人创造,因此机器的本能是由人来设定的。
早期人们是通过hand-crafted rules来设定机器本能,即为机器编码了非常多的if条件,如果使用者触发了if条件,就执行相应动作。显然,hand-crafted rules有比较致命的缺点:1)很难考虑到所有可能的条件。如果不为其添加额外的if条件,自然也不会执行其他的动作,因此也就无法超越他的创造者2)如果要创造足够多的if条件,就需要大量的人力。
图1-2 hand-crafted rules式的“AI”
机器学习
机器学习是让机器从很多的数据集中去学习到数据中蕴含的“规律”。而规律的表现形式就是函数。函数自然会有参数,而选择哪一组参数才能使函数达到最好的效果的过程则称为训练。将训练好的参数以及对应函数进行存储就成为模型。
图1-3 ML训练和测试流程图
机器学习体系结构
有监督学习(Supervised Learning)
有监督学习是在给定大量有标签的数据集下,使机器进行学习的方法。主要学习数据跟标签之间存在的“规律”。
回归(Regression)
回归就是希望找到一个模型,这个模型的输出是一个连续性的数值。回归在实际中有着很多应用,如预测未来某个时刻的PM2.5,预测某个地区的房价等。
分类(Classification)
分类就是希望能够找到一个模型,对于未知数据集,模型能够输出该数据集的类别。不同于回归的输出值是连续性,分类的输出是离散型。分类在生活有较多的应用,例如:垃圾邮件的分类、文本分类、图像识别等;分类在机器学习中也有着较多的学习算法:
- SVM
- 决策树
- 聚类
- 贝叶斯分类
- 神经网络
结构化学习(Structured Learning)
在回归、分类任务中,模型的输出通常是一个数字或者是一个类别,两者都可以用一个数字来进行表示。但在结构化学习中,我们希望的输出是一个结构化的数据。如,在语音辨识中,我们输入的是一段音频,输出的则是一段文字;在聊天系统中,输入一段文字,输出对应的文字回复等。
小结
有监督学习中,回归更像是做填空题;分类是在做选择题;结构化学习则是在做应用题;
半监督学习(Semi-Supervised Learning)
有监督学习需要很多标注的数据集,但是有时候我们是很难去收集足够多有标注的数据集,在网络上更多的是无标签的数据集。我们希望可以利用这些无标签的数据来帮助我们训练模型
图1-4 半监督举例图
迁移学习(Transfer Learning)
迁移学习就是将已训练好的模型参数迁移到新的模型中来帮助新的模型训练。由于很多数据或者任务是存在共性的,因此将已经训练好的模型参数分享到新的模型中可以使模型不需要重头开始训练。
无监督学习(Unsupervised Learning )
无监督学习是希望机器能够在一大堆没有标注的数据集中,去自学到数据中蕴含的“规律”。例如,你输入很多文章,让机器自己去学习。那么学完之后,机器应该是能够懂得每一个词的含义,以及对应文章的主题。
强化学习(Reinforce Learning)
强化学习是机器在作出某种行为后,对这种行为进行评估,继而将这种反馈返回到机器中,让机器通过反馈来进行自我调整的一种学习方法。如,一只小狗在没训练好之前常常会将家里搞的很乱,这时通过减少狗粮来表示这种行为是不好的;当小狗不在弄乱家里后,就可以给双倍的狗粮进行奖励。强化学习在实际生活中也有很多应用,在Alphago中就有运用到强化学习的知识。
图1-5 强化学习实例图
强化学习VS有监督学习:1)有监督学习中的数据集是带有标签的,而强化学习中是不带标签的2)有监督学习中数据集之间是独立的,而强化学习中的数据更多是有联系的,上一个行为会反馈到下一个行为中
强化学习VS无监督学习:1)学习方式不同,强化学习是通过一个个的行为并对一个个行为进行反馈学习;无监督学习而是需要将大量数据当做一个整体进行学习。如进行用户新闻推荐时,无监督学习会学习用户先前阅读过的文章,在进行推荐;而强化学习则是推荐新闻,根据用户的反馈,来构建用户所喜欢的用户图像。
参考资料