关于机器学习的十个实例
英文原文: Practical Machine Learning Problems
机器学习是什么?
机器学习是什么?这个问题的答案可以参考权威的机器学习定义,但是实际上,机器学习是由它所解决的问题定义的。因此,理解机器学习最好的方式是观察一些实例。
首先来看一些现实生活中众所周知和理解的机器学习问题的实例,然后讨论标准的机器学习问题的分类(命名系统),学习如何辨别一个问题是属于哪种标准案例。这样做的意义是,了解所面对的问题类型,我们就可以思考所需要的数据和可尝试的算法。
机器学习问题的十个实例
机器学习问题到处都是,它们组成了日常使用的网络或桌面软件的核心或困难部分。推特上“想来试试吗”的建议和苹果的 Siri 语音理解系统就是实例。
以下,是十个真正有关机器学习到底是什么的的实例:
- 垃圾邮件检测:根据邮箱中的邮件,识别哪些是垃圾邮件,哪些不是。这样的模型,可以程序帮助归类垃圾邮件和非垃圾邮件。这个例子,我们应该都不陌生。
- 信用卡欺诈检测:根据用户一个月内的信用卡交易,识别哪些交易是该用户操作的,哪些不是。这样的决策模型,可以帮助程序退还那些欺诈交易。
- 数字识别:根据信封上手写的邮编,识别出每一个手写字符所代表的数字。这样的模型,可以帮助程序阅读和理解手写邮编,并根据地利位置分类信件。
- 语音识别:从一个用户的话语,确定用户提出的具体要求。这样的模型,可以帮助程序能够并尝试自动填充用户需求。带有 Siri 系统的 iPhone 就有这种功能。
- 人脸识别:根据相册中的众多数码照片,识别出那些包含某一个人的照片。这样的决策模型,可以帮助程序根据人脸管理照片。某些相机或软件,如 iPhoto,就有这种功能。
- 产品推荐:根据一个用户的购物记录和冗长的收藏清单,识别出这其中哪些是该用户真正感兴趣,并且愿意购买的产品。这样的决策模型,可以帮助程序为客户提供建议并鼓励产品消费。登录 Facebook 或 GooglePlus,它们就会推荐可能有关联的用户给你。
- 医学分析:根据病人的症状和一个匿名的病人资料数据库,预测该病人可能患了什么病。这样的决策模型,可以程序为专业医疗人士提供支持。
- 股票交易:根据一支股票现有的和以往的价格波动,判断这支股票是该建仓、持仓还是减仓。这样的决策模型,可以帮助程序为金融分析提供支持。
- 客户细分:根据用户在试用期的的行为模式和所有用户过去的行为,识别出哪些用户会转变成该产品的付款用户,哪些不会。这样的决策模型,可以帮助程序进行用户干预,以说服用户早些付款使用或更好的参与产品试用。
- 形状鉴定:根据用户在触摸屏幕上的手绘和一个已知的形状资料库,判断用户想描绘的形状。这样的决策模型,可以帮助程序显示该形状的理想版本,以绘制清晰的图像。iPhone 应用 Instaviz 就能做到这样。
这十个实例展示了一个机器学习问题是什么样的很好的理念。有一个专门的文集记录那些有着历史意义的例子。其中一个例子是,一个需要建模的决策,为该决策有效地的自动建模为某一行业或者说领域带来了利益。
有些问题是人工智能中,如自然语言处理和机器视觉(处理人们很容易处理的问题),最困难的问题。其他一些也很困难,但它们同时是很经典的机器学习问题,如垃圾邮件检测和信用卡欺诈检测。
想想你在过去的一周中跟线上或线下的软件之间的交互。你肯定能很轻易的推测出十或二十个直接或间接使用的机器学习实例。
机器学习问题的类型
通过上述的机器学习问题的实例,你一定已经意识到一些相似性之处。这种技能很有价值,因为擅长从现象看本质,使得你可以高效的思考需要的数据和可尝试的算法类型。
关于机器学习,有一些常见的分类。 以下这些分类,是我们在研究机器学习时碰到的大多问题都会参考的典型。
- 分类:标记数据,也就是将它归入某一类,如垃圾/非垃圾(邮件)或欺诈/非欺诈(信用卡交易)。决策建模是为了标记新的未标记的数据项。这可以看做是辨别问题,为小组之间的差异性或相似性建模。
- 回归:数据被标记以真实的值(如浮点数)而不是一个标签。简单易懂的例子如时序数据,如随着时间波动的股票价格。这个建模的的决策是为新的未预测的数据估计值。
- 聚类:不标记数据,但是可根据相似性,以及其他的对数据中自然结构的衡量对数据进行分组。可以从以上十个例子清单中举出一例:根据人脸,而不是名字,来管理照片。这样,用户就不得不为分组命名,如 Mac 上的 iPhoto。
- 规则提取:数据被用作对提议规则(前提/结果,又名如果)进行提取的基础。这些规则,可能但不都是有指向的,意思是说,这些方法可以找出数据的属性之间在统计学上有说服力的关系,但不都是必要的涉及到需要预测的东西。有一个找出买啤酒还是买尿布之间关系的例子,(这是数据挖掘的民间条例,真实与否,都阐述了期望和机会)。
当你认为一个问题是机器学习问题时(如需要从数据中建模的决策问题),接着思考下什么问题类型可以直接借用,或者,用户或需求期待什么样的结果,反过来也这样做。
资源
很少有资源列出现实世界中机器学习的问题清单。也可能它们就在那,但我没发现。我还是找到了一些很酷的资源供你们参考:
- 一年一度的“Humies”奖:这是一些授予那些计算到的结果可以媲美人类的算法的奖项。这些算法只是工作在数据或者付费函数上,就能够如此有创造性,足以违反专利。太了不起了!
- 人工智能效应:有这样一种观念:只要人工智能程序取得了足够好的成绩,就不再被看做人工智能,而只当做是科技,然后被日常使用。这个观念,同样适用于机器学习。
- 人工智能大赛:这个大赛涉及了人工智能领域中非常困难的问题,如果这些问题能够解决,将会是强大的证明人工智能的案例(科幻小说中想象的那种,真正的人工智能)。计算机视觉和自然语言处理都是人工智能竞赛问题的实例,它们也被当作是机器学习问题的特定领域的分类。
- 2013 年机器学习十大问题:这个 Quora 上的问题有一些非常精彩的回答,其中一个答案列出了实际的机器学习问题的粗略分类。
上文我们讨论了一些现实世界中机器学习问题的常见实例及其种类。现在,我们有信息谈论一个问题是否属于机器学习问题,并且能够从问题描述中挑选出一些元素来判断它属于分类类型,回归雷系,还是属于规则提取类型。
你知道现实世界中的一些机器学习问题吗?评论分享你的想法吧。