教程总体简介:机器学习(算法篇 2 ) 1.1 朴素贝叶斯算法简介 1.2 概率基础复习 学习目标 1.概率定义 2.案例:判断女神对你的喜欢情况 3.联合概率、条件概率与相互独立 4.贝叶斯公式 4.1 公式介绍 4.2 案例计算 4.3 文章分类计算 5 小结 1.3 案例:商品评论情感分析 1.api介绍 HMM模型 4.7 HMM模型API介绍 1 API的安装: 2 hmmlearn介绍 3 MultinomialHMM实例 集成学习进阶 5.1 xgboost算法原理 1 最优模型的构建方法 2 XGBoost的目标函数推导 2.1 目标函数确定 2.2 CART树的介绍 2.3 树的复杂度定义 4 XGBoost与GDBT的区别 5.4 otto案例介绍 -- Otto Group Product Classification Challenge【xgboost实现】 1 背景介绍 2 思路分析 3 部分代码实现 5.5 lightGBM 1 写在介绍lightGBM之前 1.2 AdaBoost算法 1.3 GBDT算法以及优缺点 1.4 启发 5.8 《绝地求生》玩家排名预测 1 项目背景 2 数据集介绍 3 项目评估方式 5.9 stacking算法基本思想 1 集成学习基本复习 3 stacking的特点 5.10 住房月租金预测 2 任务 3 数据 4 评分标准 向量与矩阵的范数 1.向量的范数 朗格朗日乘子法 Huber Loss 极大似然函数取对数的原因 1 减少计算量 2 利于结果更好的计算 3 取对数并不影响最后结果的单调性 朴素贝叶斯 2.2 SVM算法api初步使用 支持向量机 2.3 SVM算法原理 1 定义输入数据 2 线性可分支持向量机 3 SVM的计算过程与算法步骤 3.1 推导目标函数 4 举例 2.4 SVM的损失函数 小结 2.8 案例:数字识别器 3 案例实现 3.1 初识EM算法 3.2 EM算法介绍 1 极大似然估计 1.1 问题描述 1.2 用数学知识解决现实问题 1.3 最大似然函数估计值的求解步骤 2 EM算法实例描述 EM算法 4.1 马尔科夫链 1 简介 2 经典举例 4.2 HMM简介 1 简单案例 2 案例进阶 2.2 问题解决 4.4 前向后向算法评估观察序列概率 1 回顾HMM问题一:求观测序列的概率 2 用前向算法求HMM观测序列的概率 2.1 流程梳理 3 HMM前向算法求解实例 4.5 维特比算法解码隐藏状态序列 1 HMM最可能隐藏状态序列求解概述 2 维特比算法概述 4.6 鲍姆-韦尔奇算法简介 定位 目标 K-近邻算法 1.3 距离度量 1 欧式距离(Euclidean Distance): 3 切比雪夫距离 (Chebyshev Distance): 4 闵可夫斯基距离(Minkowski Distance): 5 标准化欧氏距离 (Standardized EuclideanDistance): 7 汉明距离(Hamming Distance)【了解】: 逻辑回归 3.5 ROC曲线的绘制 1 曲线绘制 1.1 如果概率的序列是(1:0.9,2:0.7,3:0.8,4:0.6,5:0.5,6:0.4)。 2 意义解释 决策树算法 4.2 决策树分类原理 1 熵 1.1 概念 2 决策树的划分依据一----信息增益 2.1 概念 5 小结 5.1 常见决策树的启发函数比较 5.2 决策树变量的两种类型: 5.3 如何评估分割点的好坏? 4.3 cart剪枝 1 为什么要剪枝 2 常用的减枝方法 2.1 预剪枝 2.2后剪枝: 4.4 特征工程-特征提取 1 特征提取 4.5 决策树算法api 4.6 案例:泰坦尼克号乘客生存预测 4 决策树可视化 4.1 保存树的结构到dot文件 4.2 网站显示结构 5.2 Bagging 1 Bagging集成原理 2 随机森林构造过程 3 随机森林api介绍 4 随机森林预测案例 聚类算法 6.3 聚类算法实现流程 1 k-means聚类步骤 6.4 模型评估 1 误差平方和(SSE \The sum of squares due to error): 2 “肘”方法 (Elbow method) — K值确定 3 轮廓系数法(Silhouette Coefficient) 4 CH系数(Calinski-Harabasz Index) 6.5 算法优化 1 Canopy算法配合初始聚类 1.2 Canopy算法的优缺点 3 二分k-means 4 k-medoids(k-中心聚类算法) 5 Kernel k-means(了解) 6 ISODATA(了解) 7 Mini Batch K-Means(了解) 6.6 特征降维 1 降维 1.2 降维的两种方式 2 特征选择 2.1 定义 2.2 方法 2.3 低方差特征过滤 3 主成分分析 3.1 什么是主成分分析(PCA) 3.2 API 3.3 数据计算 6.7 案例:探究用户对物品类别的喜好细分 1 需求 3 完整代码 6.8 算法选择指导 正规方程的另一种推导方式 1.损失表示方式 梯度下降法算法比较和进一步优化 1 算法比较 2 梯度下降优化算法 维灾难 1 什么是维灾难 2 维数灾难与过拟合 1.4 k值的选择 1 K值选择说明 1.5 kd树 2 构造方法 1.6 案例:鸢尾花种类预测--数据集介绍 2 scikit-learn中数据集介绍 2.2 sklearn数据集返回值介绍 2.3 查看数据分布 2.4 数据集的划分 1.9 练一练 同学之间讨论刚才完成的机器学习代码,并且确保在自己的电脑是哪个运行成功 1.10 交叉验证,网格搜索 1 什么是交叉验证(cross validation) 1.2 为什么需要交叉验证 2 什么是网格搜索(Grid Search) 3 交叉验证,网格搜索(模型选择与调优)API: 4 鸢尾花案例增加K值调优 1.11 案例2:预测facebook签到位置 2.1 线性回归简介 1 线性回归应用场景 2 什么是线性回归 2.2 线性回归的特征与目标的关系分析 2.3 数学:求导 1 常见函数的导数 2 导数的四则运算 3 练习 4 矩阵(向量)求导 [了解] 线性回归 2.4 线性回归的损失和优化 1 损失函数 3 梯度下降和正规方程的对比 2.5 梯度下降法介绍 1 全梯度下降算法(FG) 3 小批量梯度下降算法(mini-batch) 2.7 案例:波士顿房价预测 3 回归性能评估 2.8 欠拟合和过拟合 2 原因以及解决办法 3 正则化 3.1 什么是正则化 2.9 正则化线性模型 1 Ridge Regression (岭回归,又名 Tikhonov regularization) 2 Lasso Regression(Lasso 回归) 3 Elastic Net (弹性网络) 3.1 逻辑回归介绍 2 逻辑回归的原理 2.2 激活函数 3 损失以及优化 3.1 损失 3.3 案例:癌症分类预测-良/恶性乳腺癌肿瘤预测 3.4 分类评估方法 2 ROC曲线与AUC指标 2.1 TPR与FPR 2.3 AUC指标 2.4 AUC计算API
完整笔记资料代码:https://gitee.com/yinuo112/AI/tree/master/机器学习/嘿马机器学...
感兴趣的小伙伴可以自取哦~
全套教程部分目录:
部分文件图片:
朴素贝叶斯
学习目标
- 说明条件概率与联合概率
- 说明贝叶斯公式、以及特征独立的关系
- 记忆贝叶斯公式
- 知道拉普拉斯平滑系数
- 应用贝叶斯公式实现概率的计算
- 会使用朴素贝叶斯对商品评论进行情感分析
1.4 朴素贝叶斯算法总结
1.朴素贝叶斯优缺点
优点:
- 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率
- 对缺失数据不太敏感,算法也比较简单,常用于文本分类
- 分类准确度高,速度快
缺点:
- 由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好
- 需要计算先验概率,而先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳;
2.朴素贝叶斯内容汇总
2.1 NB的原理
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。
- 对于给定的待分类项<span>xxx</span>
- 即:在此项出现的条件下各个目标类别出现的概率,将后验概率最大的类作为<span>xxx</span>
2.2 朴素贝叶斯朴素在哪里?
在计算条件概率分布P(X=x∣Y=c_k)时,NB引入了一个很强的条件独立假设,即,当Y确定时,X的各个特征分量取值之间相互独立。
2.3 为什么引入条件独立性假设?
为了避免贝叶斯定理求解时面临的组合爆炸、样本稀疏问题。
假设条件概率分为
时出现概率为0的情况怎么办?
解决这一问题的方法是采用贝叶斯估计。
简单来说,引入λ,
- 当λ=0时,就是普通的极大似然估计;
- 当λ=1时称为拉普拉斯平滑。
2.5 为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍能取得较好的效果?
- 人们在使用分类器之前,首先做的第一步(也是最重要的一步)往往是特征选择,这个过程的目的就是为了排除特征之间的共线性、选择相对较为独立的特征;
- 对于分类任务来说,只要各类别的条件概率排序正确,无需精准概率值就可以得出正确分类;
- 如果属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算复杂度的同时不会对性能产生负面影响。
2.6 朴素贝叶斯与LR的区别?
1)简单来说:
区别一:
朴素贝叶斯是生成模型,
- 根据已有样本进行贝叶斯估计学习出先验概率P(Y)和条件概率P(X|Y),
- 进而求出联合分布概率P(XY),
- 最后利用贝叶斯定理求解P(Y|X),
而LR是判别模型,
- 根据极大化对数似然函数直接求出条件概率P(Y|X);
从概率框架的角度来理解机器学习;主要有两种策略:
第一种:给定 x, 可通过直接建模 P(c |x) 来预测 c,这样得到的是"判别式模型" (discriminative models);
第二种:也可先对联合概率分布 P(x,c) 建模,然后再由此获得 P(c |x), 这样得到的是"生成式模型" (generative models) ;
显然,前面介绍的逻辑回归、决策树、都可归入判别式模型的范畴,还有后面学到的BP神经网络
支持向量机等;
对生成式模型来说,必然需要考虑,
- 而LR则对此没有要求;
区别三:
- 朴素贝叶斯适用于数据集少的情景,
- 而LR适用于大规模数据集。
2)进一步说明:
前者是生成式模型,后者是判别式模型,二者的区别就是生成式模型与判别式模型的区别。
首先,Navie Bayes通过已知样本求得先验概率P(Y), 及条件概率P(X|Y), 对于给定的实例,计算联合概率,进而求出后验概率。也就是说,它尝试去找到底这个数据是怎么生成的(产生的),然后再进行分类。哪个类别最有可能产生这个信号,就属于那个类别。
- 优点: 样本容量增加时,收敛更快;隐变量存在时也可适用。
- 缺点:时间长;需要样本多;浪费计算资源
相比之下,Logistic回归不关心样本中类别的比例及类别下出现特征的概率,它直接给出预测模型的式子。设每个特征都有一个权重,训练样本数据更新权重w,得出最终表达式。
优点:
- 直接预测往往准确率更高;
- 简化问题;
- 可以反应数据的分布情况,类别的差异特征;
- 适用于较多类别的识别。
缺点
- 收敛慢;
- 不适用于有隐变量的情况。
朴素贝叶斯
学习目标
- 说明条件概率与联合概率
- 说明贝叶斯公式、以及特征独立的关系
- 记忆贝叶斯公式
- 知道拉普拉斯平滑系数
- 应用贝叶斯公式实现概率的计算
- 会使用朴素贝叶斯对商品评论进行情感分析
2.1 SVM算法简介
学习目标
- 了解SVM算法的定义
- 知道软间隔和硬间隔
1 SVM算法导入
在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。
魔鬼在桌子上似乎有规律放了两种颜色的球,说:
“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”
。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。
,即寻找到一个超平面使样本分成两类,并且间隔最大。
SVM能够执行线性或非线性分类、回归,甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。
之间找到良好的平衡,这就是软间隔分类。
要避免这些问题,最好使用更灵活的模型。目标是尽可能在保持间隔宽阔和限制间隔违例之间找到良好的平衡,这就是软间隔分类。
较少,但是间隔也较小。
右边使用了低C值,间隔大了很多,但是位于间隔上的实例也更多。看起来第二个分类器的泛化效果更好,因为大多数间隔违例实际上都位于决策边界正确的一边,所以即便是在该训练集上,它做出的错误预测也会更少。
。
3 小结
SVM算法定义【了解】
- 寻找到一个超平面使样本分成两类,并且间隔最大。
硬间隔和软间隔【知道】
硬间隔
- 只有在数据是线性可分离的时候才有效
- 对异常值非常敏感
软间隔
- **尽可能在保持最大间隔宽阔和限制间隔违例之间找到良好
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。