机器学习基础
基本概念
定义:机器学习是指让计算机具有像人一样的学习和思考能力的技术的总称。具体来说是从已知数据中获得规律,并利用规律对未知数据进行预测的技术。
机器学习分类:
- 有监督学习(SupervisedLearning):有标签有数据,学习已有标签的数据,来对数据进行预测。代表任务分类和回归。
- 无监督学习(UnsupervisedLearning):没有标签,让计算机自己进行自学,通过相同相似的数据聚合在一起。代表任务聚类和降维。
- 强化学习(Reinforcement Learning):没有老师(环境)的情况下, 学生(计算机)对问题答案进行自我评价的方法。自学自评
数据集
数据集:观测样本的集合。具体地,D=x1,x2,…,xn 表示一个包含n个样本的数据集,其中xi是一个向量,表示数据集的第i个样本,其维度d称为样本空间的维度。
向量xi的元素称为样本的特征,其取值可以是连续的,也可以是离散的。从数据集中学习模型的过程,称为“学习”或“训练”。
数据集分类
- List item训练集(Trainingset):用于模型拟合的数据样本(训练模型);
- 测试集(Testset):用来评估最终模型的泛化能力。但不能作为调 参、选择特征等算法相关的选择的依据(最终对学习方法的评估);
- 验证集(Validation set):是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估(模型的选择)。
常见的数据集 - 图像
mnist, lfw128,cifar10,cifar100,voc、imagenet、coco - NLP
电影类评价、情感分析、诗词生成
误差分析
误差是指算法实际预测输出与样本真实输出之间的差异。
- 模型在训练集上的误差称为“训练误差”
- 模型在总体样本上的误差称为“泛化误差”
- 模型在测试集上的误差称为“测试误差”
由于我们无法知道总体样本会,所以我们只能尽量最小化训练误差, 导致训练误差和泛化误差有可能存在明显差异。
过拟合是指模型能很好地拟合训练样本,而无法很好地拟合测试样本的现象,从而导致泛化性能下降。为防止“过拟合”,可以选择减少参数、降低模型复杂度、正则化、提前终止、Dropout、最大池化、增大数据量、数据增强、减少迭代次数、增大学习率等。(参数偏多+数据量偏少需要减少参数或者增加数据量)
欠拟合是指模型还没有很好地训练出数据的一般规律,模型拟合程度不高的现象。为防止“欠拟合”,可以选择调整参数、增加迭代深度、换用更加复杂的模型等(参数偏少/相关性少+数据量偏多需要增加参数量)。
泛化误差分析
偏差(bias)反映了模型在 样本上的期望输出与真实 标记之间的差距,即模型本身的精准度,反映的是模型本身的拟合能力。
方差(variance)反映了模 型在不同训练数据集下学 得的函数的输出与期望输出之间的误差,即模型的稳定性,反应的是模型的波动情况。
过拟合:低偏差高方差
- 增加训练样本数量
- 减少特征维数,高维空间密度小
- 加入正则化项,使得模型更加平滑
欠拟合:高偏差低方差 - 寻找更好的特征,提升对数据的刻画能力
- 增加特征数量
- 重新选择更加复杂的模型
交叉验证
基本思路:将训练集划分为K份,每次采用其中K-1份作为训练集, 另外一份作为验证集,在训练集上学得函数后,然后在验证集上计算误差—K折交叉验证
- K折重复多次,每次重复中产生不同的分割
- 留一交叉验证(Leave-One-Out)
有监督学习
数据集有标记(答案)
若预测的值是离散值,如年龄,此类学习任务称为“分类”
若预测的值是连续值,如房价,此类学习任务称为“回归”
线性回归
线性回归是在样本属性和标签中找到一个线性关系的方法,根据训练数据找到一个线性模型,使得模型产生的预测值与样本标签的差距最小。
逻辑回归
逻辑回归是利用𝑠𝑖𝑔𝑚𝑜𝑖𝑑函数,将线性回归产生的预测值压缩到0和1之间。此时将𝑦视作样本为正例的可能性,即
支持向量机
支持向量机是有监督学习中最具有影响力的方法之一,是基于线性判别函数的一种模型。
SVM基本思想:对于线性可分的数据,能将训练样本划分开的超平面有很多,于是我们寻找“位于两类训练样本正中心的超平面”, 即margin最大化。从直观上看,这种划分对训练样本局部扰动的承受性最好。事实上,这种划分的性能也表现较好。
决策树
决策树是一种基于树结构进行决策的机器学习方法,这恰是人类面临决策时一种很自然的处理机制。
- 在这些树的结构里,叶子节点给出类标而内部节点代表某个属性;
- 例如,银行在面对是否借贷给客户的问题时,通常会进行一系列的决 策。银行会首先判断:客户的信贷声誉是否良好?良好的话,再判断 客户是否有稳定的工作? 不良好的话,可能直接拒绝,也可能判断客 户是否有可抵押物?..这种思考过程便是决策树的生成过程。
- 决策树的生成过程中,最重要的因素便是根节点的选择,即选择哪种特征作为决策因素:ID3算法使用信息增益作为准则。
随机森林
- 集成学习(Ensemblelearning)
- 组合多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。
- 随机森林用随机的方式建立起一棵棵决策树,然后由这些决策树组成 一个森林,其中每棵决策树之间没有关联,当有一个新的样本输入时,就让每棵树独立的做出判断,按照多数原则决定该样本的分类结果。
随机森林构建的基本步骤
- 随机有放回地从训练集中的抽取m个训练样本,训练集 D t
- 从 D t对应的特征属性中随机选择部分特征,构建决策树
- 重复上述步骤构建多个决策树
预测步骤
- 向建立好的随机森林中输入一个新样本
- 随机森林中的每棵决策树都独立的做出判断
- 将得到票数最多的分类结果作为该样本最终的类别
无监督学习
- 数据集没有标记信息(自学)
- 聚类:我们可以使用无监督学习来预测各样本之间的关联度,把关联度大的样本划为同一类,关联度小的样本划为不同类,这便是 “聚类”
- 降维:我们也可以使用无监督学习处理数据,把维度较高、计算复杂的数据,转化为维度低、易处理、且蕴含的信息不丢失或较少丢失的数据,这便是“降维”
聚类
聚类的目的是将数据分成多个类别,在同一个类内,对象(实体)之间具有较高的相似性,在不同类内,对象之间具有较大的差异。
对一批没有类别标签的样本集,按照样本之间的相似程度分类,相似的归为一类,不相似的归为其它类。这种分类称为聚类分析,也称为无监督分类
常见方法有K-Means聚类、均值漂移聚类、基于密度的聚类等
K-means聚类是一个反复迭代的过程,算法分为四个步骤:
- 选取数据空间中的K个对象作为初始中心,每个对象代表一个聚类中心;
- 对于样本中的数据对象,根据它们与这些聚类中心的欧氏距离, 按距离最近的准则将它们分到距离它们最近的聚类中心(最相似) 所对应的类;
- 更新聚类中心:将每个类别中所有对象所对应的均值作为该类别 的聚类中心,计算目标函数的值;
- 判断聚类中心和目标函数的值是否发生改变,若不变,则输出结 果,若改变,则返回2)。
降维
降维的目的就是将原始样本数据的维度𝑑降低到一个更小的数𝑚,且尽量使得样本蕴含信息量损失最小,或还原数据时产生的误差最小。比如主成分分析法(PCA)、有监督的线性降维算法(LDA)、局部线性嵌入(LLE)、拉普拉斯特征映射(LEP)
降维的优势:
- 数据在低维下更容易处理、更容易使用;
- 相关特征,特别是重要特征更能在数据中明确的显示出来;
- 如果只有二维或者三维的话,能够进行可视化展示;
- 去除数据噪声,降低算法开销等。
PCA降维
原始数据中部分内容价值较低,会影响算法性能,因此需对测量数据进行降维处理。PCA是一种被广泛使用的数据降维算法,其主要思想是将m维特征映射到n维上,以得到全新的正交特征,即主成分。假设共有N个样本,给定样本t=(t1,t2,…,tm),降维后的结构为AN×n,其中n<m,则PCA的数学表达为
求解协方差矩阵的特征值和特征向量,选出最大的n个特征值所对应的特征向量构成B=(b1,b2,…,bn),B就是主成分分析的解。