KDD 2011 最佳工业论文中机器学习的实践方法-翻译

简介: 作者:黄永刚Practical machine learning tricks from the KDD 2011 best industry paper 原文链接:http://blog.

作者:黄永刚

Practical machine learning tricks from the KDD 2011 best industry paper

原文链接:http://blog.david-andrzejewski.com/machine-learning/practical-machine-learning-tricks-from-the-kdd-2011-best-industry-paper/

研究机器学习的论文通常倾向于提出一种新理论或算法,对于问题背景、数据表示、特征工程等往往是只言片语,然而这些东西对于读者的理解和算法的重现是非常重要的。鉴于论文目的和格式的约束,只能用有限的文字去描述更核心通常比较抽象的思想。

因此,对于在工业系统中应用论文中的方法所必须的实现细节,论文中很少进行描述。机器学习的这些方面,被称为‘平民智慧’,大多数来自同事间的讨论、博客、论坛、开源库等一手的经验之谈。

不同于以上的描述,有些会议设有专题对工业界的方法进行追踪,提出了很多能够提高机器学习在实践应用中效率的见解。我们下来要介绍的这篇文章,它来自于goolge荣获KDD 2011 最佳工业论文,关于检测广告作弊。

Detecting Adversarial Advertisements in the Wild \
D. Sculley, Matthew Otey, Michael Pohl, Bridget Spitznagel, \
John Hainsworth, Yunkai Zhou \
http://research.google.com/pubs/archive/37195.pdf

看到这个主题,第一个想法,这不就是机器学习界的“hello world”吗!随便找一本相关的书籍或者教程里面都有,对于正样本集和负样本集分别训练一个朴素贝叶斯,就OK了。很显然,这和Google的应用场景相差甚远,这篇文章阐述了现实当中的许多挑战,是google商业应用需要解决的关键问题。

这篇文章提出了很多不同的方法和技巧,我在这里只简单的描述文章中的重点,我极力鼓励对此感兴趣的读者直接去查看他们的论文1和演示文稿[^slide]。
2:https://www.eecs.tufts.edu/~dsculley/papers/adversarial-ads.pdf
http://www.eecs.tufts.edu/~dsculley/papers/Detecting_Adversarial_Advertisements.pdf


1. 分类(Classification)

机器学习的核心方法是分类:这个广告展示给用户是不是OK?这里有一些源代码关于机器学习的核心方法3

方法集成

获得Netflix奖的方法、微软的Kinect及IBM Watson,这些系统都使用了集成方法,将许多不同模型产生的结果集合起来做出最终的预测。这个方法在当前众多的方法中可以称得上是最省心的方法了,如果你的目标是预测精确度,至少也应该考虑使用集成的方法。

只执行高可靠的预测

衡量预测的不确定性并适当的对系统的执行条件进行调整是非常必要的。在这个应用中,需要做出合理的决策,因此,当预测结果可靠性不高时,系统应该不执行相应的动作。

找出大量的特征,使用L1正则进行特征选择

特征表示是机器学习设计中的关键问题,它涵盖了非常广的范围:对于广告有表述的用词、表述主题、链接到的网站、链接落地页、广告商等等,会产生大量的特征,使用L1正则强制稀疏化特征集,最终得到较少的与结果关联性强的特征。

特征降维

处理高维特征这是十分实用的方法,通过降维将特征映射到低维空间。

使用排序来处理不均衡问题

这种极不均衡数据问题是典型的监督式分类中的疑难杂症,广告中大多是正常数据,只有极少量是异常数据[此类问题十分常见]。这类问题有很多的处理方法,在这里他们通过将这个问题转化为排序问题,获得了性能上的改进。恶意广告应该比正常广告获得更高的排名。

使用分类器的级联

还是不均衡问题,对于负样本中也存在不同的种类,如恶意软件刷点击、假冒伪劣商品等。这里同时采用了两阶段的分类。第一阶段判断正常或者异常?第二阶段,如果这个广告属于异常,是不是属于异常A,是不是异常B,以此类推。


2. 可扩展性、工程实现、操作

不同于为了发论文所写的实验性软件,线上的机器学习系统是有工程和商业背景。系统的可扩展性、可用性、可靠性、可维护性也十分重要。

MapReduce:预处理(map), 算法训练(reduce)

稍微有些意外,他们发现性能瓶颈是来自于从磁盘加载数据和提取特征的阶段。因此,他们使用多个map作业并行执行,用一个reduce来做随机梯度下降分类训练(Stochastic Gradient Descent, SGD)

部署监控

为了使系统始终如一的工作,需要监控一些数据,以便于一些异常出现的时候能够做进一步的研究,如:
- 持有数据上的precision/recall
- 输入特征的分布
- 输出值的分布
- 输出类别的分布
- 人工定期评价系统质量

丰富模型对象

在机器学习的论文中,一个预测模型经常归结于数学思想即学习到的特征权重向量。然而,在软件工程实践中,作者认为将“模型对象”拓展更广泛的范围会十分有用,例如包含特征转换、概率校准、训练超参等。


3. 人工经验

基于商业考量,提出通用的解决方法需要人类专家的参与。

有效的利用专家经验

对于界限模糊的情况或比较难分辨的情况,人工专家手工进行标注,然后采用主动学习策略识别这些高价值数据。他们为人类专家提供了可以获取信息的用户接口,以便发现新出现的异常威胁。

允许人为的编制规则

相比于全自动化的机器学习方法,有的时候人类才是知道如何做才最好。因此,他们允许专家们在适当的时候,编制一些规则进去。

人为评估

专家的判断也不能理解为事情的本质,专家提供的标签也会因人为因素产生错误,不同的专家对于各个类别理解的也不一样。为了调整这种不确定性, 请多个专家对同一事物进行判别来调整标签的可信度。如果有兴趣可以参考这里4.

最后,他们阶段性进行非专业评估以确保系统对于大众来说工作正常。用户满意是最终目标,如果进行量化衡量就完美了。

相关文章
|
9月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
744 8
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
583 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1806 6
|
机器学习/深度学习 人工智能 算法
PaperCoder:一种利用大型语言模型自动生成机器学习论文代码的框架
PaperCoder是一种基于多智能体LLM框架的工具,可自动将机器学习研究论文转化为代码库。它通过规划、分析和生成三个阶段,系统性地实现从论文到代码的转化,解决当前研究中代码缺失导致的可复现性问题。实验表明,PaperCoder在自动生成高质量代码方面显著优于基线方法,并获得专家高度认可。这一工具降低了验证研究成果的门槛,推动科研透明与高效。
1028 19
PaperCoder:一种利用大型语言模型自动生成机器学习论文代码的框架
|
机器学习/深度学习 数据采集 算法
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
本文围绕 Java 大数据机器学习模型在金融衍生品定价中的应用展开,分析定价现状与挑战,阐述技术原理与应用,结合真实案例与代码给出实操方案,助力提升金融衍生品定价的准确性与效率。
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
2588 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
915 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
机器学习/深度学习 人工智能 自然语言处理
【NeurIPS'24】阿里云 PAI 团队论文被收录为 Spotlight,并完成主题演讲分享
12月10日,NeurIPS 2024在温哥华开幕,阿里云PAI团队论文《PertEval: Unveiling Real Knowledge Capacity of LLMs with Knowledge-Invariant Perturbations》入选Spotlight,PAI团队还进行了“可信AI的技术解读与最佳实践”主题演讲,展示AI工程化平台产品能力。
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
794 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计

热门文章

最新文章