来源:中国人工智能学会,数学建模与人工智能

机器学习:通过构建大脑级别得大规模并行架构为基础得算法,将人工赋予机器智能转移到机器自行习得智能。
1 特征
1.1特征向量
特征(Feature) 是指用来描述数据对象的独立可量化的属性。一个特征不足以代表一个物体,所以机器学习中使用特征的组合——特征向量
如:
- 判断肿瘤的良性或恶性,特征:肿块大小、颜色、厚度、位置等;
-
如预测房屋价格,特征:房屋面积、房间数量、地理位置、建造年份、交通等。

端到端学习:即从原始数据到最终输出的过程可以完全由神经网络自动学习。尽管深度学习成为机器学习的主流,但在数据不足或可解释性要求较高的场景下,传统的特征工程方法仍然有其价值。
限制:
- 数据需求量大:深度学习通常需要大量标注数据来进行有效训练,若数据量不足,可能无法充分学习到有效特征。
- 训练成本高:深度学习模型的训练通常需要强大的计算资源和较长的时间。
- 可解释性差:深度学习模型的“黑箱”性质使得它们比传统方法更难解释,尤其是在需要解释模型决策的场景中,不如传统机器学习方法透明。
1.2 特征工程
特征工程旨在去除原始数据中的杂质和冗余,设计更高效的特征以刻画求解的问题与预测模型之间的关系。
1.2.1特征归一化
对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。优点:训练数据归一化后,容易更快地通过梯度下降找到最优解。在实际应用中,通过梯度下降法求解的模型通常是需要归一化的,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但对于决策树模型则并不适用。
例如,分析一个人的身高和体重对健康的影响,如果使用米(m)和千克(kg)作为单位,那么身高特征会在1.6~1.8m的数值范围内,体重特征会在50~100kg的范围内,分析出来的结果显然会倾向于数值差别比较大的体重特征。想要得到更为准确的结果,就需要进行特征归一化 (Normalization)处理,使各指标处于同一数值量级,以便进行分析。
- 线性函数归一化(Min-Max Scaling)。它对原始数据进行线性变换,使结果映射到[0, 1]的范围,实现对原始数据的等比缩放。
- 零均值归一化(Z-Score Normalization)。它会将原始数据映射到均值为 0、标准差为1的分布上。
1.2.2 类别型特征
类别型特征(Categorical Feature)主要是指性别(男、女)、血型(A、B、 AB、O)等只在有限选项内取值的特征。类别型特征原始输入通常是字符串形式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归、支持向量机等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作。
- 序号编码:通常用于处理类别间具有大小关系的数据。例如成绩,可以分为低、中、高三档,并且存在“高>中>低”的排序关系。序号编码会按照大小关系对类别型特征赋予一个数值ID,例如高表示为3、中表示为2、低表示为1,转换后依然保留了大小关系。
- 独热编码(one-hot):通常用于处理类别间不具有大小关系的特征。例如血型,一共有4个取值(A型血、B型血、AB型血、O型血),独热编码会把血型变成一个4维稀疏向量,A型血表示为(1, 0, 0, 0),B型血表示为(0, 1, 0, 0),AB型表示为(0, 0, 1, 0),O型血表示为(0, 0, 0, 1)。对于类别取值较多的情况下使用独热编码。
-
高维组合特征的处理。为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。以广告点击预估问题为例,原始数据有语言和类型两种离散特征,第一张图是语言和类型对点击的影响。为了提高拟合能力,语言和类型可以组成二阶特征,第二张图是语言和类型的组合特征对点击的影响。
- 文本表示模型。
- 词袋模型和N-gram模型。最基础的文本表示模型是词袋模型。顾名思义,就是将每篇文章看成一袋子词,并忽略每个词出现的顺序。具体地说,就是将整段文本以词为单位切分开, 然后每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,而该维对应的权重则反映了这个词在原文章中的重要程度。常用TF-IDF来计算权重
- 主题模型。用于从文本库中发现有代表性的主题(得到每个主题上面词的分布特性),并且能够计算出每篇文章的主题分布。
- 词嵌入与深度学习模型。将每个词都映射成低维空间(通常K=50~300维)上的一个稠密向量(Dense Vector)。K维空间的每一维也可以看作一个隐含的主题,只不过不像主题模型中的主题那样直观。
- 其它特征工程
- 如果某个特征当中有缺失值,缺失比较少的话,可以使用该特征的平均值或者其它比较靠谱的数据进行填充;缺失比较多的话可以考虑删除该特征。
- 可以分析特征与结果的相关性,把相关性小的特征去掉。
- 当用户使用稀疏特征进行训练时,对于离散特征缺省值应该如何处理效果较好(对缺省值赋给一个全新值来标记)
2 模型及评估
-
模型:数据抽象出来的数学描述;好的模型不仅取决于算法和数据,还取决于任务需求。
-
策略:针对不同模型的选择及比较;
-
算法:具体实施方法,如数学问题如何最优化解?
对训练完成的模型进行性能分析和测试的过程,以确定模型在新数据上的表现。因此,数据通常会被分为训练集、验证集和测试集。
2.1数据集
-
训练集(Training Set)训练机器学习模型的参数,估计模型;
-
验证集(Validation Set) 训练过程中参数调节;开发集(Dev Set)对不同的参数进行选择,控制模型复杂程度的参数,更灵活的数据评估集。
-
测试集(Test Set) 验证最终的机器学习系统的性能,选择最优模型的性能如何。
-
偏差(Bias):偏差衡量的是模型的预测结果与真实值之间的差距,即模型对训练数据拟合程度的不足。
-
方差(Variance):方差衡量的是模型对训练数据中的噪声的敏感程度,即模型对训练数据的过度拟合程度。
偏差-方差窘境(Bias-variance dilemma):模型训练不足时,模型拟合能力不强,偏差主导,随着训练加深,模型拟合程度增强,方差逐渐主导。
2.2查准率vs查全率
混淆矩阵:
- 文本表示模型。

如果把池子里的所有的鲤鱼、虾和鳖都一网打尽:
-
正确率 = 1400 / (1400 + 300 + 300) = 70%
-
召回率 = 1400 / 1400 = 100%
-
F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%
由此可见,正确率是评估捕获的成果中目标成果所占的比例;召回率,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。
2.3 ROC曲线
ROC曲线。接收者操作特征曲线(receiver operating characteristic curve),是反映敏感性和特异性连续变量的综合指标,ROC曲线上每个点反映着对同一信号刺激的感受性。
横坐标:1-Specificity,伪正类率(False positive rate,FPR,FPR=FP/(FP+TN)),预测为正但实际为负的样本占所有负例样本的比例;
纵坐标:Sensitivity,真正类率(True positive rate,TPR,TPR=TP/(TP+FN)),预测为正且实际为正的样本占所有正例样本的比例。
真正的理想情况,TPR应接近1,FPR接近0,即图中的(0,1)点。ROC曲线越靠拢(0,1)点,越偏离45度对角线越好。
3 优化
机器学习中的优化问题大多数可以归结为最小化问题,即寻找最小化损失函数的参数。
3.1参数优化问题
- 线性回归:最小化均方误差(MSE)损失函数,找到最优的回归系数。
- 逻辑回归:最小化交叉熵损失函数,以找到最优的分类参数。
3.2正则化优化问题
为了防止过拟合,我们通常会在目标函数中加入正则化项。例如:
- L2 正则化:(也叫岭回归)加入了参数的平方和
-
L1 正则化:(也叫 Lasso 回归):加入了参数的绝对值和。
正则化项会增加优化问题的复杂度,目的是找到一个既能拟合数据又不容易过拟合的解。
3.3 神经网络优化问题
神经网络的训练也是一个优化问题,通常通过反向传播算法来优化神经网络的权重和偏置。训练神经网络时: 目标函数是损失函数(如交叉熵损失,均方误差损失),优化过程通过梯度下降等方法来调整网络的权重和偏置。
3.4支持向量机(SVM)优化问题
SVM 的目标是最大化分类边界的间隔,超平面将两类数据点分开,同时最小化分类误差。优化问题包括:
- 目标函数:最大化间隔(即最小化目标函数),同时满足一定的分类准确度。
- SVM 优化问题通常涉及到约束条件(例如,软间隔支持向量机)。
4 优化算法
-
梯度下降(Gradient Descent)是一种常见的优化方法,用于最小化目标函数。算法通过计算损失函数关于模型参数的梯度(导数),并根据梯度的方向调整参数。
-
动量法(Momentum)是梯度下降的一个改进,加入了过去梯度的“惯性”,通过调整参数更新的方向来加速收敛并避免震荡。
-
Adam(Adaptive Moment Estimation):Adam 是一种常用的优化算法,结合了梯度下降和动量法的优点,能够自适应调整每个参数的学习率,在深度学习中应用广泛。