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

简介:

雷锋网按:“算法”这两字在人工智能圈已然成为“高大上”的代名词,由于不少在校生和职场新人对它的过度迷恋,多名 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 开展系统的机器学习实战培训课程,具体开课时间在年后一周左右,请大家持续关注雷锋网信息。

本文作者:亚峰

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

相关文章
|
16天前
|
缓存 监控 算法
基于 C# 网络套接字算法的局域网实时监控技术探究
在数字化办公与网络安全需求增长的背景下,局域网实时监控成为企业管理和安全防护的关键。本文介绍C#网络套接字算法在局域网实时监控中的应用,涵盖套接字创建、绑定监听、连接建立和数据传输等操作,并通过代码示例展示其实现方式。服务端和客户端通过套接字进行屏幕截图等数据的实时传输,保障网络稳定与信息安全。同时,文章探讨了算法的优缺点及优化方向,如异步编程、数据压缩与缓存、错误处理与重传机制,以提升系统性能。
37 2
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
23天前
|
监控 网络协议 算法
基于问题“如何监控局域网内的电脑”——Node.js 的 ARP 扫描算法实现局域网内计算机监控的技术探究
在网络管理与安全领域,监控局域网内计算机至关重要。本文探讨基于Node.js的ARP扫描算法,通过获取IP和MAC地址实现有效监控。使用`arp`库安装(`npm install arp`)并编写代码,可定期扫描并对比设备列表,判断设备上线和下线状态。此技术适用于企业网络管理和家庭网络安全防护,未来有望进一步提升效率与准确性。
37 8
|
18天前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
2月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
67 14
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
4月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
236 6
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
474 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
3月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
128 2
|
4月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
96 1