社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

阿里云MVP为你解读《阿里云天池大赛赛题解析(机器学习篇)》

天池大数据科研平台 • 4 年前 • 801 次点击  

↑↑↑关注后"星标"天池大数据科研平台
人人都可以玩转大数据

 阿里云天池发布 

作者:朱祺 

高级工程师 国际电气电子工程师协会IEEE高级会员 英国工程技术学会MIET 阿里云MVP

  

1 前言

作为大数据行业的从业人员和数据分析的爱好者,长期关注于kaggle和天池的比赛情况,也慢慢的见证了天池平台的成长。得到天池团队赠送的《阿里云天池大赛赛题解析(机器学习篇)》一书后,花了2个月的时间仔细读了一遍,可以用爱不释手来形容。因此,有了写一篇导读将这本书介绍给对于大数据算法有兴趣的朋友们。

2 全书概览

全书的结构围绕以下4道赛题组成:
(1)工业蒸汽量预测
(2)天猫用户重复购买预测
(3)O2O优惠券预测
(4)阿里云安全恶意程序检测
4道赛题所采用的算法模型都是机器学习算法,也符合本书的定位,没有涉及到深度学习的领域,实际上从近期天池平台的赛题设置包括kaggle的赛题设置可以发现,针对图像处理相关赛题的比重正在逐步变多,个人感觉是和现实生活包括工业场景中数据异构的情况占绝大部分有关。因此,如果纯粹的把算法的使用或者赛题的设置限制在结构化数据,则会对算法的落地产生麻烦,最终会造成因比赛而比赛,为了获奖而设计算法的情况,这明显不是天池比赛的初衷。而本书之所以会单独将机器学习算法赛题集结成册,个人感觉是成书的目标不仅仅是赛题的解读或者获奖选手的代码集锦,而是有教学目的的,这个从书中每道题的讲解顺序中也可以发现。

因此,从全书的结构角度虽然很可能乍一看觉得是讲了4道题的解答方法,但是4道题的代码解释明显用不了那么大的篇幅。仔细的看下去,就可以发现,其实是目前机器学习教科书中很特殊的一种写作方式,以赛题为核心,先以理论切入,后将理论结合赛题说明思路,最后是代码的解释。

由于机器学习的算法涉及到一些数学方面的知识(当然数学要求比深度学习略低),仅仅看理论的教材很容易让初学者有退却的心理,面对一大堆的公式无所适从,更不知道这些算法在实际过程中如何应用,而看论坛里各位大神的代码,又是没有理论解释的,天池团队的这本书正好填补了中间这个空白,因此也是让我爱不释手的原因。

3 本书细分章节的特点

本书的4道题,每道的细分章节都相似,其实就是整个数据科学家或者数据分析师工作的流程,当然缺少了数据采集的环节,原始数据作为赛题本身的一部分已经预先提供。

收到数据以后,之后的步骤就是数据概览(书里叫数据探索)、特征工程、模型训练、模型验证和作为提高的模型优化,当然也可能全部流程完成后发现瓶颈其实不在模型和调参,而在于特征工程没有做好,这个情况其实我觉得在进入一个陌生的领域时会经常发生,所以特别面向工业领域的算法设计,了解工艺生产流程是非常有必要的,甚至可以直接决定特征工程的结果。

数据探索方面,其主要的目的是对于数据集及数据的分布情况有一个全面的了解。如果对于机器学习的算法原理比较熟悉的话,在这个阶段已经会有意向中可能会采用的算法。书中,天池团队先进行了本阶段所需要理论知识的介绍,这一个部分中,所需要的理论知识基本属于统计范畴和可视化范畴,所得出的结果也是描述型的。从宏观上对于数据的分布有一个了解,细节上知道数据集的缺失值情况、各个维度间的相关性以及作为赛题来说训练集和测试集的关系。

特征工程方面,这个步骤其实占了全局绝大部分的工作量,比较繁琐,又不得不做,因为自然渠道收集到的各种数据多多少少存在问题。事实上,数据中台的价值一直被通俗的概括为数据驱动,看似宏观但从特征工程方面就可以准确理解什么是数据驱动。要驱动形形色色的功能业务,必然需要面对特定场景的数据,而采集的原始数据基本上都不能直接作为输入。因此,特征工程的任务就是将杂乱的原始数据整合成生产资料的过程。书中介绍的特征工程内容是全书的一个重头戏,也是其他参考书中比较少涉及到的领域,毕竟介绍模型和算法的参考书非常多,而包括降维、异常值检测、缺失值填充则只有全流程经历过并依靠实际的数据集处理展示才能讲明白。

模型的训练部分,书中提供了同一场景多种模型的解题思路,也是从算法的原理讲起,但是并不偏向纯数学,个人感觉,如果是面向工程的,足够,如果偏向算法原理改进等学术研究的,则还需要结合其他更偏重理论研究的参考资料,本书在这方面着眼于机器学习的面,并不过于纠结某个点。4道题的模型介绍基本覆盖了常用的机器学习算法,和kaggle同类题采用的算法也差不多,仔细看一遍能够了解整个领域的算法模型组成和具体的使用场景。

模型验证方面,主要由两部分的内容组成,即验证指标的选择和调参,验证指标方面书中并未完全拘泥于赛题的验证指标,对于不同算法所采用的验证指标介绍是非常详细的。调参方面,这其实是一个迭代过程,手工调参高手必然是结合了对算法原理的精通和大量的实际调参经验,而自动调参则是在经验法则下的反复尝试。

4 总结

总体这本书是一本非常好的教学读物,不可以单纯的将其视为赛题的归纳,天池团队在赛题之外全流程的介绍了数据分析和数据挖掘的过程,各个步骤的介绍都非常详细。平时作为备查的资料也相当不错,也非常期待后续有深度学习类的相同著作问世。

关注阿里云天池,人人都可以玩转大数据

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/99084
 
801 次点击