第一章 集体智慧导言(Introduction to Collective Intelligence)
不得不说,《集体智慧编程》是一本很好地用于SNS入门的书籍,当然对于认识机器学习,了解数据挖掘更是有很大帮助。一直以来都在看英文版(现在也出了中文版的,电子版的都可以从网上下到),感觉理解起来难度不大,语言浅显易懂,有这方面兴趣的可以看看。书中所采用的程序设计语言是Python,想必在数据分析与数据处理领域有研究的同志们对这么语言也不会陌生了吧,这也是我最初选择读这本书的原因。
Why Python? ——Concise(简洁)、Easy to read(易读)、Easily extensible(易扩展)、Interactive(可交互)、Multiparadigm(多范式)、Multiplatform and free(跨平台和免费)
Multiparadigm(多范式):Python supports object-oriented, procedural, and functional styles of programming.Machine-learning algorithms vary greatly, and the clearest way to implement one may use a different paradigm than another. Sometimes it’s useful to pass around functions as parameters and other times to capture state in an object. Python supports both approaches.(Python支持面向对象、过程和函数式编程风格。机器学习算法千差万别,最为清晰的做法就是针对不同算法采用不同的范式。有时将函数作为参数传入很有用处,而有时我们则需要在对象中捕获状态。对于这两种方式,Python均予以支持。)
导言部分主要是概念介绍:
(1)什么是集体智慧(What Is Collective Intelligence)
对于技术人员来说,集体智慧通常是指,为了创造新的想法,而将一群人的行为、偏好或思想组合在一起。
两个典型的例子:
在金融市场中,价格并不是有某个个体或某种协作力量所决定的,它是由许多独立个体的交易行为说共同决定的,所有人的行为都建立在这样一种信念基础之上:他们相信当前的交易会为他们带来最大的利益。尽管乍一看这似乎违背直觉,但在未来的市场上,大量的参与者都是根据他们对未来价格的信心而进行默契交易的,这样的市场在价格预测的效果方面,往往被认为要比独立进行预测的专家表象得更好。这是因为,市场将知识、经验和成百上千人的意志组织在一起,形成了一种不依赖个人观点的预测。
自从拥有了Internet之后,从数千甚至数百万网民中搜集信息的能力为人们探索和预测提供了新的可能。人们利用Internet购买所需、搜集信息、寻求娱乐以及架构自己的Web站点。所有的这些行为都可以得到监控,并且不必要求用户放下手头的工作来接受询问,而可以借由监控得到的信息提取有价值的结论。有大量的方法可以对这些信息进行加工和解释。
比如众所周知的Wikipedia(众人维护的大百科全书)和Google的Pagerank(根据其他网页对当前网页的引用数多少来评价网页等级的搜索算法)
(2)什么是机器学习(What Is Machine Learning)
Machine learning is a subfield of artificial intelligence (AI) concerned with algorithms that allow computers to learn. What this means, in most cases, is that an algorithm is given a set of data and infers information about the properties of the data—and that information allows it to make predictions about other data that it might see in the future. (机器学习是人工智能领域中与算法相关的一个子域,它允许计算机进行不断的学习。大多数情况下,这相当于将一组数据传递给算法,并由算法推断出与这些数据属性相关的信息——借助这些信息算法可以预测出未来可能会出现的其他数据。)典型的例子就是根据关键词对电子邮件的过滤。
(3)机器学习的局限性(Limits of Machine Learning)
The algorithms vary in their ability to generalize over large sets of patterns, and a pattern that is unlike any seen by the algorithm before is quite likely to be misinterpreted.(机器学习算法受限于其在大量模式之上的归纳能力,而一个模式如果不同于算法先前所曾见到的任何其他模式,那么它很可有可能会被误解。)典型的例子,垃圾邮件过滤在大多数情况下都能够正常运作,然而当一个好友给我们发了带有关键字的邮件时,我们渴望的是过滤系统能够识别出这是一封值得阅读并且不应该被过滤的邮件。
(4)真实生活中的例子(Real-Life Examples)
Google —— It not only uses web links to rank pages, but it constantly gathers information on when advertisements are clicked by different users, which allows Google to target the advertising more effectively。(Google不仅可以利用Web链接对网页进行排名,而且其广告被不同的用户点击时,它会持续搜集信息,这使得Google可以更加有效地进行广告定位。)
Amazon —— Using information about the things people buy or rent to determine which people or items are similar to one another, and then make recommendations based on purchase history.(利用人们的购买或租赁信息来确定人或物品的相似程度,然后再根据买卖历史来进行商品推荐。)
Pandora and Last.fm —— Using your ratings of different bands and songs to create custom radio stations with music they think you will
enjoy.(l利用我们对不同乐队和歌曲的评价来建立定制的广播电台。)
其他方面:市场预测,好友推荐,舆情监督等等。
(5)学习型算法的其他用途(Other Uses for Learning Algorithms)
Biotechnology(生物工艺学)、Financial fraud detection(金融诈骗侦测)、Machine vision(机器视觉)、Product marketing(产品营销)、Supply chain optimization(供应链优化)、Stock market analysis(股票市场分析)等等