当前位置: 首页 > 项目管理 > 研发项目 > Python机器学习算法实战
【课程目标】
本课程为高级课程,专注于机器学习算法,原理,以及算法实现及优化。
**本课程的学习,达到如下目的:
1、 熟悉常见的机器学习的算法。
2、 掌握机器学习的算法原理,以及数据推导。
3、 学会使用Python来实现机器学习算法,以及优化算法。
4、 掌握scikit-learn扩展库来实现机器学习算法。
【授课时间】
2-3天时间
【授课对象】
IT系统部、大数据系统开发部、大数据建模等IT技术人员。
【学员要求】
本课程只讲算法实现,不涉及完整的数据建模和模型使用,所以要求学员之前已经掌握数据建模基础,熟悉建模过程。
1、 每个学员自备一台便携机(必须)。
2、 要求有Python开发基础,事先安装Python 3.9版本以上。
3、 要求有基本的数据分析和数据挖掘的知识。
注:讲师现场提供开源的安装程序、扩展库,以及现场分析的数据源。
【授课方式】
机器学习任务 算法原理 数学推导 Python实现
从任务出发,了解算法原理,以及数学推导过程,全过程演练操作,让学员在分析、分享、讲授、总结、自我实践过程中获得能力提升。
【课程大纲】
**部分: 机器学习基础
1、 机器学习简介
2、 机器学习的种类
Ø 监督学习/无监督学习/半监督学习/强化学习
Ø 批量学习和在线学习
Ø 基于实例与基于模型
3、 机器学习的主要战挑
Ø 数据量不足
Ø 数据质量差
Ø 无关特征
Ø 过拟合/拟合不足
4、 机器学习任务
Ø 监督:分类、回归
Ø 无监督:聚类、降维、关联规则
5、 机器学习基本过程
6、 机器学习常用库
第二部分: 回归算法实现
1、 建模的本质,其实是一个**优化问题
2、 回归模型的基础
3、 基本概念:损失函数
4、 线性回归常用算法
Ø 普通**小二乘法OLS
Ø 梯度下降算法
Ø 牛顿法/拟牛顿法
5、 **小二乘法
a) 数学推导
b) OLS存在的问题
6、 过拟合解决方法:正则化
Ø 岭回归(Ridge)
Ø 套索回归Lasso
Ø ElasticNet回归
Ø 各种算法的适用场景
7、 超大规模数据集的回归模型:迭代算法
Ø 梯度概念
Ø 梯度下降/上升算法
Ø 批量梯度BGD/随机梯度SGD/小批量梯度MBGD
Ø 学习率的影响
Ø 早期停止法
8、 梯度算法的关键问题
9、 牛顿法/拟牛顿法
Ø 泰勒公式(Taylor)
Ø 牛顿法(Newton)
Ø 拟牛顿法(Quasi-Newton)的优化
² DFP/BFGS/L-BFGS
10、 算法比较
第三部分: 逻辑回归算法
1、 逻辑回归基础
2、 LR的常用算法
Ø **大似然估计法
Ø 梯度算法
Ø 牛顿法
3、 **大似然估计法
Ø 似然函数/损失函数
Ø 数学推导
4、 模型优化
Ø 迭代样本的随机选择
Ø 变化的学习率
5、 逻辑回归 正则项
6、 求解算法与惩罚项的关系
7、 多元逻辑回归处理
Ø ovo
Ø ovr
Ø 优缺点比较
8、 逻辑回归建模实战
案例:用sklearn库实现银行贷款违约预测
案例:订阅者用户的典型特征(二元逻辑回归)
案例:通信套餐的用户画像(多元逻辑回归)
第四部分: 决策树算法
1、 决策树简介
演练:识别银行欠货风险,提取欠贷者的特征
2、 决策树的三个关键问题
Ø **优属性选择
² 熵、基尼系数
² 信息增益、信息增益率
Ø 属性**划分
² 多元划分与二元划分
² 连续变量**优划分
Ø 决策树修剪
² 剪枝原则
² 预剪枝与后剪枝
3、 构建决策树的算法
Ø ID3、C4.5、C5.0
Ø CART
4、 决策树的超参优化
5、 决策树的解读
6、 决策树建模过程
案例:商场酸奶购买用户特征提取
案例:客户流失预警与客户挽留
案例:识别拖欠银行货款者的特征,避免不良货款
案例:识别电信诈骗者嘴脸,让通信更安全
案例:电力窃漏用户自动识别
第五部分: 神经网络算法
1、 神经网络简介(ANN)
2、 神经元基本原理
Ø 加法器
Ø 激活函数
3、 神经网络的结构
Ø 隐藏层数量
Ø 神经元个数
4、 神经网络的建立步骤
5、 神经网络的关键问题
6、 BP算法实现
7、 MLP多层神经网络
8、 学习率的设置
案例:评估银行用户拖欠货款的概率
案例:神经网络预测产品销量
第六部分: 线性判别算法
1、 判别分析简介
2、 判别分析算法
Ø 中心和方差
Ø 类间散席Sb
Ø 类内散席Sw
3、 特征值和特征向量
4、 多分类LDA算法
5、 算法实战
案例:MBA学生录取判别分析
案例:上市公司类别评估
第七部分: **近邻算法(KNN)
1、 KNN的基本原理
2、 K近邻的关键问题
Ø 距离公式
Ø 投票机制
3、 KNN算法实现
Ø Brute(蛮力计算)
Ø Kd_tree(KD树)
Ø Ball_tre(球树)
4、 算法比较
第八部分: 贝叶斯算法(NBN)
1、 贝叶斯简介
2、 贝叶斯分类原理
Ø 先验概率和后验概率
Ø 条件概率和类概率
3、 常见贝叶斯网络
4、 计算类别属性的条件概率
5、 估计连续属性的条件概率
6、 预测分类概率(计算概率)
7、 拉普拉斯修正
案例:评估银行用户拖欠货款的概率
第九部分: 支持向量机算法(SVM)
1、 支持向量机简介
Ø 适用场景
2、 支持向量机原理
Ø 支持向量
Ø **大边界超平面
3、 线性不可分处理
Ø 松弛系数
4、 非线性SVM分类
5、 常用核函数
Ø 线性核函数
Ø 多项式核
Ø 高斯RBF核
Ø 核函数的选择原则
6、 SMO算法
第十部分: 模型集成优化篇
1、 模型的优化思想
2、 集成模型的框架
Ø Bagging
Ø Boosting
Ø Stacking
3、 集成算法的关键过程
Ø 弱分类器如何构建
Ø 组合策略:多个弱学习器如何形成强学习器
4、 Bagging集成算法
Ø 数据/属性重抽样
Ø 决策依据:少数服从多数
Ø 随机森林RandomForest
5、 Boosting集成算法
Ø 基于误分数据建模
Ø 样本选择权重更新
Ø 决策依据:加权投票
Ø AdaBoost模型
6、 GBDT模型
7、 XGBoost模型
8、 LightGBM模型
第十一部分: 聚类分析(客户细分)实战
1、 聚类基本原理
2、 K均值聚类算法
Ø K均值算法
3、 距离计算公式
Ø 闵可夫斯基距离(Minkowski Distance)
Ø 曼哈顿距离(Manhattan Distance)
Ø 欧氏距离(Euclidean Distance)
Ø 切比雪夫距离(Chebyshev Distance)
Ø 余弦距离(Cosine)
Ø Pearson相似距离
Ø 马哈拉诺比斯距离(Mahalanobis)
Ø 汉明距离(Hamming distance)
Ø 杰卡德相似系数(Jaccard similarity coefficient)
Ø 相对熵(K-L距离)
4、 K均值算法的关键问题
Ø 初始中心的选取方式
Ø **优K值的选取
5、 聚类算法的评价方法
Ø Elbow method(手肘法)
Ø Calinski-Harabasz Index(CH准则法)
Ø Silhouette Coefficient(轮廓系数法)
Ø Gap Statistic(间隔统计量法)
Ø Canopy算法
6、 算法实战
案例:使用SKLearn实现K均值聚类
第十二部分: 关联规则算法
1、 关联规则基本原理
2、 常用关联规则算法
Ø Apriori算法
² 发现频繁集
² 生成关联规则
Ø FP-Growth算法
² 构建FP树
² 提取规则
3、 算法实战
案例:使用apriori库实现关联分析
案例:中医证型关联规则挖掘
第十三部分: 协同过滤算法
1、 协同过滤基本原理
2、 协同过滤的两各类型
Ø 基于用户的协同过滤UserCF
Ø 基于物品的协同过滤ItemCF
3、 相似度评估常用公式
4、 UserCF算法实现
Ø 计算用户间的兴趣相似度
Ø 筛选前K个相似用户
Ø 合并相似用户购买过的物品集
Ø 剔除该用户已经购买过的产品,得到候选物品集
Ø 计算该用户对物品的喜欢程度,物品集排序
Ø 优先推荐前N个物品
5、 ItemCF算法实现
Ø 计算物品间的相似度
Ø 筛选前K个喜欢的物品
Ø 合并与前K个物品相似的前L个物品集
Ø 剔除该用户已经购买过的物品,得到候选物品集
Ø 计算该用户到候选物品的喜爱程度,物品排序
Ø 优先推荐前N个物品
6、 关于冷启动问题
7、 协同过滤算法比较
结束:课程总结与问题答疑。
""