机器学习无处不在
统计学领域通常声誉不佳。它被认为是困难、枯燥甚至有点无用的。我的许多朋友在研究生院不得不学习统计学课程,以便他们能够分析和报告他们的研究。对他们中的许多人来说,这些课程是一种书呆子气、枯燥的折磨。
也许只有我这样,但在我上完这些课程后,我觉得自己像透过新的眼睛看世界。突然间,我可以更好地理解我周围的世界。关于政府以及科学和企业报告的报纸文章变得更有意义。我也更容易识别出这些报告中的缺陷,并从理解的角度批评它们。
统计学的力量很大一部分在于创建“模型”,或对现实的数学描述。模型是一种漫画,因为它不代表所有的现实,而只代表你认为会影响你试图理解的事物的那些因素。模型让你说,给定输入 A、B、C 和 D,你或多或少可以知道输出会是什么。
有时,统计模型的目的是预测一个值——例如,给定一定的尺寸和社区,你可以预测房屋的价格。或者,给定某人的年龄、体重和居住地,你可以预测他或她患上某种疾病的可能性。
通常,目标是预测一个类别——例如,在即将到来的选举中,人们可能投票给谁?考虑到他们居住在哪里、他们接受的教育水平、他们的种族背景以及其他一些因素,你通常可以在他们自己知道之前预测人们会投票给谁。
在过去的几年里,围绕“大数据”、“数据科学”和“机器学习”这些术语出现了大量的热议。随着这些流行语继续被接受,许多统计学家都在想,有什么大不了的。老实说,考虑到“机器学习”或多或少是统计学家几十年来一直在创建的预测模型的计算机化版本,他们的抱怨是有道理的。
现在,我为什么要告诉你这些?因为我确实相信机器学习正在改变我们生活的许多重要部分。正如我学习统计学后改变了我的视角,让我拥有了更好地理解世界的工具一样,许多企业也正在改变他们的视角,因为他们使用机器学习来更好地了解自己。从在线购物,到你在社交网络 feed 中看到的项目,到你手机中的语音识别算法,再到你的信用卡公司使用的欺诈检测,一切都受到机器学习的影响、提升和(希望)改进。
这意味着无论你从事哪种软件开发,你都应该明智地尽可能多地获得机器学习的经验。它的好处可能不会立即对你显而易见,甚至可能不适用于你目前的工作。但是机器学习正在变得无处不在,并且有很多方法可以使用它。
因此,通过这篇文章,我将开始一个关于机器学习以及你的组织如何利用它的一系列文章。我将研究许多问题,其中许多问题在 Web 应用程序中很常见,这些问题可以从使用机器学习中受益。在此过程中,我希望你能够获得许多关于机器学习可以为你的应用程序带来的分析和用途的想法。
如果你完全不熟悉机器学习的世界,我鼓励你阅读我写的关于这个主题的免费 Geek 指南,由Linux Journal出版。
机器学习的应用如果你曾经投资过,你无疑会记得你投资的基金,或者与你合作的经纪人,警告你“过去的业绩并不保证未来的结果”,或者类似的话。这是因为我们作为生物,习惯于假设如果世界在过去以某种方式运作,那么它很可能在未来也以某种方式运作。对于我们大多数人来说,在大多数时候,这是一种很好的生活方式。
机器学习基于这个原则,即过去是未来的良好指标。我们创建一个机器学习模型,告诉模型给定一组输入,我们得到一个特定的输出。这样一条信息不太可能给我们带来任何有用的东西。但是,在数百个样本之后,模型可以开始进行一些预测。在数千甚至数百万个样本之后,你的预测可能会非常准确。
客户模式如果你经营一家在线商店,机器学习可以帮助你更好地了解你的客户。例如,如果你知道购买了产品 X 和 Y 的客户也购买了产品 Z,你可以向尚未购买 Z 的这些人发送电子邮件促销,因为你知道其中一部分人会积极响应。
更糟糕的是,当这些人访问你的网站时,你也可以提高产品 Z 的价格,因为你知道相当一部分人无论如何都可能会购买它。
(你应该将价格提高多少?假设有足够的流量,你可以对不同的人尝试不同的数字,直到你找出最佳设置。)
如果你有关于客户的其他信息,例如他们的年龄、性别或居住地,机器学习算法可以帮助你确定更多关于他们的信息——从他们可能购买什么,到他们访问你的商店的频率。你还可以跟踪他们考虑购买但后来从购物车中移除的东西。
以 Target 的著名故事为例,它向美国的一名少女发送了一个“你怀孕了”的促销活动。事实证明,Target 的机器学习系统已正确识别出,根据她的购买习惯,她很可能怀孕了。唯一的问题是,这个少女确实怀孕了,但没有告诉她的父母。
我最近与一家新型在线市场的 CTO 进行了交谈,该市场专门针对特定类型的咨询,客户和顾问将在其中进行沟通,目标是解决问题。每次会话结束后,参与者都会表明他们有多满意。CTO 想知道机器学习可以在哪里提供帮助;我告诉他,随着时间的推移,他们可以积累大量关于哪种类型的客户与哪种类型的顾问相处得最好的数据——从而使他们能够提出越来越好的建议,并成为更好的媒人。
说到“媒人”,每个现代在线约会网站都使用机器学习。他们非常了解他们的用户,并且他们使用这些数据来尝试预测他们数据库中的哪些人最有可能取得成功。你可以说,由于他们的机器学习系统,这些约会网站比人们自己能明确说出的更了解人们的约会偏好。
推荐引擎机器学习的一个经典例子是推荐引擎。自从亚马逊首次开业以来,我一直在上面购物,所以我已经向该公司提供了大量关于我自己以及我喜欢购买的东西的数据。当它建议我可能对某个产品感兴趣时,我很可能已经拥有它,或者我考虑过它,或者我确实会对它感兴趣。
如果你经营一个电子商务网站,你可以使用机器学习来实现类似的目的。你可以创建一个模型,识别哪些产品与哪些其他产品相似。然后,你可以浏览某人的购买历史记录,找到与他们已经购买的产品相似但尚未购买的产品。
如今,像亚马逊这样的网站通常不仅可以访问你的购买历史记录,还可以访问你对各种产品的评分。通过这种方式,网站不仅可以推荐你可能购买的产品,还可以推荐你最有可能喜欢的产品。
处理推荐的另一种方法是关注人,而不是产品。网站可以根据我朋友的购买习惯告诉我我可能购买什么,而不是根据我过去的购买行为告诉我。如果你可以访问朋友的推荐,朋友的购买和朋友的高评分的组合可能会使产品特别有吸引力——因此,成为特别促销的对象。
金融当然,许多机器学习的最大和最重度的用户是金融公司。你可以肯定,信用卡公司和其他支付公司(例如 PayPal)花费大量时间和精力在机器学习算法上,以识别某人何时可能正在实施欺诈。如果我使用我的信用卡购买不寻常的东西,或者在我以前没有去过的国家/地区购买东西,我的信用卡公司有时会与我联系,以确保交易是合法的。
你可以想象,这样的机器学习模型会采用各种各样的输入,以试图确定交易是合法还是欺诈性的。这些检查通常必须实时进行,这在我看来尤其令人印象深刻,因为它们在给定的时刻必须处理大量数据。但是,这样的系统中不可避免地会出现一些误报和漏报。如果你像我一样,误报会长期困扰你。毕竟,尽管我理解这些公司只是在尽自己的职责,但被困在超市收银台,试图说服你的信用卡公司你只是想在斯德哥尔摩购买牛奶和面包,这真是令人抓狂。
“金融科技”公司如雨后春笋般涌现,他们所做的很多事情都是机器学习在金融领域的应用(因此得名,当然)。无论是识别欺诈还是寻找投资机会,此类模型都可以比人更快地处理更多数据——并且可以利用数百万个以前的示例,而不是人类可以记在脑海中的几十个。
总结如你所见,机器学习提供了种类繁多的解决方案,为新型分析提供了机会。绝对值得坐下来学习一些关于机器学习的知识。在接下来的文章中,我计划引导你了解如何使用开源语言和工具来解决本专栏中描述的一些问题。我希望你很快就会看到,在数据科学和机器学习中,编码是容易的部分。困难的部分是思考如何构建模型、包含什么以及哪种算法最合适。
资源机器学习是一个巨大的领域,部分问题在于信息来源过多。
一个长期存在的每周电子邮件列表是 KDnuggets。你还应该考虑 Data Science Weekly 时事通讯 和 This Week in Data,其中描述了公众可以获得的最新数据集。
我是播客的忠实粉丝,我特别喜欢“Partially Derivative”。其他好的播客包括“Data Stores”和“Linear Digressions”。我定期收听所有三个播客,并从中学习。
最后,如果你想进入数据科学和机器学习领域,我推荐 Kevin Markham 的 Data School 和 Jason Brownlie 的“Machine Learning Mastery”,他在那里出售了许多关于这些主题的简短、密集但高质量的电子书。