作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。
多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。
欢迎 点赞✍评论⭐收藏
人工智能领域知识
链接 | 专栏 |
---|---|
人工智能专业知识学习一 | 机器学习专栏 |
人工智能专业知识学习二 | 机器学习专栏 |
特征选择(Feature Selection)和特征提取(Feature Extraction)是在机器学习和数据分析中常用的方法,用于减少特征维度、提取有用信息和改善模型性能。
1.特征选择(Feature Selection):特征选择是从原始数据集中选择最具有预测能力的特征子集的过程。通过特征选择,可以减少特征维度,提高模型的简洁性和解释性,并降低训练和预测的计算成本。常见的特征选择方法包括:
2.特征提取(Feature Extraction):特征提取是将原始特征转换为新的、更具有表达能力的特征表示的过程。通过特征提取,可以发现数据中的潜在结构和相关性,减少冗余信息,并提高模型的泛化能力。常见的特征提取方法包括:
特征选择和特征提取都是为了提高模型的性能和效率,但它们的方法和目的略有不同。特征选择关注于从原始特征中选择具有较高预测能力的特征,而特征提取则是在保留原始特征信息的基础上,通过转换或降维等方法提取更有表达能力的特征。这两种方法可以单独应用,也可以结合使用,以获得更好的结果。具体选择哪种方法取决于数据的性质和问题的需求。
正则化(Regularization)是一种用于控制模型复杂度的技术,通过在模型的损失函数中引入额外的惩罚项来避免过拟合问题。
在机器学习中,模型的复杂度往往与模型的参数数量和取值范围有关。当模型过于复杂时,它可能会过度拟合训练数据,对于噪声和细小变化过于敏感,导致在新数据上的预测性能下降。
为了解决过拟合问题,正则化通过在损失函数中引入一个正则化项,来约束模型的参数,降低模型的复杂度。常见的正则化方式有 L1 正则化和 L2 正则化:
L1 正则化:L1 正则化将模型的正则化项设置为参数的绝对值之和的乘以一个正则化系数。它的效果是使得部分参数变为零,从而达到特征选择的效果。L1 正则化可以使得模型更加稀疏,即只有少数重要的特征对模型的预测起到贡献。
L2 正则化:L2 正则化将模型的正则化项设置为参数的平方之和的乘以一个正则化系数。与 L1 正则化不同,L2 正则化会对所有参数进行惩罚。L2 正则化优化的是模型的平方和,并且对于大的参数值施加更重的惩罚,因此可以控制模型参数的平滑程度。
正则化可以通过在优化算法中将正则化项加到损失函数中来实现。正则化的影响力由正则化系数调整,较大的正则化系数将对模型的参数施加更强的限制。
通过适当的正则化,可以提高模型的泛化能力,减少过拟合的风险。然而,过大的正则化系数也可能导致欠拟合问题。因此,在应用正则化时,需要选择合适的正则化系数,进行调参来获得最佳的模型性能。
ROC 曲线(Receiver Operating Characteristic curve)是一种用于评估二分类模型性能的工具,它显示了在不同分类阈值下真阳性率(True Positive Rate,也称为召回率)和假阳性率(False Positive Rate)之间的关系。
ROC 曲线的横轴是假阳性率(FPR),定义为实际为负样本但被错误地预测为正样本的比例。纵轴是真阳性率(TPR),定义为实际为正样本且被正确地预测为正样本的比例,即召回率。
ROC 曲线的形状、位置和面积可以提供模型在不同分类阈值下的性能信息。更接近左上角的曲线表示模型具有更好的分类能力。一个理想的模型将会经过左上角(0, 1)的点,这代表着没有假阳性的同时实现了完美的真阳性。
AUC(Area Under the ROC Curve)是 ROC 曲线下的面积,用来衡量模型在所有分类阈值下的平均性能。AUC 的取值范围在 0 到 1 之间,其中 0.5 表示模型的性能与随机猜测相当,而 1 表示模型完美地分类样本。通常来说,AUC 越大,模型的性能越好。
ROC 曲线和 AUC 提供了一种综合性的性能评估,尤其适用于不同模型之间的比较。在实际应用中,可以根据具体需求选择合适的分类阈值,根据 ROC 曲线和 AUC 来确定模型的最佳性能和阈值选择策略。
需要注意的是,ROC 曲线和 AUC 在有些情况下可能会存在一些局限性,特别是在处理数据不平衡、丢失重要信息或特定问题领域的场景中。因此,结合其他评估指标和领域知识,对模型进行全面的评估和比较是很重要的。
混淆矩阵(Confusion Matrix),也称为误差矩阵,是用于衡量二分类模型在测试数据上预测结果的性能的一种表格形式的矩阵。它将预测结果与真实类标进行比较,展示了模型的分类准确性。
混淆矩阵的四个重要指标包括:
基于混淆矩阵,可以计算以下指标:
精确度(Precision):表示模型预测为正类的样本中,真正为正类的比例,计算公式为 TP / (TP + FP)。精确度衡量了模型的预测正样本的准确率。
召回率(Recall)或真阳性率(True Positive Rate,TPR):表示模型正确预测为正类的样本在所有正类样本中的比例,计算公式为 TP / (TP + FN)。召回率衡量了模型对于正样本的识别能力。
F1 分数:为精确度和召回率的调和平均值,综合考虑了两者的权衡。计算公式为 2 * (精确度 * 召回率) / (精确度 + 召回率)。F1 分数可用作衡量模型在精确度和召回率之间的平衡情况,如果模型在精确度和召回率中均有高得分,则 F1 分数也会较高。
这些指标提供了关于分类模型性能的不同方面的信息。精确度和召回率在不同业务场景中可能有不同的重要性,因此根据实际需求可以选择适合的评估指标或调整分类阈值。
需要注意的是,混淆矩阵和上述指标是用于二分类模型的评估。对于多分类问题,可以对每个类别分别计算混淆矩阵和指标,或使用宏平均或微平均等方法得到整体的评估结果。
互信息(Mutual Information)是一种用来度量两个变量之间相关性的非负值指标。它量化了两个变量之间的相互依赖程度或关联强度。
互信息的定义基于信息论的概念。给定两个随机变量 X 和 Y,它们的互信息表示 Y 的观察结果给予了关于 X 的观察结果多少额外的信息,或者反过来亦然,可以表示为 I(X; Y)。
互信息的计算可以通过联合概率分布和边缘概率分布来完成。具体公式如下:
I(X; Y) = Σ Σ P(x, y) * log(P(x, y) / (P(x) * P(y)))
其中,P(x, y) 是 X 和 Y 同时发生的联合概率,P(x) 和 P(y) 分别是 X 和 Y 的边缘概率。
互信息的值范围是非负的,值越高表示两个变量之间的相关性越强。当互信息等于零时,表示两个变量是独立的。
互信息常被应用于特征选择和特征相关性分析。在特征选择中,可以使用互信息衡量每个特征与目标变量之间的相关性,从而选择具有较高互信息的特征作为有用的特征。在特征相关性分析中,互信息可以帮助了解两个特征之间的关联程度,有助于理解数据的内在结构和相互影响关系。
需要注意的是,互信息对于变量之间的非线性关系和高维数据可能存在一定的限制。在某些情况下,可能需要结合其他的统计方法或考虑更复杂的模型来进一步分析和描述变量之间的关系。
主成分分析(Principal Component Analysis,PCA)是一种常用的无监督学习算法,用于降低高维数据的维度并找到最具代表性的特征。
PCA 主要通过线性变换将原始数据投影到新的坐标系上,新坐标系中的每个维度被称为主成分。这些主成分是原始数据中方差最大的方向,按照方差的降序排列。通过保留前k个主成分,可以将高维数据降低为低维数据,同时尽可能保留原始数据的重要信息。
PCA 的主要步骤如下:
通过使用 PCA,我们可以实现以下目标:
使用 PCA 需要注意一些要点,包括选择适当的主成分数量、数据的线性相关性、数据的分布等,同时 PCA 对非线性和高度相关的数据可能效果不佳,此时可能需要考虑其他降维方法。
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归任务。
SVM 的目标是通过找到一个最优的超平面(二维为直线,三维为平面,更高维为超平面),将不同类别的样本分隔开。在二分类任务中,SVM 根据训练样本的特征向量构建超平面,并希望使得两个不同类别的样本分别位于超平面的两侧,并且使得离超平面最近的样本点到超平面的距离最大化。这些离超平面最近的样本点被称为支持向量,它们决定了超平面的位置和方向。
SVM 的主要特点包括:
除了用于分类任务外,SVM 还可以用于回归任务,称为支持向量回归(Support Vector Regression,SVR)。SVR 的目标是找到一个最优的超平面,使得大部分样本点在超平面的 ε 范围内,并最大化离超平面的样本点个数。
靠近超平面的数据点被称为边界样本,它们对构造合适的决策边界起到关键作用。SVM 主要的挑战之一是选择合适的核函数和参数,以及处理高维和大规模数据的效率。选择合适的核函数和参数可以显著影响 SVM 的性能和泛化能力。
决策树(Decision Tree)是一种常用的监督学习算法,用于分类和回归任务。它通过构建一个树状结构模型来进行决策,每个内部节点表示一个特征或属性,叶节点表示类别或值。
决策树的工作原理如下:
决策树的优点包括:
然而,决策树也存在一些缺点:
为了克服决策树的局限性,还有一些改进的决策树算法,如随机森林(Random Forest)和梯度提升决策树(Gradient Boosted Decision Trees)等。这些算法通过集成多个决策树来提高模型的性能和鲁棒性。
随机森林(Random Forest)是一种集成学习(Ensemble Learning)算法,基于决策树构建而成。它结合了多个决策树的预测来做出最终的决策,并且在构建每个决策树时采用了随机性。
随机森林的基本原理是:
随机森林的优点包括:
随机森林的一些扩展和改进包括:
总结来说,随机森林是一种强大的机器学习算法,通过集成多个决策树的预测结果,充分利用了数据集中的信息,同时减少了决策树的过拟合风险。它适用于分类和回归问题,可以应用于各种领域的数据分析和预测任务。
朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的简单且常用的分类算法。它假设特征之间相互独立,即"朴素"的假设。
朴素贝叶斯的工作过程如下:
朴素贝叶斯的优点包括:
然而,朴素贝叶斯也具有一些限制:
尽管朴素贝叶斯算法在现实应用中可能存在一些限制,但它仍然是一个简单而有效的分类算法,广泛应用于文本分类、垃圾邮件过滤、情感分析等领域。