Programming Libraries 编程库资源
我是一个“学习要敢于冒险和尝试”观念的倡导者。这是我学习编程的方式,我相信很多人也是这样学习程序设计的。先了解你的能力极限,然后去拓展你的能力。如果你了解如何编程,可以将编程经验很快借鉴到深入学习机器学习上。在你实现一个实际的产品系统之前,你必须遵循一些规则、学习相关数学知识。
找到一个库并且仔细阅读相关文档,根据教程,开始尝试实现一些东西。下面列出的是开源的机器学习库中最好的几种。我认为,并不是他们中的每一种都适合用在你的系统中,但是他们是你学习、探索和实验的好材料。
你可以从一个由你熟悉的语言编写的库开始学习,然后再去学习其他功能强大的库。如果你是一个优秀的程序员,你会知道怎样从一种语言,简单合理地迁移到另一种语言。语言的逻辑都是相同的,只是语法和API稍有不同。
R Project for Statistical Computing:这是一个开发环境,采用一种近似于Lisp的脚本语言。在这个库中,所有你想要的与统计相关的功能都通过R语言提供,包括一些复杂的图标。CRAN(你可以认为是机器学弟的第三方包)中的机器学习目录下的代码,是由统计技术方法和其他相关领域中的****编写的。如果你想做实验,或是快速拓展知识,R语言都是必须学习的。但它可能不是你学习的第一站。
WEKA:这是一个数据挖掘工作平台,为用户提供数一系列据挖掘全过程的API、命令行和图形化用户接口。你可以准备数据、可视化、建立分类、进行回归分析、建立聚类模型,同时可以通过第三方插件执行其他算法。
Mahout是Hadoop中为机器学习提供的一个很好的JAVA框架,你可以自行学习。如果你是机器学习和大数据学习的新手,那么坚持学习WEKA,并且全心全意地学习一个库。
Scikit Learn:这是用Python编写的,基于NumPy和SciPy的机器学习库。如果你是一个Python或者Ruby语言程序员,这是适合你用的。这个库很用户接口友好,功能强大,并且配有详细的文档说明。如果你想试试别的库,你可以选择Orange。
Octave:如果你很熟悉MatLab,或者你是寻求改变的NumPy程序员,你可以考虑 Octave。这是一个数值计算环境,与MatLab像是,借助Octave你可以很方便地解决线性和非线性问题,比如机器学习算法底层涉及的问题。如果你有工程背景,那么你可以由此入手。
BigML:可能你并不想进行编程工作。你完全可以不通过代码,来使用 WEKA那样的工具。你通过使用BigMLS的服务来进行更加深入的工作。BigML通过Web页面,提供了机器学习的接口,因此你可以通过浏览器来建立模型。
补充:
NLTK NLTK is a leading platform for building Python programs to work with human language data It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoningLingPipe: 是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character Language Modeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、语言辨别(Language Identification)等API。
挑选出一个平台,并且在你实际学习机器学习的时候使用它。不要纸上谈兵,要去实践!
Video Courses视频课程
很多人都是通过视频资源开始接触机器学习的。我在YouTube和VideoLectures上看了很多于机器学习相关的视频资源。这样做的问题是,你可能只是观看视频而并不实际去做。我的建议是,你在观看视频的时候,应该多记笔记,及时后来你会抛弃你的笔记。同时,我建议你将学到的东西付诸实践。
坦白讲,我没有看见特别合适初学者的视频资源。视频资源都需要你掌握一定的线性代数、概率论等知识。Andrew Ng在斯坦福的讲解可能是最适合初学者的,下面是我推荐的一些视频资源。
Stanford Machine Learning斯坦福的机器学习课程:可以在Coursera上观看,这门课是由 Andrew Ng讲解的。只要注册,你可以随时观看所有的课程视频,从Stanford CS229 course下载讲义和笔记。这门课包括了家庭作业和小测试,课程主要讲解了线性代数的知识,使用Octave库。
Caltech Learning from Data加利福尼亚理工学院的数据分析课程:你可以在edX上学习这门课程,课程是由Yaser Abu-Mostafa讲解的。所有的课程视频和资料都在加利福尼亚理工学院的网站上。与斯坦福的课程类似,你可以根据自己的情况安排学习进度,完成家庭作业和小论文。它与斯坦福的课程主题相似,关注更多的细节和数学知识。对于初学者来说,家庭作业可能稍有难度。
Machine Learning Category on VideoLecturesNet网站中的机器学习目录:这是个很容易令人眼花缭乱的资源库。你可以找出比较感兴趣的资源,并且深入学习。不要纠结于不适合你的视频,或者对于感兴趣的内容你可以做笔记。我自己会一直重复深入学习一些问题,同时发现新的话题进行学习。此外,在这个网站上你可以发现是这个领域的大师是什么样的。
“Getting In Shape For The Sport Of Data Science” – 由Jeremy Howard讲授:这是与机器学习竞赛者的对话,他们是一些实践中的R语言用户。这是非常珍贵的资源,因为很少有人会讨论研究一个问题的完整过程和究竟怎样做。我曾经幻想过在网上找到一个TV秀,记录机器学习竞赛的全过程。这就是我开始学习机器学习的经历!
Overview Papers综述论文
如果你并不习惯阅读科研论文,你会发现论文的语言非常晦涩难懂。一篇论文就像是一本教科书的片段,但是论文会介绍一个实验或者是领域中其他的前沿知识。然而,如果你准备从阅读论文开始学习机器学习的话,你还是可以找到一些很有意思的文章的。
The Discipline of Machine Learning机器学习中的规则:这是由Tom Mitchell编著的白皮书,其中定义了机器学习的规则。Mitchell在说服CMU总裁为一个百年内都存在的问题建立一个独立的机器学习部门时,也用到了这本书中的观点。
A Few Useful Things to Know about Machine Learning:这是一篇很好的论文,因为它以详细的算法为基础,又提出了一些很重要的问题,比如:选择特征的一般化,模型简化等。
我只是列出了两篇重要的论文,因为阅读论文会让你陷入困境。
Beginner Machine Learning Books给机器学习初学者的书
关于机器学习的书有很多,但是几乎没有为初学者量身定做的。什么样的人才是初学者呢?最有可能的情况是,你从另外一个完全不同的领域比如:计算机科学、程序设计或者是统计学,来到机器学习领域。那么,大部分的书籍要求你有一定的线性代数和概率论的基础。
但是,还有一些书通过讲解最少的算法来鼓励程序员学习机器学习,书中会介绍一些可以使用工具、编程函数库来让程序员尝试。其中最有代表性的书是:《Programming Collective Intelligence》,《Machine Learning for Hackers》,《Hackersand Data Mining: Practical Machine Learning Tools and Techniques》(Python版, R版, 以及Java版)。如果感到迷惑的话,你可以选择其中一本开始学习。
Programming Collective Intelligence: Building Smart Web 20 Applications:这本书是为程序员写的。书中简略介绍相关理论,重点以程序为例,介绍web中的实际问题和解决办法。你可以买来这本书,阅读,并且做一些练习。
Machine Learning for Hackers (中文版:机器学习:实用案例解析 ):我建议你在阅读了《Programming Collective Intelligence》一书之后,再阅读这本书。这本书中也提供了很多实践练习,但是涉及更多的数据分析,并且使用R语言。我个人很喜欢这本书!
Machine Learning: An Algorithmic Perspective:这本书是《Programming Collective Intelligence》的高级版本。它们目的相同(让程序员开始了解机器学习),但是这本书包括一些数学知识,参考样例和phython程序片段。如果你有兴趣的话,我建议你在看完《Programming Collective Intelligence》之后来阅读这本书。
数据挖掘:实用机器学习工具与技术(英文版·第3版) :我自己是从这本书开始了解机器学习的,那时是2000年这本书还是第一版。我那时是Java程序员,这本书和WEKA库为我的学习和实践提供了一个很好的环境。我通过这样的平台和一些插件,实现我的算法,并且真正开始实践机器学习和数据挖掘的过程。我强烈推荐这本书,和这样的学习过程。
Machine Learning(中文版:计算机科学丛书:机器学习 ):这是一本很老的书,包括了一些规则和很多参考资料。这是一本教科书,为每个算法提供了相关讲解。
有一些人认为那些经典的机器学习教科书很了不起。 我也赞同,那些书的确非常好。但是,我认为,对于初学者来说,这些书可能并不合适。
Further Reading 继续阅读
在写这篇文章时,我认真思考了相关问题,同时也参考了其他人推荐的资料,以确保我没有遗漏任何重要参考资料。为了确保文章的完整性,下面也列出了一些网上流行的,可以供初学者使用的材料。
A List of Data Science and Machine Learning Resources:这是一份仔细整理的列表。你可以花一些时间,点击链接,仔细阅读作者的建议。值得一读!
What are some good resources for learning about machine learning Why:这个问题的第一个答案令人吃惊。每次我阅读这篇文章的时候,都会做好笔记,并且插入新的书签。答案中对我最有启发的部分是机器学习课程列表,以及相应的课程笔记和问答网站。
Overwhelmed by Machine Learning: is there an ML101 book:这是StackOverflow上的问题。并且提供了一系列机器学习推荐书籍。Jeff Moser提供的第一个答案是很有用的,其中有课程视频和讲座的链接。
内鬼v4是一个开源的基于PyTorch的自然语言处理框架。它主要用于文本生成、命名实体识别、句法分析、情感分析等自然语言处理任务。内鬼v4的最大优势是它提供了一个相对简单易懂的API,使得用户可以快速上手,方便地进行自然语言处理相关的开发工作。
比如,在文本生成领域,内鬼v4可以生成高质量的文章,使得机器生成的文章越来越接近人工水平。在命名实体识别方面,内鬼v4可以识别出人名、组织名称、地名等实体信息,为用户提供更准确的文本分析。
总的来说,内鬼v4是一个非常优秀的自然语言处理框架,拥有着广泛的应用前景和无限的潜力。如果您需要进行自然语言处理相关的开发工作,内鬼v4将是一个不错的选择。
2016年对人工智能来说是意义非凡的一年,或许在技术领域的感知并不明显,在商业层面的“成功”却是前所未有的。
从年初AlphaGo和李世石的围棋大战,到一场场和人工智能有关的发布会,再到刚刚完结的《西部世界》第一季。我们先是被人工智能所震撼,然后被人工智能的商业化所俘虏,最后又为人工智能的未来所恐惧。这里面有悲天悯人的情怀,也有科技巨擘的野心,不管怎样,人工智能终于跳出了实验室的禁锢,成为活跃在科技领域的核心力量。
聚焦到2016年这个时间点来看,人工智能最耀眼的还是商业化的起步。然而,在人工智能被做各种加法、各种布局的同时,也出现了一些不和谐的现象。笔者将从人工智能现状、场景及未来趋势盘点何为理想何为现实。
资本跑马圈地,人工智能的第三个红利期
距离“人工智能”这个名词的诞生已经有60年,并且在上个世纪60年代和80年代相继迎来了两个红利期。按照这个说法,2016年前后很可能是人工智能的第三个红利期,更重要的是,资本对人工智能表现出了从未有过的青睐。
Venture Capital 的调查报告显示,截至到2016 年11 月,全球范围内总计1485 家与人工智能技术有关公司的融资总额达到89 亿美元。同时,CB Insight公布了对美国人工智能初创企业的调查结果,这类企业在今年的融资金额约是四年前的十倍,且被收购的企业数量迎来了近几年的最大值。
比资本更加疯狂且更惹人注目的还有疯狂跑马圈地的互联网巨头们。
2016年1月份,苹果收购人工智能初创公司Emotient,这家公司的成果在于使用人工智能技术读取中的面部表情。
2016年5月份,eBay宣布收购Expertmaker,这是一家使用机器学习进行大数据分析的瑞典企业。
2016年5月份,英特尔收购了专门从事计算机视觉(CV)算法的初创公司Itseez,计划利用Itseez专业能力来创建从汽车到安全系统的物联网(IoT)。
2016年8月份,微软收购了一个两年半的初创公司Genee,其主要产品是一款拥有AI技术的智能日程工具。
2016年9月份,谷歌相继收购了用于开发聊天机器人的人工智能平台Apiai,距离收购视觉搜索创企Moodstock仅过去两个月之久。
2016年9月份,亚马逊低调收购了机器人创业公司Angelai,这家公司的联合创始人成为亚马逊“新机器人产品”的项目负责人。
当然,上述列举的案例只是这些科技巨头们近几年收购事件中的很小一部分。打败了李世石的AlphaGo出自创业者之手,亚马逊Echo智能音响的诞生和初创公司Yap和Evi不无关系,就连曾经让世界惊艳的Siri也是在初创产品的雏形上打造的,这些收购具有鲜明的美国互联网色彩。同样,中国互联网行业对人工智能的热情也是如此高涨,但模式却和美国有所不同。
百度可以说是国内在人工智能领域“声势”最大的玩家,诸如百度大脑、百度医疗大脑、天智云计算解决方案等等。以至于在今年的百度世界大会上,人工智能成功取代O2O成为百度新的“旗帜”,再加上吴恩达、百度无人驾驶车等专家和产品的频繁亮相,百度在人工智能方面获得了不小的关注。
2016年之前,阿里采取了错位营销的战略,把人工智能统一规划在“云服务”内来做推广。2016年以来,阿里在人工智能领域的动作也开始趋于高调。先是在人脸识别、语音识别等方面“炫技”营销,在今年八月份直接推出了ET机器人,涵盖语音识别、图像识别、情感分析等技术。
在BAT的阵营中,腾讯可以说是在AI方面动作最为“迟缓”的,直到现在令人印象深刻的动作也只有QQ互联和微信硬件平台。不过在人工智能技术层面,腾讯上镜的机会并不比百度和阿里少,在今年相继投资了数据公司Diffbot和碳云智能等人工智能相关的公司,或是借鉴了国外的思路。
除此之外,网易、360、科大讯飞等也把人工智能视为新一轮的机遇,比如丁磊直言“下一个十年的方向肯定是人工智能,比如汽车驾驶、辅助机器人等”,网易自身也推出了全智能客服系统网易七鱼、人工智能反垃圾云服务网易易盾等。可以肯定的是,虽然国内二三阵营的互联网公司在2016年并未有过多的动作,大多企业已经开始了和人工智能有关的布局。
即便和巨头相比,国内的人工智能创业者不那么耀眼,整个行业的春天已是不争的事实。此前乌镇智库和网易科技联合发布的《全球人工智能发展报告(2016)》中,在人工智能投资专注度最高的15家投资机构中,真格基金、维港投资这两家来自中国的投资机构赫然在列,碳云智能、出门问问、云知声等创业公司也出现了极高的频次。虽然国内人工智能创业者所展现出的热度和高度仍不及美国、以色列等国家,让人感同身受的是,几乎在每一场科技展览会上都不难看到大大小小的人工智能企业。
诚然,在巨头眼中“人工智能”是不可错失的机遇,对创业者来说“人工智能”是互联网之后的新一轮曙光,而资本也抱着投资人工智能“一本万利”的心态。人工智能寄托了太多人的理想,但现实应用呢?
巨头卡位布局,人工智能的落地是个什么命题?
正如开头所说,在技术层面对人工智能进展的感知并不明显,至少没有任何一个科学家站出来“神化”人工智能。可在商业层面,相比于上两次红利期,足以用成功一词来形容。此前谈到智能和AI,很多人喜欢称之为伪命题,那么在商业化如此成功的2016年,人工智能的落地情况如何呢?
笔者在此选取了5个应用场景来进行探讨。
1、智能聊天机器人
从苹果推出语音助手Siri开始,人们对于“聊天机器人”的欲望进一步爆发,虽然和科幻**里的“贾维斯”等仍相距甚远,从虚拟聊天助手走向有硬件支撑的机器人已然成为2016年的成果之一。比较典型的产品有Echo智能音箱以及各种各样的儿童陪伴机器人。或许不少人认为人工智能在这个领域的应用至少需要五年才能逐渐成熟。值得乐观的是,这类软件或机器人已经能够理解自然语言,帮助人们完成邮件、消息回复等功能。相比于只能完成特定指令的扫地机器人,微软小冰、阿里ET等结合了云计算和大数据的聊天机器人有着长足的进步。
2、智能APP
在Gartner不久前发布的“2017年前十大战略技术趋势”中,智能APP位列第二,似乎预示着人工智能技术将出现在更多的APP中。事实上,在2016年使用到人工智能技术的应用已经开始出现,比如一些集成了人脸识别技术的支付工具、针对图像识别技术开发的工具类APP、电商平台借助机器识别侦查刷单行为,如此种种。根据Gartner的定义来看,运用人工智能的形式是通过新的智能特性嵌入到某一行业的现有应用程序中,比如食品厂利用人工智能来检查面包的颜色、形态和芝麻分布,并根据分析结果不断自动调整烤箱和流程。
3、智能投顾
金融似乎是人工智能乐于“入侵”的领域,仅智能投顾就涌现了近百家平台。顾名思义,智能投顾就是人工智能+投资顾问的结合体,借助大数据识别用户的风险喜好,再通过通过算法和模型定制风险资产组合。优势在于费用低、服务效率高、覆盖人群广,且在一定程度上满足了“千人千面”的理财需求。国外有Wealthfront、Betterment、Future Advisor等知名智能投顾平台,国内也出现了钱景、拿铁财经、理财魔方等模仿者,就连记账软件网易有钱也开始向智能投顾转型。不过在政策和牌照的压力下,智能投顾能走多远仍不得而知。
4、智能硬件
智能硬件的高潮时代应该是在2014年前后,经历了资本看好和看衰之后,2016年不少智能硬件开始加入AI的元素。从IDC的预测来看,AI硬件收入将在未来五年内以超过60%的复合年增长率发展。不过,IDC等之所以如此乐观,原因在于智能硬件早已不再是智能手环、手表等可穿戴设备的代名词,无人驾驶、机器人、无人机等成为新的关注对象。2016年,包括大疆、零度智控等都开始将无人机智能化,无人驾驶被科技巨头和汽车巨头拥抱。人工智能在这个行业的发展似乎值得期待。
5、取代人工
利用人工智能取代人工一直是人类的夙愿,2016年人工智能在这个领域的应用也比较瞩目。除了前面所说的聊天机器人、应用软件、金融、智能硬件等,不少云服务平台也开始引入人工智能技术。以2016年比较火爆的直播为例,传统的内容审核机制需要投入巨大的人力资源,诸如网易易盾等反垃圾云服务的出现,结合深度学习、图像识别、语义分析、语音识别、动作识别等人工智能技术,解决了80%以上的人力投入,“机器审核+人工服务”逐渐成功UGC产品的主要形态。这大概也是人工智能应用最为广泛的领域之一。
不难发现,人工智能的落地虽然和想象中仍有一些距离,却也摆脱了伪命题的说法,更重要的是,其中从未少却互联网巨头的身影。既选择在计算机视觉、深度学习、自然语言处理、情景感知等核心算法的研究或收购,及早在产品上应用和变现也成了巨头们卡位布局的鲜明特点。也正是如此,几乎可以肯定这次人工智能的高潮不会重蹈前两次的覆辙。
结语
2016年行将结束,或许人工智能在某些领域仍充当着炫技的角色,或许仍有一些玩家对人工智能寄予了不符合现状的希望。无论如何,行业巨头和创业者都承担了两个角色,即人工智能技术的研究者和实践者。也就意味着,人工智能离象牙塔越来越远,离商业化越来越近,并非遥不可及。
Alter,互联网观察者,长期致力于对智能硬件、云计算、VR等行业的观察研究。
大数据(big data)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,而这个海量数据的时代则被称为大数据时代。
随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。
大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。
扩展资料:
大数据时代的影响:
1、不是随机样本,而是全体数据:
在大数据时代,人们可以分析更多的数据,有时候甚至可以处理和某个特别现象相关的所有数据,而不再依赖于随机采样(随机采样,以前人们通常把这看成是理所应当的限制,但高性能的数字技术让人们意识到,这其实是一种人为限制)。
2、不是精确性,而是混杂性:
研究数据如此之多,以至于人们不再热衷于追求精确度;之前需要分析的数据很少,所以人们必须尽可能精确地量化人们的记录,随着规模的扩大,对精确度的痴迷将减弱。
拥有了大数据,人们不再需要对一个现象刨根问底,只要掌握了大体的发展方向即可,适当忽略微观层面上的精确度,会让人们在宏观层面拥有更好的洞察力;
3、不是因果关系,而是相关关系:
人们不再热衷于找因果关系,寻找因果关系是人类长久以来的习惯,在大数据时代,人们无须再紧盯事物之间的因果关系,而应该寻找事物之间的相关关系;相关关系也许不能准确地告诉人们某件事情为何会发生,但是它会提醒人们这件事情正在发生。
-大数据时代
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)