博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是机器学习
阅读量:5895 次
发布时间:2019-06-19

本文共 1838 字,大约阅读时间需要 6 分钟。

什么是机器学习

机器学习是一帮计算机科学家想让计算机像人一样思考所研发出的计算机理论,他们曾经说过,人和计算机本身没有区别,同样都是一大批互相连接的信息传递和存储元素所组成的系统,所以有了这样的想法,加上他们得天独厚的数学功底,机器学习的前身也就孕育而生了。

机器学习的萌芽诞生于19世纪60年代,20年前开始逐步兴起,它是一门跨学科的交融。这里边包含了概率论,统计学等等学科,随着计算机硬件的提升,计算机运算性能的不断提高,他真正开始进入到我们的日常生活中,而在不久的将来,我相信他也会成为我们生活中必不可少的组成元素。

让我们说说日常当中的机器学习的应用吧

第一个提到的,最具代表性的公司,应该就是Google,他们所研发的Google NOW,Google Photos都是基于机器学习的产物。同样在百度,图片识别也是应用到机器学习中的视觉处理系统。与此同时,各种各样的企业都开始尝试把自己的产品往机器学习上靠拢 。比如金融公司的汇率预测,股票涨跌,房地产公司的房价预测等等。

机器学习不仅只有一种方法,实现他的方法有多种多样。这里所说的方法,在程序语言中,我们叫做算法。目前所有的机器学习的算法,大概分为四类到五类。如果在学习过程中,我们不断向计算机提供数据和这些数据相对应的值。下面我举一个例子

现在给计算机看一个猫和狗的图片,告诉计算机那些图片里的是猫,那些是狗,然后再让他学习分辨去猫和狗,通过这样的指引的方式,让计算机学习我们是如何把这些图片数据所对应的图片所代表的物体,也就是让计算机学习那些标签可以代表那些图片,这种方式就叫做“监督学习(Supervised learning)”,预测房屋的价格,股票的涨停同样可以用监督学习来实现,大家所熟知的神经网络同样是一种监督学习的方式,如果同样在这样的学习过程中,我们只给计算机提供猫和狗的图片,但是并没有告诉他那些是猫,那些是狗。取而代之的是,我让他自己去判断和分类,让他自己总结出这两种类型的图片的不同之处,这就是一种“非监督学习(Un-superrvised Learning)”,在这一种学习过程中,我们可以不用提供数据所对应的标签信息,计算机通过观察各种数据之间的特性,会发现这些背后的规律,这些规律也就是非监督方法所学到的东西。

还有一种方法综合了监督学习和非监督学习的特征,这种就叫做“半监督学习”(semi-supervised learning),它主要考虑如何利用少量的,带有标签的样本和大量的没有标签的样本进行分拣和分类。

在规划机器人的行为准则方面,一种机器学习的方法叫做“强化学习”(reinforcement learning),也就是把计算机丢到一个对于他完全陌生的环境或者让他完成一项从未接触过的任务,他自己回去尝试各种的手段,最后让自己去成功适应这样一个陌生的环境,或者学会完成这件任务的方法途径。比如说我像训练机器人去投篮,我要只需要给他一个球,并告诉他你投进了我给你记一分,让他自己去尝试各种各样的投篮的方法,在开始阶段,他的命中率可能会非常低,不过他会想人类一样,自己总结和学习投篮失败活或者成功的经验,最后可以达到一个很高的命中率。Google开发的AlphaGo也就是应用了其中的一种学习方式。还有一种就是和强化学习类似的一种学习方法,叫做遗传算法(Genetio algorithm)。这一种方法是模拟我们熟知的进化理论,淘汰弱者,适者生存。通过这种淘汰的机制去选择最优的设计或者模型。比如让计算机学会玩超级玛丽,最开始的马里奥一代可能不久就会牺牲了,不过计算机会基于一代的马里奥随机生成第二代,然后再保存这些代里边最厉害的马里奥,淘汰掉比较弱的马里奥,然后再次几区强者的繁衍和变异,生成更强的马里奥,这也就是遗传算法的基本思想。

以上就是比较重要的机器学习方法,我们再来总结一下:

他们包括有数据和标签的监督学习,只有数据没有标签的非监督学习,有结合了监督学习和非监督学习的半监督学习。还有从经验中总结提升的强化学习。最后是和强化学习类似的,有着适者生存的,不适者淘汰准则的遗传算法学习。如果你不仅仅只满足与弄懂这些的区别,还想学着如何在你的生活中如何使用这些机器学习的方法。推荐去麻省理工的网站上寻找更多的资料,也可以继续关注我,我也会定期的推荐如何用当下流行的编程语言Java和他的机器学习模块来实现通俗易懂的机器学习的教程。

下一期让我们来聊聊什么是神经网络

转载地址:http://psisx.baihongyu.com/

你可能感兴趣的文章
java的深拷贝与浅拷贝
查看>>
程序员如何提高工作效率
查看>>
数据库水平切分(其他应用)
查看>>
easyui 将已经是 textbox 的输入框改成时间框
查看>>
python基础学习整理——字典
查看>>
promise
查看>>
如何使用ABSL代码调用Web service
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
SAP CRM和C4C的客户主数据修改历史记录查询
查看>>
如何在CRM WebClient UI里使用HANA Live Report
查看>>
树莓派终端安装FTP服务器
查看>>
如何向妻子解释设计模式
查看>>
centos7关闭防火墙
查看>>
操作系统实验报告
查看>>
上传图片
查看>>
Codevs2018 反病毒软件
查看>>
nginx启动脚本
查看>>
三级菜单
查看>>
异常:java.io.IOException: Too many open files:
查看>>
POJ 1611 The Suspects (并查集求数量)
查看>>