机器学习如何应用于商业场景?三个真实的商业项目
在国富如荷这些年的教学过程中,很多同学问到了一个问题:
在现实的商业世界中如何应用机器学习?
也就是说,虽然现在我们一直被各种算法文章和教程轰炸,但是关于企业中一个机器学习项目的“上下文”却总是缺失的。
今天CDA数据分析师教研副总监徐杨老师将给同学们介绍我们最近采集到的三个真实的企业机器学习项目,以让同学们更好地理解机器学习和数据科学在实践中是如何工作的。
01
扫描 eBay 是否有假冒商品或赃物
这个项目来源于我们美国部门的反馈。这是一家娱乐行业的企业,由于保密协议的原因老师无法给出企业的名称。他们有一个专门的分析团队,在购物网站(如eBay)上搜索带有客户品牌的被盗或假冒商品。
在eBay上数以百万计的商品清单列表中,只有很小一部分是企业感兴趣的。于是分析团队上线了爬虫算法,抓取包含相关关键字的网页,并将网页图片存储在特定的文件夹中。每天,该团队都会登录到相关的门户网站,爬取并查看这些图片,以确定它们是否侵犯了企业的版权。这是一个非常昂贵却无聊的过程,昂贵在负责查看图片的人工成本,无聊在于这个查看工作本身没有太多技术含量却非常消耗工时。但是这个问题可以通过一点机器学习得到很大改善。
尴尬的是,现在很多很多讨论计算机视觉的文章都在关注一些"不务正业"的问题,例如 猫 vs 狗、汽车 vs 摩托车、手绘数字等等。但在这个项目中,我们必须在图像中寻找侵犯版权的东西。
决定使用哪种机器学习算法来解决问题通常很复杂,这个项目也不例外。一方面,我们有大量被标记为侵权或非侵权的数据,在这种情况下,很容易能看出这是一个有监督的分类问题。那么,我们考虑试一下神经网络算法?
另一方面,由于门户网站的设计,检索负面信息非常耗时(它不存储图像,只是一个链接),因此我们只有一个有限的数据集。此外,企业的徽标经常与其他企业的徽标一起出现在图像中(侵犯版权通常是很微妙的),并且足够深的神经网络很有可能会识别出类似商标的存在而不是单独某个公司的标志(就像神经网络通常会识别所有犬种而不仅仅是德国牧羊犬一样)。在这种情况下,关键是训练一个更浅的卷积神经网络来进行目标检测而不是分类。这阻止了网络学习 logo-general 特征并迫使它学习 logo-specific 特征。(这两个单词显然用英文来表述会更加准确,因此我们不给出翻译)
CNN(卷积神经网络)的算法本身是成熟的,那么这个项目的关键就在于生成训练集以供训练目标检测。它需要由来自原始训练集的大量不同角度和排列的图像组成,具有各种倾斜和对齐方式,每个图像都有一个包围框围绕着我们想要检测的对象(徽标)。在花费了相当大的精力完成训练集的工作后,这个项目的后续工作也顺利完成。
02
预测零售店是否会被盗
这个项目来源于与我们合作的一家企业,这是一家跨国零售连锁企业(同样是基于保密协议,这里不能给出企业名称)。由于这家企业的分支店铺遍布全球,包括一些不太安全的地区。因此需要构建一个算法,根据入室盗窃的历史实例生成入室盗窃的风险评分。
由于业务的性质,企业认为盗窃的风险随着周边地区的犯罪而增加,而不是由于商店的任何特定特征(易碎的窗户等)而增加。
该算法工具的目的不是直接防止盗窃,而是评估如何对整个商店组合分配固定预算,以减少盗窃损失。因此,算法输出的必须是更新每个安全设施的好处,或者说是推荐更新哪些安全设施,有点像推荐引擎。
与我们上一个示例类似,找出解决问题的关键是最大的挑战之一。分析团队首先尝试了生存分析,定制了 Cox Proportional Hazards 模型以接受多个事件。虽然它在洞察各种安全设施的防护性方面做得很好,但它对于地理因素的识别效果非常差,而地理区域因素正是客户想要识别的一个重要因素。
最后,分析团队决定为客户想要识别的每个因素构建单独的分类器(使用XGBoost),为每个时期设置固定的训练集日期范围,以解决较长时期的预测更有可能高估长期风险的问题。接下来,将这些因素导入回归模型来计算每个零售商店的预估损失,并使用该度量(结合地理度量)来生成具体的推荐。
03