技术大牛带你走向机器学习“正道”:小朋友才迷信算法,大人们更重视工程实践

简介:

雷锋网按:“算法”这两字在人工智能圈已然成为“高大上”的代名词,由于不少在校生和职场新人对它的过度迷恋,多名 AI 资深人士均对这一现象表示担忧。李开复曾这样说到:

现在的 AI 科学家大部分是在科研环境中培养出来的,不但欠缺工程化、产品化的经验,而且对于错综复杂的商业环境也并不熟悉,更缺乏解决实际问题所必须的数据资源。

随着开源框架层出不穷,人工智能产品化和商业化进程不断加速,使得算法的门槛逐渐降低,但对工程的要求不断在提高。这种情况下,实际应用和工程能力基础扎实的技术人才变得异常抢手。

其实 AI 新人们在进入职场后也愈发意识到这个问题,那他们该如何提升自己的实战能力?

雷锋网(公众号:雷锋网)特邀王刚为大家讲述机器学习的实战与应用,王刚根据工程、产品、业务等多个维度帮大家梳理如何系统地去学习机器学习。

嘉宾介绍:

王刚,前乐视大数据总监,现任某电商平台大数据总监。10 年大数据领域工作经验,具有 Hadoop 和 Spark 生态相关技术的实际应用经验。目前专注于机器学习,搜索和推荐系统的设计和开发。

以下为王刚所撰写的正文: 

机器学习对很多初学者来说,最大的学习困难和障碍就是模型、算法、“眼花缭乱”的数学公式所带来的抽象感,无法有效的建立起直觉上的理解。所以本文的目的是尝试给初学者具体的学习方式建议,以帮助初学者打通机器学习的任督二脉,然后通过不断的学习和实践,使得自己在机器学习领域的专业能力持续提升。

机器学习与人工智能、深度学习之间的关系

当前被提及的高频词语是“AI人工智能”、“机器学习”、“深度学习”。那这些词语背后所代表的技术之间到底是什么关系呢?充分的理解这个关系,有利于建立起更加系统的专业学习框架。

首先,我们要搞明白机器学习到底学习的是什么,答案是模型“参数”,比如Y=AX+B是个机器学习的模型,通过样本数据,可以学习出参数A和B的确定值。然后基于这两个参数,对模型进行泛化,即对给定的X对Y进行预测。明白了机器学习到底是学习什么之后,我们一起看看下图来搞清楚机器学习与人工智能和深度学习之间的关系。

技术大牛带你走向机器学习正道:小朋友才迷信算法,大人们更重视工程实践


如上图所示,人工智能是最大的一个范畴,人工智能的实现目前看主要有两种途径:一种是基于脑科学的方式来实现智能。另一种是基于机器学习的方式来实现智能,这种方式的假设是当学习的数据足够充分,就可以大概率的逼近事实。

再回到公式Y=AX+B,我们可以看到机器学习是通过X和Y来学习出参数A和B,而在机器学习中,X是人工构造的特征,Y是人工进行标注的标签。一句话,机器学习就是通过构造X和Y来学习参数A和B。但通常情况下,构造X和标注Y需要耗用大量的人力和时间。所以,对于如何更智能的构造X和标注Y是机器学习很重要的研究方向。深度学习的一个重要作用就是能够更智能的构造X,即进行更好的特征表示。所以深度学习是机器学习的一个子集。那如何更好的标注Y呢,当前流行的对抗生成网络(GAN)就是一种解决方案。 

机器学习需要的基础知识体系

机器学习的三个关键要素是模型、策略、算法。模型指的是具体的机器学习模型,比如决策树、SVM、神经网络、LDA等具体模型。策略指的是最小化模型结构性风险的手段,即避免模型欠拟合和过拟合的应对策略,在这里专指正则化(Regularization)。算法指的是建立好模型之后,如何对模型中的参数进行学习。也即最优化的方法。所以,初学者需要掌握的基础知识为:

1.导数与微积分,以及还需要对泰勒展开式、拉格朗日等定理和公式有充分的掌握。这是进行算法推导的基础中的基础。

2.线性代数,矩阵运算等要做到熟练掌握,因为机器学习的最优化算法中涉及到的复杂计算需要线性代数好矩阵运算的内容。

3.概率论,概率论的基础知识是理解像极大似然、最大熵、EM算法、贝叶斯网络、概率图模型的基础。

4.最优化,机器学习中的模型训练是通过对模型中参数的学习来进行泛化推广。如何对模型中的参数进行学习是最优化要解决的问题。比如线性优化、非线性优化的各种主要方法(比如梯度下降法、牛顿和拟牛顿法等)要有充分的理解。

5.机器学习模型的思想和具体实现方式要理解透彻。

机器学习的应用实践

特征工程,如上面所说就是造X,机器学习实践中大部分的实践都在处理特征工程上。所以真正有机器学习实践经验的人都知道机器学习更多的时间不是高大上的算法,而是苦逼特征工程。工程师每天更多的是基于对业务的深刻理解,通过构建“更好”的特征,持续提升模型的准确度。

推荐系统与搜索系统

当推荐和搜索这些字眼出现在网页中,专业书籍中,或是大部分的培训课程中,更多的是与机器学习和算法关联起来。这种情况的原因可能是为了迎合机器学习在大部分人认知中的“高大上”吧。

在实际的产品设计和开发中,推荐系统和搜索系统是有着一个更大概念的系统架构,绝非仅仅是只有机器学习和算法。其中UI/UE的重要性占比为40%,业务理解重要性占比为30%,数据重要性占比为20%,模型重要性占比为10%。

以推荐系统举例,整个推荐系统的框架应当如下图所示:

技术大牛带你走向机器学习正道:小朋友才迷信算法,大人们更重视工程实践

下图是电商平台上推荐系统的框架

技术大牛带你走向机器学习正道:小朋友才迷信算法,大人们更重视工程实践

所以,建议的推荐系统知识学习体系为:

一、推荐系统之整体架构

1.推荐系统的本质、目标及价值

2.一个好的推荐系统的相貌

3.线下零售的促销员与电商平台的推荐系统的关系

3.推荐系统与搜索的关系

4.主流电商平台上的推荐系统学习

5.推荐系统的整体架构图以及如何学习推荐系统

二、推荐系统之策略及模型

1. 基于规则的推荐算法

2. 基于内容(Content-Based)的推荐算法

3. 基于协同过滤(CF)的推荐算法

4. 基于隐因子(SVD/SVD++/MF/FM/FFM/PLSA/LDA)的推荐算法

5. 推荐结果的排序模型(GBDT+LR,LTR)

6. 数学基础及典型最优化算法

7.不同场景下的推荐策略(如在电商平台上,首页、详情页、购物车页、搜索结果页等不同场景下的推荐策略)

8.推荐系统评估

如何评估线下模型,如何评估线上效果

三、推荐系统之特征工程

1.用户画像如何构建

2.特征工程如何构建,以及如何进行特征分析

四、推荐系统之交互体验

如何向用户展示推荐系统的权威性、取得用户的信任、如何帮助用户决策、如何获取用户反馈。

如何开始机器学习

对于大多数人来说,如果以抽象的方式开始学习一项内容肯定不是最好的方式。相反,先建立起直觉,然后建立具体到抽象的映射,再深入学习抽象部分完成对细节部分的掌握,最后循环到具体的应用是适合大多数人的学习方式。所以对于机器学习初学者建议的学习路径为:

步骤一:先选择一门实战性非常强的机器学习及其应用课程进行学习。目标是通过足够多具体的应用,能够深刻理解机器学习的实际使用方式,从而建立起直觉。

步骤二:学习机器学习的理论课程,包括具体的模型算法,最优化方法,以及相关的公式推导。过了这一关,就完成了对机器学习细节的更好掌控。

步骤三:如果能够立刻参与到机器学习的实际项目中是最好不过了。如果不能,可以去完成Kaggle中的一些比赛项目。

最后,也是最最重要的建议,如果要想“更快速”“更高效”的掌握机器学习,找到合适的培训课程进行学习是最合适的方式。用钱买时间,买别人的经验,以更高效的方式掌握机器学习后,这些付出的费用可能仅仅是你工作之后月薪的很小的一部分。

在任督二脉打通之后,可以适当的对分布式存储和计算相关体系的内容进行学习。即靠的是个人的持续修行,在理论与实践循环提升中,成长为真正的专家。

PS:为了推动 AI 人才全面化,雷锋网将为大家提供一个业界顶级的专业 AI 技术培训平台:1024MOOC 。其中王刚老师也会在1024MOOC 开展系统的机器学习实战培训课程,具体开课时间在年后一周左右,请大家持续关注雷锋网信息。

本文作者:亚峰

本文转自雷锋网禁止二次转载,原文链接

相关文章
|
20天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【2月更文挑战第31天】 随着人工智能的飞速发展,自然语言处理(NLP)技术在机器学习领域扮演着越来越重要的角色。本文旨在深入探讨NLP的关键技术,包括语言模型、词嵌入和深度学习方法,并分析这些技术如何相互协作,以实现更高效的文本分析和理解。通过案例研究和最新研究成果的介绍,我们展示了NLP在实际应用中的强大潜力,以及它如何推动人机交互和信息检索系统的革新。
20 0
|
12天前
|
机器学习/深度学习 自然语言处理 算法
|
25天前
|
机器学习/深度学习 人工智能 运维
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(二)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
58 1
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(一)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
65 1
|
5天前
|
存储 JSON 自然语言处理
大模型服务平台百炼之模型训练与调优实践分享|快来围观~
模型调优是通过Fine-tuning训练模式提高模型效果的功能模块,作为重要的大模型效果优化方式,用户可以通过构建符合业务场景任务的训练集,调整参数训练模型,训练模型学习业务数据和业务逻辑,最终提高在业务场景中的模型效果。
|
7天前
|
算法
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
15 0
|
28天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
30天前
|
机器学习/深度学习 前端开发 算法
利用机器学习优化Web前端性能的探索与实践
本文将介绍如何利用机器学习技术来优化Web前端性能,探讨机器学习在前端开发中的应用,以及通过实际案例展示机器学习算法对前端性能优化的效果。通过结合前端技术和机器学习,提升Web应用的用户体验和性能表现。
|
1月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。