机器学习工程师
Last updated
Was this helpful?
Last updated
Was this helpful?
课程大纲 - 必修部分
一站式学习系统掌握监督学习、非监督学习、深度学习、强化学习等热门技术,挑战实战应用。
点击收起课程大纲与实战项目
约 6 个月完成
先修知识
掌握中级编程知识、中级统计学知识、中级微积分和线性代数知识。
第一章:监督学习
简介 在深入研究多种机器学习算法之前,我们先了解整个领域的全局知识线性回归 了解分类与回归的区别,学习如何使用线性回归来做预测感知器算法学习神经网络中的感知器,以及如何使用它进行分类决策树学习决策树,并使用决策树探索泰坦尼克号乘客存活模型朴素贝叶斯学习朴素贝叶斯原理,并构建垃圾邮件分类器支持向量机学习如何训练支持向量机以线性分离数据;使用核方法在非线性可分的数据上来训练 SVMs集成方法通过 boosting 提升传统方法;Adaboost模型评估维度 学习评估模型的常用维度:准确率、精读、召回率等等。错误与优化 了解训练过程中常见的错误类型,学习如何处理错误来优化模型性能。Lab:为银行提供精准营销方案练习机器学习基础技能,在实战中掌握预测的 pipeline。实战项目 1:航班延误预测(数据集由和鲸社区提供)
第二章:深度学习
神经网络简介学习深度学习基础,包括 softmax、one-hot encoding 和 cross entropy学习感知器与梯度下降实现梯度下降了解如何实现梯度下降,并实现一个反向传播训练神经网络学习如何训练神经网络,包括早期停止、正则化、dropout等知识PyTorch学习如何使用 PyTorch 构建神经网络,并在 Fashion-MNIST 数据集上学习图像分类与迁移学习。实战项目 2:人脸识别
第三章:非监督学习
聚类学习如何聚类算法,并尝试使用 k-means 对数据进行聚类层次聚类法与密度聚类学习单连接聚类法和层次聚类法,DBSCAN高斯混合模型与聚类验证学习高斯混合模型及相关示例,以及聚类分析过程和如何验证聚类结果。降维和 PCA了解降维的作用,并学习 PCA 的原理和使用场景随机投影与 ICA学习随机投影与独立成分分析,并通过 Lab 学习如何应用这些方法实战项目 3:创建客户细分
第四章:软件工程
软件工程练习编写清晰、注释充分的模块化代码重构代码并提高代码效率创建检验程序的单元测试通过日志记录进程操作和结果审阅代码编程了解何时使用面向对象编程;构建和使用类;了解如何创建大型模块化 Python 软件包并使用面向对象编程将软件包上传到 PyPI作品集练习:构建你自己的 Python 软件包案例演练:构建 PYTHON 软件包
第五章:模型部署
部署简介了解云端和部署术语了解生产环境中的机器学习工作流程了解机器学习的工作场所用例部署模型在 SageMaker 中部署模型使用 SageMaker 上的 XGBoost 预测波士顿房价使用 SageMaker 上的 XGBoost 判断影评情感网络托管学习如何从网站提供端点访问权限;使用 API Gateway 和 Lambda 将机器学习模型集成到网络应用中;模型监控了解如何监控模型随时间推移的行为;使用 SageMaker 的自动化超参数调节工具调节 XGBoost 模型的超参数;在 SageMaker 上运行 A/B 测试,比较调节过的模型与未调节的模型;更新模型在监控模型的过程中发现数据有变化后,相应地更新模型;了解如何处理在情感分析过程中添加到模型中的新短语;实战项目 5:部署情感分析模型
第六章:机器学习案例研究
利用 SageMaker 进行总体分割使用 AWS SageMaker 了解可用的算法广度;了解如何通过 SageMaker 使用非监督式算法分析数据;使用 SageMaker 部署非监督式模型;通过提取模型属性了解数据;检测信用卡欺诈行为构建并改善能识别付款欺诈行为的线性模型;处理训练数据类别不平衡的问题;在 SageMaker 中根据特定指标调节模型并改善模型性能;部署自定义模型使用 SageMaker 部署自定义 PyTorch 模型;编写自定义训练脚本,并训练你设计的模型;时间序列预测处理时间序列数据并调整数据格式,使数据适合训练机器学习模型;使用 SageMaker 的DeepAR 算法进行时间序列预测;部署模型并使用模型预测未来的数据点;实战项目 6:抄袭检测器
第七章:毕业项目开题报告
实战项目:毕业项目开题报告 在正式开始毕业项目之前,你需要撰写一份开题报告来阐述自己的建模过程,并得到专业审阅者的建议。
第八章:毕业项目
实战项目:毕业项目(三选一) 在毕业项目中,你将运用你在此纳米学位中学到的机器学习算法和方法选择一个你感兴趣的问题来解决。首先你需要定义 (define) 一个你想要解决的问题,调研可能的解决方案,并解释其衡量指标。其次,你需要通过数据可视化和数据挖掘分析 (analyze) 这个问题,以便对适于解决该问题的算法和特征有一个更好的了解。接着,你需要实现 (implement)你的算法和衡量指标。你需要记录下预处理、改善、后处理的整个过程。接下来,你需要收集这些模型的表现结果 (results) ,把重要的部分可视化,来验证或证明这些结果。最后,你要在你的结果基础上得出结论 (conclusions),讨论一下你的实现是否真的解决了这个问题。 选择 1 - 自然语言处理方向 项目 - 句子相似度匹配 是Quora于2017年公开的句子匹配数据集,其通过给定两个句子的一致性标签标注,从而来判断句子是否一致。 选择 2 - 数据挖掘方向 项目预测 Rossmann 未来的销售额 Rossmann 是欧洲的一家连锁药店。 在这个源自Kaggle比赛 ,我们需要根据 Rossmann 药妆店的信息(比如促销,竞争对手,节假日)以及在过去的销售情况,来预测它未来的销售额。 选择 3 - 计算机视觉方向 项目 - 猫狗大战 使用深度学习方法识别一张图片是猫还是狗。 *注:由于技术的快速迭代,中国区教研团队将根据当前热点对毕业项目选题进行实时更新,请以教室中的选题为准。
先修知识:Python 与数据分析
数据类型和运算符你将学习 Python 中用到的所有数据类型和运算符,如字符串、列表、元组、集合、字典等;控制流学习如何通过控制流为你的程序创建逻辑;函数你将学习如何定义函数。还将学习如何将程序拆分为多个部分,使得代码的结构更加合理。脚本编写了解如何编写脚本,学习用来开发程序的不同环境,有助于之后与他人合作编程;NumPy在这节课,你将学习 NumPy 基本知识,以及如何使用 NumPy 创建和操作数组。Pandas在这节课,你将学习 Pandas Series 和 DataFrame 基本知识,以及如何使用它们加载和处理数据。
先修知识:SQL 与数据分析
基本 SQL学习在单个表中使用 SQL 的基础知识;学习以许多不同方式过滤表的关键命令;SQL JOIN学习如何将多个表格中的数据组合到一起;SQL 聚合学习如何使用 SUM、AVG 和 COUNT 等 SQL 函数整合数据。此外,CASE、HAVING 和 DATE 函数是非常强大的问题解决工具;SQL 子查询和临时表格学习使用子查询来回答更加负责的商业问题;SQL 数据清理数据清理是数据分析的重要步骤,你在本课中将会学到如何使用 SQL 进行数据清理;窗口函数学习强大的数据分析工具——窗口函数;SQL 全连接与性能优化学习 SQL 的高级用法,了解如何在大数据上使用查询语句;
先修知识:命令行
Shell 讲习班Unix shell 对所有领域的开发工程师来说都是一款强大的工具。在这节课,我们将快速讲解下在计算机上使用该工具的基本知识。
先修知识:使用 Git 和 GitHub 进行版本控制
使用 Git 和 GitHub 进行版本控制
了解版本控制的优势并安装 Git;
学习如何创建仓库和其他常用操作;
学习如何利用 git 的分支实现隔离开发过程;
学习如何在 GitHub 上创建远程仓库,以及如何获取和推送对远程仓库的更改;
选修内容:Python 与数据可视化
数据分析中的数据可视化了解数据可视化成为数据分析重要组成部分的原因以及它的适用范围。可视化的设计了解可视化设计的元素,尤其要避免使用那些可能导致不良可视化的元素;单变量数据探索学习如何利用 matplotlib 和 seaborn 可视化单变量数据;双变量数据探索学习使用 matplotlib 和 seaborn 探索双变量数据,根据对变量的理解,构建变量之间的关系;多变量数据探索学习如何使用 Matplotlb 和 Seaborn 可视化多个变量(三个或三个以上)之间的关系;解释性数据可视化学习如何修饰图表让你的信息得到精准地传达;可视化案例分析运用之前学到的关于解释性和探索性可视化的技巧,来探索钻石价格的影响因素;补充主题在本附加课程中,你可以阅读有关本课程的其他可视化方法和图类型的信息。
选修内容:应用统计学
描述统计学学习数据类型,中心度量和统计表达式的基础知识;了解与定量数据相关的离散程度测量,形状和异常值,并学习了解推论统计。录取案例分析学习辛普森悖论,学会提正确的问题。概率利用硬币和骰子获得概率基础知识。二项分布学习概率中最流行的分布之一:二项分布。条件概率并不是所有事件都是独立的。学习相关事件的概率规则。贝叶斯规则学习概率中最流行的一种规则:贝叶斯规则。Python 概率练习利用上节课所学知识,应用到 Python 实践中。正态分布理论学习从掷硬币到正态分布背后的数学知识。抽样分布与中心极限定理学习置信区间和假设检验的基础:抽样分布。
选修内容:线性代数
简介简要了解精彩的线性代数以及为何它是一个很重要的数学工具。向量了解线性代数的基本概念——向量。线性组合了解如何伸缩向量和将向量相加,以及如何可视化求解过程。线性变换和矩阵什么是线性变换,它与矩阵有何直接联系?你将学习如何运用数学知识并可视化这些概念。
选修内容:NLP 基础
NLP 简介了解自然语言模型中文本的表示方式; 使用“Bag-of-Words”、“ TF-IDF”、“ Word2Vec”和“ GloVE”之类的方法来转换文本。Pytorch 实现 RNN 和 LSTM学习如何用代码表示记忆功能。然后在 PyTorch 中定义和训练 RNN 并将它们用于处理序列数据。在线 Lab:Pytorch实现情感分析 RNN实现一个判定影评是正面还是负面影评的情感分析 RNN。线性变换和矩阵什么是线性变换,它与矩阵有何直接联系?你将学习如何运用数学知识并可视化这些概念。
选修内容:卷积神经网络
卷积神经网络卷积神经网络可以识别空间图案。Alexis 和 Cezanne 将介绍卷积神经网络如何帮助我们显著提高图像分类的效果。迁移学习学习如何通过迁移学习将预训练的网络应用到新任务上。权重初始化在这节课,你将学习如何为神经网络设置合适的初始权重。合适的初始权重使神经网络更接近最佳模型。自动编码器自动编码器是用于数据压缩,图像降噪和降维的神经网络。在这里,你将使用 PyTorch 构建自动编码器。
选修内容:Flask 网页部署
网页部署使用Flask,Bootstrap,Plotly和Pandas开发数据仪表板。项目组合练习:部署数据仪表板自定义上一课的数据仪表板,并将仪表板上传到网络。