【课程目标】
本课程为高级课程,专注于机器学习算法,原理,以及算法实现及优化。
通过本课程的学习,达到如下目的:
1、 熟悉常见的机器学习的算法。
2、 掌握机器学习的算法原理,以及数据推导。
3、 学会使用Python来实现机器学习算法,以及优化算法。
4、 掌握scikit-learn扩展库来实现机器学习算法。
【授课时间】
2-3天时间
【授课对象】
IT系统部、大数据系统开发部、大数据建模等IT技术人员。
【学员要求】
课程为实战课程,要求:
1、 每个学员自备一台便携机(必须)。
2、 要求有Python开发基础。
3、 要求有基本的数据分析和数据挖掘的知识。
注:讲师现场提供开源的安装程序、扩展库,以及现场分析的数据源。
【授课方式】
机器学习任务 + 算法原理 + 数学推导 + Python实现
从任务出发,了解算法原理,以及数学推导过程,全过程演练操作,让学员在分析、分享、讲授、总结、自我实践过程中获得能力提升。
【课程大纲】
第一部分: 机器学习基础
1、 机器学习简介
2、 机器学习的种类
Ø 监督学习/无监督学习/半监督学习/强化学习
Ø 批量学习和在线学习
Ø 基于实例与基于模型
3、 机器学习的主要战挑
Ø 数据量不足
Ø 数据质量差
Ø 无关特征
Ø 过拟合/拟合不足
4、 机器学习任务
Ø 监督:分类、回归
Ø 无监督:聚类、降维、关联规则
5、 机器学习基本过程
6、 模型评估指标
Ø 回归:R^2, MAE/MSE/RMSE/MAPE
Ø 分类:Acc,Recall,Precision,F1,ROC曲线,AUC
7、 模型评估方法
Ø 训练集/验证集
Ø 交叉验证
8、 过拟合评估
Ø 过拟合检验
Ø 过拟合解决方法:正则化
Ø 正则化:
² L1正则项
² L2正则项
9、 模型参数优化
Ø 交叉验证
Ø 网格搜索GridSearchCV
Ø 随机搜索RandomizeSearchCV
10、 机器学习常用库
第二部分: 回归任务算法
1、 线性回归模型
Ø 一元线性回归
Ø 多元线性回归
2、 线性回归算法
Ø 损失函数
Ø 普通最小二乘法OLS
3、 欠拟合解决方法
Ø 多项式回归
4、 过拟合的优化算法:正则化
Ø 岭回归(Ridge)
Ø 套索回归Lasso
Ø ElasticNet回归
Ø 各种算法的适用场景
5、 超参优化
6、 大规模数据集回归:迭代算法
Ø 随机梯度下降
Ø 批量梯度下降
Ø 小批量梯度下降
7、 梯度算法的关键问题
第三部分: 逻辑回归
1、 逻辑回归模型
2、 逻辑回归的算法
Ø 原理
Ø 数学推导
3、 正则项处理
4、 其它优化:
Ø 迭代样本的随机选择
Ø 变化的学习率
5、 求解算法与惩罚项的关系
6、 多分类处理
Ø ovo
Ø ovr
第四部分: 线性判别分析
1、 判别分析简介
Ø 基本思想
2、 判别分析算法
Ø 数学推导
Ø 类间/类内散度矩阵
3、 多分类处理
Ø 迭代样本的随机选择
Ø 变化的学习率
4、 求解算法与惩罚项的关系
第五部分: 支持向量机
1、 支持向量机简介
Ø 作用:回归、分类、异常检测
Ø 适用场景
2、 线性SVM分类
Ø 基本原理
Ø 支持向量
Ø SMO算法
3、 非线性SVM分类
4、 常用核函数
Ø 线性核函数
Ø 多项式核
Ø 高斯RBF核
Ø 核函数的选择原则
5、 线性不可分处理:松弛系数
第六部分: 决策树
1、 决策树模型
2、 构建决策树的三个关键问题
3、 决策树的训练
4、 决策树的可视化
5、 决策树常用算法
Ø ID5
Ø CART
6、 正则化参数
7、 决策树预测的基本步骤
第七部分: 神经网络
1、 神经网络模型
Ø 工作原理:加法器、激活函数
Ø 适用场景
2、 神经网络的建立步骤
3、 BP算法实现
4、 多层感知器MLP
Ø 隐藏层的数量
Ø 神经元的个数
第八部分: 朴素贝叶斯
1、 贝叶斯简介
Ø 条件概率
Ø 常见贝叶斯网络
2、 朴素贝叶斯
Ø 算法实现
Ø 连续变量处理:高斯分布
3、 拉普拉斯修正
第九部分: 集成算法
1、 分类模型优化思想
2、 优化框架
Ø Bagging
Ø Boosting
3、 Bagging集成
Ø 原理
Ø 随机森林
4、 Boosting集成
Ø 原理
Ø AdaBoost
第十部分: 无监督算法
结束:课程总结与问题答疑。