系列文章目录
第一章 【机器学习】初识机器学习
第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)
第三章 【机器学习】【监督学习】- 支持向量机 (SVM)
第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)
第五章【机器学习】【监督学习】- 决策树 (Decision Trees)
第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)
第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)
第八章【机器学习】【监督学习】-卷积神经网络 (CNN)
第九章【机器学习】【监督学习】-循环神经网络 (RNN)
第十章【机器学习】【监督学习】-线性回归
第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)
第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)
十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)
十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)
十五、【机器学习】【监督学习】- 神经网络回归
十六、【机器学习】【监督学习】- 支持向量回归 (SVR)
十七、【机器学习】【非监督学习】- K-均值 (K-Means)
十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)
二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)
目录
系列文章目录
一、基本定义
(一)、监督学习
(二)、监督学习的基本流程
(三)、监督学习分类算法(Classification)
二、 多项式朴素贝叶斯分类器(Multinomial Naive Bayes)
(一)、定义
(二)、基本概念
(三)、训练过程
1. 计算先验概率
2. 计算条件概率
3. 应用拉普拉斯平滑
4.整体流程概览
(四)、特点
(五)、适用场景
(六)、扩展
三、总结
四、相关书籍介绍
一、基本定义
(一)、监督学习
监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。
(二)、监督学习的基本流程
数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。
(三)、监督学习分类算法(Classification)
定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。
二、 多项式朴素贝叶斯分类器(Multinomial Naive Bayes)
(一)、定义
Multinomial Naive Bayes(多项式朴素贝叶斯分类器)是一种基于贝叶斯定理的分类方法,特别适合处理特征可以被看作是事件出现次数的情况,例如文档分类中词频的计数。在Multinomial Naive Bayes模型中,每个类别下的特征频率独立于其他特征,这是“朴素”假设的由来,尽管这种假设在现实世界中很少成立,但它在很多情况下依然能给出有效的分类结果。
(二)、基本概念
-
贝叶斯定理:Multinomial Naive Bayes的基础是贝叶斯定理,它描述了在给定某些证据的情况下,某个假设的概率。公式为:,其中P(A∣B)是在观测到B的情况下A发生的概率。
-
多项式分布:在Multinomial Naive Bayes中,特征(如单词出现的次数)遵循多项式分布。这意味着,对于给定的文档,每个单词的出现次数被建模为来自一个多项式分布。
-
朴素假设:假定特征之间相互独立,即使在现实中它们可能不是。这个假设简化了模型,使得计算变得可行。
(三)、训练过程
Multinomial Naive Bayes的训练过程主要包括两个关键步骤:计算先验概率和计算条件概率。下面是对这两个步骤的详细解析,以及如何应用拉普拉斯平滑来避免概率估计中的零值问题。
1. 计算先验概率
先验概率是指在看到任何特征之前,每个类别的基础概率。这通常基于训练数据集中各个类别的频率来计算。具体步骤如下:
- 对于每个类别 c,计算该类别样本在训练集中的比例:
这个概率提供了对类别分布的基本了解,是朴素贝叶斯分类器分类决策的重要组成部分。
2. 计算条件概率
条件概率 P(fi∣c) 指的是在给定类别 c 下特征 fi 出现的概率。对于Multinomial Naive Bayes,我们关心的是特征的计数,所以计算条件概率通常涉及以下几个步骤:
- 对于每个类别 c,统计特征 fi 在该类别样本中出现的总次数。
- 同时,记录该类别下所有特征的总出现次数nc。
- 最后,计算条件概率:
其中,V 是词汇表大小(特征空间的维度),α 是拉普拉斯平滑系数,通常设置为1。
3. 应用拉普拉斯平滑
在计算条件概率时,拉普拉斯平滑(或称为加一平滑)是非常重要的,尤其是当训练数据集较小,某些特征在某些类别中未出现时。如果不使用平滑,那么 P(fi∣c) 将会是0,这会导致在乘法过程中整个条件概率变为0,即使其他特征给出了非零的概率。
通过在分子和分母上添加一个小的正值 α,我们可以避免这种情况。这样即使某个特征在训练数据中未出现,我们也能得到一个非零的概率估计,从而不会使整个分类器失效。
4.整体流程概览
- 初始化:设置每个类别的先验概率为0,初始化每个特征的条件概率。
- 遍历训练集:对于每个样本,更新对应类别的先验概率和特征的条件概率计数。
- 计算最终概率:使用上述公式计算先验概率和条件概率。
- 应用平滑:在计算条件概率时应用拉普拉斯平滑,以避免零概率问题。
- 保存模型:将计算得到的先验概率和条件概率存储下来,供后续的分类预测使用。
训练过程完成后,Multinomial Naive Bayes模型可以用于新的输入数据的分类,通过计算每个类别的后验概率,并选择具有最高后验概率的类别作为预测结果。由于其简单性和计算效率,Multinomial Naive Bayes在文本分类和其他特征可视为计数的场景中非常流行。
(四)、特点
- 快速且简单:Multinomial Naive Bayes的训练和预测都非常快,因为它只需要简单的概率计算。
- 对输入数据要求低:不需要特征缩放或归一化,因为它是基于频率的。
- 处理高维特征:非常适合处理具有大量特征的数据,如文本数据,即使特征间可能存在依赖关系。
(五)、适用场景
- 文本分类:如情感分析、垃圾邮件过滤、新闻分类等。
- 推荐系统:基于用户的历史行为预测其可能感兴趣的内容。
- 生物信息学:如基因表达数据的分类。
(六)、扩展
- Bernoulli Naive Bayes:与Multinomial Naive Bayes类似,但用于二进制特征,即特征要么存在要么不存在,而不是计算其频率。
- Gaussian Naive Bayes:用于连续特征,假设特征服从高斯分布。
- Kernel Naive Bayes:使用核函数来处理非线性关系,可以处理更复杂的特征分布。
三、总结
Multinomial Naive Bayes因其简单性和在文本分类等领域的有效性而广受欢迎,尽管它的“朴素”假设在实际中往往不成立,但在很多情况下,它仍然能提供令人满意的结果。
四、相关书籍介绍
《Python机器学习算法》这本书是由赵志勇编写,由电子工业出版社出版的一本关于机器学习的入门书籍,出版时间为2017年7月。该书的特点是结合理论与实践,旨在帮助读者不仅理解机器学习算法的理论基础,而且能够动手实践,最终熟练掌握算法的应用。以下是本书的主要内容和适用读者群体的总结:
内容概览
本书分为六个主要部分:
- 基本概念:介绍监督学习、无监督学习和深度学习的基本概念。
- 分类算法:包括Logistic回归、Softmax Regression、Factorization Machine、支持向量机(SVM)、随机森林和BP神经网络等。
- 回归算法:涵盖线性回归、岭回归和CART树回归。
- 聚类算法:如K-Means、Mean Shift、DBSCAN和Label Propagation算法。
- 推荐算法:基于协同过滤、矩阵分解和基于图的推荐算法。
- 深度学习:介绍AutoEncoder和卷积神经网络(CNN)。
此外,本书还特别安排了一章来讲解算法在具体项目中的实践案例,以及附录部分介绍了Python语言、numpy库和TensorFlow框架的使用方法。
适用读者
这本书适合以下几类读者:
- 机器学习初学者:书中从算法原理出发,逐步深入,适合没有机器学习背景的读者入门。
- 具有一定项目经验的读者:书中不仅有理论介绍,还有大量实践代码,可以帮助已有一定经验的读者深化理解,提升技能。
- 对推荐系统、广告算法和深度学习感兴趣的读者:书中详细介绍了这些领域的实用算法,有助于读者在这些方向上进行深入研究。
总之,《Python机器学习算法》是一本全面介绍机器学习算法的书籍,它兼顾理论与实践,无论是对初学者还是有一定经验的读者,都能从中找到适合自己的内容。
书籍下载链接:
链接:https://pan.baidu.com/s/1ngX9yoC1HMZ2ORmHvSEtlA?pwd=0qbm
提取码:0qbm