机器学习基本理论
目录[*]机器学习基本理论
[*]机器学习三要素
[*]机器学习方法分类
[*]建模流程
[*]特征工程
[*]什么是特征工程
[*]特征工程有什么
[*]特征选择
[*]特征转换
[*]特征构造
[*]特征降维
[*]常用方法
[*]模型评估和模型选择
[*]损失函数
[*]经验误差
[*]欠拟合和过拟合
[*]正则化
[*]交叉验证
[*]模型求解算法
[*]解析法
[*]梯度下降法
[*]牛顿法和拟牛顿法
[*]模型评价指标
[*]回归模型评价指标
[*]分类模型评价指标
机器学习基本理论
机器学习三要素
机器学习的方法一般主要由三部分构成:模型、策略和算法,可以认为:
机器学习方法 = 模型 + 策略 + 算法
[*]模型(model):总结数据的内在规律,用数学语言描述的参数系统
[*]策略(strategy):选取最优模型的评价准则
[*]算法(algorithm):选取最优模型的具体方法
机器学习方法分类
机器学习的方法种类繁多,并不存在一个统一的理论体系能够涵盖所有内容。从不同的角度,可以将机器学习的方法进行不同的分类:
[*]通常分类:按照有无监督,机器学习可以分为 有监督学习、无监督学习 和 半监督学习,除此之外还有 强化学习。
[*]按模型分类:根据模型性质,可以分为概率模型/非概率模型,线性/非线性模型等。
[*]按学习技巧分类:根据算法基于的技巧,可以分为贝叶斯学习、核方法等。
各种类型的机器学习方法可以用下图汇总展示:
建模流程
以监督学习为例,考察一下机器学习的具体过程。
可以看到,机器学习是由数据驱动的,核心是利用数据来“训练模型”;模型训练的结果需要用一定的方法来进行评估、优化,最终得到一个成熟的学习模型;最后就可以用这个模型来进行预测和解决问题了。
监督学习建模的整体流程如下:
特征工程
什么是特征工程
特征工程(Feature Engineering)是机器学习过程中非常重要的一步,指的是通过对原始数据的处理、转换和构造,生成新的特征或选择有效的特征,从而提高模型的性能。简单来说,特征工程是将原始数据转换为可以更好地表示问题的特征形式,帮助模型更好地理解和学习数据中的规律。优秀的特征工程可以显著提高模型的表现;反之,忽视特征工程可能导致模型性能欠佳。
实际上,特征工程是一个迭代过程。特征工程取决于具体情境。它需要大量的数据分析和领域知识。其中的原因在于,特征的有效编码可由所用的模型类型、预测变量与输出之间的关系以及模型要解决的问题来确定。在此基础上,辅以不同类型的数据集(如文本与图像)则可能更适合不同的特征工程技术。因此,要具体说明如何在给定的机器学习算法中最好地实施特征工程可能并非易事。
特征工程有什么
特征选择
从原始特征中挑选出与目标变量关系最密切的特征,剔除冗余、无关或噪声特征。这样可以减少模型的复杂度、加速训练过程、并减少过拟合的风险。
特征选择不会创建新特征,也不会改变数据结构。
(1)过滤法(Filter Method)
基于统计测试(如卡方检验、相关系数、信息增益等)来评估特征与目标变量之间的关系,选择最相关的特征。
(2)包裹法(Wrapper Method)
使用模型(如递归特征消除 RFE)来评估特征的重要性,并根据模型的表现进行特征选择。
(3)嵌入法(Embedded Method)
使用模型本身的特征选择机制(如决策树的特征重要性,L1正则化的特征选择)来选择最重要的特征。
特征转换
对数据进行数学或统计处理,使其变得更加适合模型的输入要求。
(1)归一化(Normalization)
将特征缩放到特定的范围(通常是0到1之间)。适用于对尺度敏感的模型(如KNN、SVM)。
(2)标准化(Standardization)
通过减去均值并除以标准差,使特征的分布具有均值0,标准差1。
(3)对数变换
对于有偏态的分布(如收入、价格等),对数变换可以将其转化为更接近正态分布的形式。
(4)类别变量的编码
独热编码(One-Hot Encoding):将类别型变量转换为二进制列,常用于无序类别特征。
标签编码(Label Encoding):将类别型变量映射为整数,常用于有序类别特征。
目标编码(Target Encoding):将类别变量的每个类别替换为其对应目标变量的平均值或其他统计量。
频率编码(Frequency Encoding):将类别变量的每个类别替换为该类别在数据集中的出现频率。
特征构造
特征构造是基于现有的特征创造出新的、更有代表性的特征。通过组合、转换、或者聚合现有的特征,形成能够更好反映数据规律的特征。
(1)交互特征
将两个特征组合起来,形成新的特征。例如,两个特征的乘积、和或差等。
例如,将年龄与收入结合创建新的特征,可能能更好地反映某些模式。
(2)统计特征
从原始特征中提取统计值,例如求某个时间窗口的平均值、最大值、最小值、标准差等。
例如,在时间序列数据中,你可以从原始数据中提取每个小时、每日的平均值。
(3)日期和时间特征
从日期时间数据中提取如星期几、月份、年份、季度等特征。
例如,将“2000-01-01”转换为“星期几”、“是否节假日”、“月初或月末”等特征。
特征降维
当数据集的特征数量非常大时,特征降维可以帮助减少计算复杂度并避免过拟合。通过降维方法,可以在保持数据本质的情况下减少特征的数量。
(1)主成分分析(PCA)
通过线性变换将原始特征映射到一个新的空间,使得新的特征(主成分)尽可能地保留数据的方差。
(2)线性判别分析(LDA)
一种监督学习的降维方法,通过最大化类间距离与类内距离的比率来降维。
(3)t-SNE(t-Distributed Stochastic Neighbor Embedding,t分布随机近邻嵌入)
一种非线性的降维技术,特别适合可视化高维数据。
(4)自编码器(Auto Encoder)
一种神经网络模型,通过压缩编码器来实现数据的降维。
常用方法
对于一个模型来说,有些特征可能很关键,而有些特征可能用处不大。
例如:
某个特征取值较接近,变化很小,可能与结果无关。
某几个特征相关性较高,可能包含冗余信息。
因此,特征选择 在特征工程中是最基本、也最常见的操作。
另外,在训练模型时有时也会遇到维度灾难,即特征数量过多。我们希望能在确保不丢失重要特征的前提下减少维度的数量,来降低训练模型的难度。所以在特征工程中,也经常会用到 特征降维 方法。
1)低方差过滤法
对于特征的选择,可以直接基于方差来判断,这是最简单的。低方差的特征意味着该特征的所有样本值几乎相同,对预测影响极小,可以将其去掉。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 感谢,下载保存了
页:
[1]