前面虽然介绍了概率和贝叶斯网络,但是还是没有正式介绍AI中最重要的算法——机器学习。如果说概率论是机器学习的基石,那么机器学习算法和理论就是支撑整个AI系统的支柱。现在比较火的深度学习神经网路等等其实也就是机器学习的一个具体方法和分支。
我们知道程序员如果你要命令计算机做一件事情,他需要知道解决这个事情的每一个步骤,然后用判断,循环等指令,一步一步地告诉计算机如何去完成。比如自动售货机,计算机从你输入的号码查询到商品的价格和货架的位置,等待你付款成功之后就将商品“吐”出来。对于这种重复性的劳动这种程序是非常高效的。但是某些问题诸如自动驾驶问题,是不可能通过这种方式解决的。所以就有了现在最流行的机器学习。
机器学习就是和人类一样,通过不停地输入数据(信息)然后自动学习解决问题的办法。比如图片识别,小孩子是不可能出生的时候就知道什么是人什么是猫什么是狗,而是家长和老师们不停地在图片,视频或者现实生活当中给他们“指出”这是猫这是狗,小孩看(数据输入)多了自然就知道猫和狗的区别,下次在见到相同的动物也就学会了识别猫狗了。机器学习一样,人类标记(指出)大量带有猫狗的图片“喂”给机器,通过机器学习算法,机器自动就掌握了学习识别猫狗的算法,于是我们就可以用这个经过训练的机器去帮我们去识别猫狗了。
机器学习有很多分类,比如上面识别猫狗的例子就是一种用于分类(Classification)的监督学习算法(Supervised Learning)。那理解机器学习,首先就需要了解机器学习算法是怎么分类的,机器学习算法可以从以下几个角度来进行分类:
1、 学习什么(What)
就是这个机器学习的算法是用来学习什么的,是学习参数(Parameters)的吗?比如下雨的概率。是学习结构(Structure)吗? 比如贝叶斯网络的结构。还是学习隐藏的概念(Hidden concepts)比如广告商发现喜爱广告的不同群体。
2、从那里学习(What From)
是监督学习(Supervised Learning),无监督学习(Unsupervised Learning)还是强化学习(Reinforcement Learning)。前两者的区别是是否有人类标记。而是否是强化学习是指学习者是否是在与环境的互动中不停学习的,比如对话机器人。
3、学来干什么(What for)
是用来预测(Prediction), 比如预测天气;是用来诊断(Diagnostics),比如诊断病情;还是用来总结(Summarize)比如写阅读总结;等等用途
4、怎么学习(How)
是被动(Passive)的吗? 比如学习者是否这是观察者而不会改变环境和数据,还是主动的(Active)。是线上(Online)的还是线下(offline)的这取决于数据是在学习之前产生的还是在学习当中不停地产生。
5、学习的输出(Output)
是分类(Classification)呢(比如识别猫狗)还是回归(regression)比如预测房价。
6 、学习细节(Detail)
学习建立模型是越普遍(generative)越好,还是越特定(Discriminative)越好呢。
上面就从各个角度对不同的机器学习进行分类,虽然看起来比较浮于表面,但是这对真正理解机器学习非常重要,希望在今后的笔记中与大家一起学习,不断进步。
作者:Hongtao洪滔
链接:https://www.jianshu.com/p/005b40f73c0b