算法竞赛五冠五亚得主,手把手带你了解算法竞赛

2024-04-27 06:08

本文主要是介绍算法竞赛五冠五亚得主,手把手带你了解算法竞赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是王贺(鱼遇雨欲语与余),一个工作两年的推荐广告算法工程师,热爱算法竞赛。今天跟大家聊聊我的新书《机器学习算法竞赛实战》,以及我的竞赛经历。明天晚上的直播我会以天池平台开放的二手车交易价格预测为例从实战入手讲解机器学习竞赛的流程和几个核心的算法竞赛方向。

写书的缘起

说起本书,便要追溯到2019年4月19日人民邮电出版社策划编辑陈兴璐在知乎上发给我的一则信息,其中讲到她看过我很多有关算法竞赛的文章,而且多次在算法竞赛中获奖,因此期待我能出版一本关于算法竞赛的图书。大概在2018年初,我就已经创建了专栏开始分享竞赛相关的文章,一路走来持续输出,目前的文章总浏览量达到百万。这次收到来信以及希望出版算法竞赛图书的邀请,是对我分享竞赛知识和已取得成绩的莫大认可,我欣然答应了写作邀请,并确定以「机器学习算法竞赛实战」作为书名。

为了完成本书,我邀请了我的竞赛老队员刘鹏(国内多次竞赛的冠亚军),陈兴璐编辑向我推荐了钱乾(Kaggle竞赛平台的grand master,国内最早一批竞赛选手)。另外,考虑到每个人擅长的点不同,我们进行了明确的章节分工,以保证每个章节的质量。

ccc2cb56dfaee84927d4e0b2301a41e7.png

在确定目录章节的时候也得到了@李凯东@DOTA@大野人007@inf.turing的建议,虽然这些人没有成为作者之一,但也对本书做出了很大的贡献,在此一并表示感谢。

关于这本书

本书以算法竞赛为引导,给出了采用机器学习解决实际问题的主要过程,从问题建模、数据探索、特征工程、到模型训练和模型融合,并分别列举了这个过程中的主要难点要点、通用思路和解决方法。在后续章节中,以实际的竞赛题目为落脚点,阐述和佐证如何通过问题剖析、数据治理、融合探索等方法论,使得算法逐步发挥其重要作用。

对于本书的章节架构,我们除了进行仔细的讨论外,还采纳了国内多名顶尖竞赛选手的建议。算法竞赛本身涵盖的范围是很大的,我们的理念是剖析其最本质的内容,然后结合多个领域模块进行实战讲解,这也是本书的一大特色。

本书分为以下四个部分:

Part1

磨刀事半,砍柴功倍

这部分以算法竞赛的通用化流程为主,介绍竞赛中各个部分的核心内容和具体工作,且每章都配有具体的实战部分,以便加深理解。

Part2

物以类聚,人以群分

这部分主要介绍用户画像相关的问题,构建完善的标签体系是用户画像的核心,也是解决用户画像类赛题的关键,比如个性化推荐和金融风控等问题都需要用户画像作为支撑。为了帮助读者加快对此类竞赛问题的学习、理解,会讲解具体的竞赛案例,即Kaggle平台的Elo Merchant Category Recommendation。

Part3

以史为鉴,未来可期

这部分以时间序列预测问题为主,先讲述这类问题的常见解题思路和技巧,然后分析两个具体的实战案例,分别是天池平台的全球城市计算AI挑战赛和Kaggle平台的Corporación Favorita Grocery Sales Forecasting。

Part4

精准投放,优化体验

与计算广告相关的业务都是很好的竞赛题目,这部分主要介绍了计算广告的核心技术和业务,包括广告召回、广告排序和广告竞价。实战案例部分则包括两道赛题,分别是2018腾讯广告算法大赛——相似人群拓展和Kaggle平台的TalkingData AdTracking Fraud Detection Challenge。

Part5

听你所说,懂你所写

这部分基于自然语言处理相关的内容进行讲解,包括常见任务和常见技术,实战案例部分是Kaggle平台上的经典竞赛Quora Question Pairs。

本书是算法竞赛领域第一本系统性介绍竞赛的书籍,不仅包含竞赛的基本理论知识,还结合多个方向和案例详细阐述了竞赛中的上分思路和技巧。

我的算法竞赛之路

19年写过一篇关于我的竞赛历程的文章「这两年:我的数据竞赛之路」,这篇可以看成我的竞赛之路的上半程,如今我想应该是介于上半程和下半程之间,毕竟我还是会将竞赛持续到底。

c599930afdcb399b5cebb140564efa36.png

取得更多成绩

不同之前,参加比赛的次数少了很多,更多的是找些自己感兴趣的比赛参加。

8e1f8190c6269dc1ad6cd44d040349e4.png

着手赛题设计

最近一年参与了多个比赛的赛题设计,单个赛题报名人数超1万,累计报名人数超3万。并提供赛题baseline和学习文档,帮助更多人快速入门竞赛。不同于参加比赛,竞赛的设计需要考虑的赛题难易程度、赛题可玩性、知识点多样性以及数据的稳定性。

c2cce11fec4f934aebaee76208716443.png

de23eaad1348134618ed94b2bfb3750f.png

686c05f92cc961367486d823bb91d531.png

竞赛经验分享

在过去,我还多次进行有关竞赛相关的分享,不仅将我的个人竞赛经验分享给更多人,同时也让更多人了解到算法竞赛。

05c8ab4f6c3c641945c144478160622f.png

936cc7bc0fff267abac54d71e2e68df7.png

写在最后

本书的写作过程并不轻松,利用的基本是晚上下班之后的时间,定期还要和刘鹏、钱乾进行线上会议,讨论近期的写作进度,以及相互审阅内容。最后再次感谢刘鹏和钱乾两位作者所做的巨大贡献,两位所具备的丰富的竞赛经验也是促使本书能够更加高质量完成的一个重要因素。

希望本书能够成为连接机器学习理论和应用实战之间的桥梁,希望能够帮助你在竞赛道路上走的更加顺畅。

最后,对算法竞赛感兴趣的小伙伴可以来观看我的直播分享,天晚上19点,我在图灵社区和天池读书会手把手带你了解竞赛,以天池平台开放的二手车交易价格预测为例从实战入手讲解机器学习竞赛的流程和几个核心的算法竞赛方向。

30384ad929d0c736398c0c0f4a2ee33d.png

☟ 一键五折购买

这篇关于算法竞赛五冠五亚得主,手把手带你了解算法竞赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939698

相关文章

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系