深入浅出:机器学习与人工智能代码的实现(1)
01 机器学习导论
机器学习是一帮计算机科学家想让计算机像人一样思考所研发出来的计算机理论。他们曾经说过,人和计算机其实没有差别,同样都是一大批互相连接的信息传递和存储元素所组成的系统,所有有了这样的想法,加上他们得天独厚的数学功底,机器学习的前身也就孕育而生了。机器学习的萌芽诞生于19世界60年代,20年前开始逐渐兴起,它是一门跨学科的交融,这里面包含了概率论、统计学等等学科。随着计算机硬件的提升,计算机运算速度的不断提高,它真正开始进入我们的日常生活中。而在不久的将来,我相信它也会成为我们生活中比不可少的组成元素。
02 机器学习应用
第一个提到的,最具代表性的公司应该就是GOOGLE,它所研发的GOOGLE NOW,GOOGLE PHOTOS 都是基于机器学习的产物。同样在百度,图片识别也是应用到机器学习中的视觉处理系统。于此同时,各种各样的企业都开始尝试把自己的产品往机器学习上靠拢。 比如金融公司的汇率预测,股票涨跌,房地产公司的房价预测等等。机器学习不仅仅只有一种方法,实现它的方法多种多样,这里所说的方法,在程序语言中,我们叫做算法。
03 什么是监督学习、非监督学习与半监督学习
目前所有的机器学习算法大概可以被分为 4 到 5 类,如果在学习过程中,我们不断的向计算机提供数据和这些数据所对应的值,比如给计算机看猫和狗的图片,告诉计算机哪些图片里的是猫,哪些是狗,然后让它学习去分辨猫和狗。通过这种指引的方式,让计算机学习我们是如何把这些图片数据对应上图片所代表的物体,也就是让计算机学习这些标签可以代表哪些图片,这种方式就叫做 “监督学习(SUPERVISED LEARNING)” 。预测房屋的价格,股票的涨停同样可以用监督学习来实现,大家所熟知的神经网络同样是一种监督学习的方式。
如果同样在这种学习过程中,我们只给计算机提供猫和狗的图片,但是并没有告诉它哪些是猫,哪些是狗,取而代之的是,我让它自己去判断和分类,让它自己总结出这两种类型的图片的不同之处,这就是一种 “非监督学习(UN-SUPERVISED LEARNING)”。在这一种学习过程中,我们可以不用提供数据所对应的标签信息,计算机通过观察各种数据之间的特性,会发现这些特征背后的规律,这些规律也就是非监督方法所学到的东西。
还有一种方法综合了监督学习和非监督学习的特征,这种叫作 “半监督学习(SEMI - SUPERVISED LEARNING)”。它主要考虑如何利用少量有标签的样本和大量的没有标签样本进行训练和分类。
04 什么是强化学习
在规划机器人的行为准则方面,一种机器学习方法叫作 “强化学习(REINFORCEMENT LEARNING)”。也就是把计算机丢到了一个对于它完全陌生的环境或者让它完成一项从未接触过的任务,它自己会去尝试各种手段,最后让自己成功适应这一个陌生环境,或者学会完成这件任务的方法途径,比如说我想训练机器人去投篮,我只需要给它一个球,告诉它你投进了我给你记一分,让它自己去尝试各种各样的投篮方法,在开始阶段,它的命中率可能会非常低,不过它会像人类一样自己总结和学习投篮失败或成功的经验,最后达到很高的命中率。GOOGLE 开发的 ALPHAGO 也就是应用了这种学习方式。
05 什么是遗传算法
还有一种和强化学习类似的学习方法,叫做遗传算法(GENETICALGORITHM),这一种方法是模拟我们熟知的进化理论,淘汰弱者,适者生存。通过这样的淘汰机制去选择最优的设计或模型,比如网上有一位开发者所开发的计算机学会玩超级玛丽,最开始的马里奥1代可能不久就牺牲了,不过计算机系统会基于1代的马里奥随机生成2代,然后在保存这些代里最厉害的马里奥,淘汰掉比较弱的马里奥代,然后再次基于强者“繁衍和变异”生出更强的马里奥,这也就是遗传算法的基本思想。
06 总结
以上就是当今比较重要的机器学习方法,我们再来总结一下,他们包括,有数据和标签的监督学习;没有数据,没有标签的非监督学习;有结合了监督学习和非监督学习的半监督学习;还有从经验中总结提升的强化学习,最后是和强化学习类似的,有着适者生存,不适合淘汰准则的遗传算法。