网络机器人吧社区

机器学习入门调研

小龙的机器学习之路 2018-12-05 11:05:38

刚刚接触机器学习,老板希望我对相关知识做一个调研,经过一段时间的了解,小龙大致得到下面的成果:

首先,三个概念需要了解一下:人工智能,机器学习,深度学习

从上面的图我们可以比较清楚的了解这三者的关系,人工智能是最早被提出来的,概念也是最广的,接着是机器学习,再到近些年非常火爆的深度学习。

人工智能:为机器赋予人的智能,分为强人工智能和弱人工智能,目前强人工智能只在电影里实现了,在现实中还需要在这一领域努力探索的大牛的不断奉献。

机器学习:使计算机拥有在没有明确编程的情况下学习的能力,是一种实现人工智能的手段。

深度学习:一种多层次,结构复杂的人工神经网络,是一种实现机器学习的技术。

当然,与这些概念相关的还有很多,但这几个是最开始困惑小龙的,还有一些最近提出的迁移学习,强化学习等也是非常重要的概念。

所以机器学习有什么用?又是怎么一回事?

我知道大家所知道,机器学习在我们生活中有很多应用,但是我还是要说,就是这么强硬,/调皮。

平时我们用的最多某度,某0,某歌,某狗等搜索引擎背后包含强大的机器学习系统,用于根据用户输入内容找到最合适的信息,否则网络上那么多复杂的信息,咋用。再或者某宝,某东等的购物平台都具有商品推荐系统,系统会根据这个用户平时的购物习惯推荐给用户最可能有需求的商品。另外大家听的最多的还有人脸识别,机器翻译,语音识别,无人驾驶等等,还有一些大家平时生活可能接触不到的蛋白质结构功能预测,基因序列分析等,可以说应用市场非常的广。

总体来说,这些应用可以分为四类:分类,聚类,回归计算和规则提取。

分类:对有明确标记的数据进行归类,比如邮件是否是垃圾邮件。

聚类:数据不含明确标记,根据数据之间的相似性进行分群,比如讲一大堆图片进行管理,相同人或者相同场景的放在一起。

回归计算:对数据进行拟合或者一种预测其他数据点的功能

规则提取:从统计学上分析事件间的关系,这些关系可能并不明显,但是大数据往往能提供一些隐藏的关系。

系统的来说,机器学习的内容可以分成五大流派:

(1)符号主义

使用符号、规则和逻辑来表征知识和进行逻辑推理,相关的应用:决策树


(2)贝叶斯派

利用概率统计规则及其依赖关系进行推理

(3)联结主义

使用概率矩阵和加权神经元来动态地做出识别和归纳,这是我们后面想要进一步介绍的神经网络系统的类别。

(4)进化主义

通过尝试各种变化,寻找特定目标最优的算法。包括最先被提出的遗传算法,到后来的粒子群算法(众多变种:蚂蚁算法,人工蜂群算法,青蛙算法,萤火虫算法,虾群算法,猫群算法,蟑螂算法等,可能所有动物都可以开发一套学习算法),和声搜索和模拟退火等


(5)行为类推主义

观察我们需要做出决定的新情景和我们已经熟悉的场景之间的相似度,代表的有支持向量机(SVM)和最佳邻近算法。

其实这几种流派并不是完全独立的,很多优秀的应用都是多种算法的组合。

说完几种机器学习的派别,小龙想要对最近比较火的神经网络多做一些介绍。

上图中大致梳理一下折神经网络相关的几个概念的进化之路,具体的概念介绍可以上网查查看,这里不多介绍,如果有需要,小龙可以另外写一篇介绍。除了上图出现的,另外还有各种各样的变体:高速公路网络,回声状态网络等,大牛一直在努力创造新的世界。

在神经网络,最出名的一个应用里面应该机器人挑战棋类大师的事件了,1997年,深蓝机器人以3.5比2.5的累计积分击败了国际象棋世界冠军卡斯帕罗夫,所使用的算法基于穷枚举和剪枝算法。2015年的AlphaGo FAN,2016年的AlphaGo Lee,2016年底的AlphaGo Master和2017年的AlphaGo Zero在中国围棋上表现越来越突出。所采用的就是深度学习网络和强化学习算法。

神经网络方面有非常多的开源软件或者框架工具,基于python的强大开发能力,发展迅速,小龙暂时学习了谷歌的Tensorflow,其他还有比如caffe,Keras,Theano,Scikit-learn等据说表现也很不俗,(但是小龙就是一个跟风的,/开玩笑)但是在各方面查询之后决定先那Tensorflow上手。国内其实也有比较成熟的开源项目,比如百度的PaddlePaddle,腾讯的Angel和阿里云的DTPAI。小龙试过paddlepaddle,资料很多,上手也比较快,比起另外两个好像更适合研究学习(希望不会被两个马大佬批评)



Copyright © 网络机器人吧社区@2017