机器学习研究能够从经验中自动提升自身性能的计算机算法。
推理期:赋予机器逻辑推理能力
知识期:使机器拥有知识
学习期:让机器自己学习
有监督学习:从有标记的样本中学习,如决策树。
无监督学习:从不含标记的样本中学习,如K均值算法。
经验误差:
泛化误差:
欠拟合:相较于数据而言,模型参数过少或者模型结构过于简单,以至于无法捕捉到数据中的规律的现象。
过拟合:模型过于紧密或精确地匹配特定数据集,以致于无法良好地拟合其他数据或预测未来的观察结果的现象。
合适的拟合:模型能够恰当地拟合和捕捉到数据中规律的现象。
留出法直接将数据集D划分为两个互斥的集合,分别为训练集S和测试集T。在S上训练出模型后,用T来评估其测试误差。
有放回采样。给定包含个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入,这就是自助采样的结果。
混淆矩阵:
查准率:
查全率:
F1:
真正例率:
假正例率:
错误率:
精度:
ROC曲线:根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出假正例率,真正例率。分别以它们为横、纵坐标作图。
AUC:ROC下的面积
线性回归是一种用于预测和建模的统计方法。线性回归的目的是找到一个线性关系,用来最好地预测一个因变量基于一个或多个自变量的值。
给定数据(X1,y1),(X2,y2),…,(Xm,ym),此处X可以是多维向量。线性回归的目标为学习合适的参数w和b使得
损失函数:用于度量yi和f(xi)的差异
均方误差:
最小二乘法:基于均方误差最小化来求解模型参数
通过计算E(w,b)对w和b的偏导,并令其为零,得到最优解
概率:事件发生的可能性
几率:事件发生和不发生的比率
对数几率:几率取对数
使用对数几率作为连接函数,将线性回归模型的输出映射到(0,1)区间内,表示为概率。对数几率回归提供了一个概率分数,表明观察属于正类的可能性,所以常用于二分类任务。
极大似然法是一种参数估计方法。在逻辑回归中,它用于估计模型参数(即权重 w 和偏差 b),使得观测数据出现的概率最大化。
梯度下降法是一种优化算法,用于找到函数的局部最小值。在逻辑回归中,我们通常使用它来最小化代价函数。梯度下降法的核心思想是迭代地调整参数以最小化目标函数。
主要用于分类和降维。思想是寻找一个直线,使得同类样本的投影点尽可能接近,异类样本的投影点尽可能远离。使得在这个投影中,不同类别的数据点能够被最好地区分开来。
求解最佳投影向量:
选最大特征值λ2
最后归一化
二阶求逆矩阵公式:
决策树是一种基于树结构来进行决策的机器学习方法。这恰是人类在面临决策问题时一种很自然的处理机制。
优点:
信息增益
基尼指数
每轮选择信息增益/基尼指数最大的扩展
感知器是一种简单的神经网络,是用于二分类的线性模型。通过接收输入特征并将其与权重相乘,加上一个偏置项,然后通过一个阶跃激活函数来预测输出结果。感知器的核心是其学习规则,它根据预测错误来调整权重,适用于线性可分的数据集。尽管单个感知器的功能有限,但它们可以构建成多层架构,成为现代深度学习的基础。
一个感知器包括以下部分:
有很多隐藏层的神经网络,每个隐藏层都是全连接层。
比DNN多了卷积层和池化层。CNN是一种专门用于处理具有类似网格结构的数据(如图像)的深度学习模型。
卷积层:
卷积核是一个小窗口。每个卷积核在输入图像上卷积,并计算卷积核和其覆盖的图像区域之间的点积。卷积层负责提取输入数据中的有用特征。多个卷积层可以捕获从低级到高级的特征。
池化层:
用于降低特征图的空间维度(宽度和高度),从而减少参数数量和计算量,防止过拟合,同时提高特征的不变性。CNN
引入非线性到神经网络中。
批次梯度下降:使用整个训练数据集来计算损失函数的梯度。可以保证在凸函数上收敛到全局最小值。
随机梯度下降:随机选择一个训练样本来计算梯度。不一定收敛到全局最小值而且有波动。
小批量梯度下降:使用一个小批量的样本来计算梯度。收敛更快,更容易收敛到全局最小值。
SVM在高维空间中寻找最佳的超平面,以最大化不同类别之间的间隔。对于非线性可分的数据,SVM通过核技巧将数据映射到高维空间以实现有效的分类。
寻找参数,使得间隔最大
转化为目标函数:
对偶问题提供了一种方式来优化原始的分类问题,使其更易于计算且能够应用核方法处理非线性可分的数据集。原始的SVM问题旨在找到最佳的分割超平面以最大化类别之间的间隔,但直接求解这个问题涉及复杂的约束优化。通过构造拉格朗日函数并将问题转化为其对偶形式,就得到了一个二次规划问题。求解对偶问题在数学上更简洁,能给出与原始问题相同的解。
对偶问题目标函数:
如果原始样本空间不存在能正确划分两类样本的超平面,可以使用核函数通过一个非线性映射将原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
现实中很难确定合适的核函数,使训练样本在特征空间中线性可分。即便貌似线性可分,也很难断定是否是因过拟合造成的。所以引入软间隔,允许在一些样本上不满足约束。
在回归问题中,需要预测一个连续的输出而非一个类别。在SVR中,我们不是寻找一个将两类数据分开的最大间隔超平面,而是寻找一个能够拟合尽可能多数据的函数,同时保持预测误差在一定阈值内。
集成学习通过构建并结合多个学习器来完成学习任务。先产生一组"个体学习器" ,再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据产生。
Boosting是一组可将弱学习器提升为强学习器的算法。不是同时训练所有模型,而是顺序地训练模型,每一个模型都尝试纠正前一个模型的错误。
对同一数据集训练一系列的弱分类器,然后将它们组合起来,以提高整体性能。每一轮迭代中调整样本权重,使得被之前弱分类器错误分类的样本在后续的迭代中获得更多的关注。
基于自助采样法,对原始训练数据集进行有放回的随机抽样,创建多个相同大小的子样本。使用每个子样本独立地训练出一个弱学习器。将所有弱学习器的预测结果进行聚合。分类问题采用投票机制,回归问题取平均值。
随机森林是Bagging的一个扩展变体,在以决策树为基学习器构建 Bagging 集成的基础上,进一步在 决策树的训练过程中引入了随机属性选择。传统决策树在选择划分 属性时是在当前结点的属性集合中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最有属性用于划分。
Bagging对原始数据集进行重采样(通常是有放回的抽样),形成多个不同的训练子集,然后在每个子集上独立地训练一个SVM模型。所有模型的预测结果通过投票(分类问题)或平均(回归问题)来汇总。Bagging对于减少模型的方差特别有效,这可以在数据集含有较多噪声时改善SVM的性能。
Boosting是另一种集成方法,它不是同时训练所有模型,而是顺序地训练模型,每一个模型都尝试纠正前一个模型的错误。对于SVM来说,可以使用如AdaBoost算法,将弱SVM分类器组合成一个强分类器。在每一轮中,数据样本的权重会根据前一个SVM的错误率进行调整,使得随后的SVM更专注于那些之前被错误分类的样本。
聚类分析是将数据集分组,使得同一组内的数据相比与其他组的数据更相似。
市场分割:根据客户的消费记录进行聚类,进而合理地推荐
基因分组:根据基因的表达模式进行聚类,用于分析基因功能。
医学图像分割:将肿瘤图像中的像素进行聚类,用于自动分割出肿瘤部分
自然图像分割:基于图像的模式识别的重要数据预处理步骤。
依赖类别数K的选择
依赖初始类中心的选择
对异常点和孤立点敏感
K-Means++:优化了初始化时选择类中心的方法,避免类中心过于集中。
对于数据集中的每个点 x,计算它到最近中心的距离 D(x)。
更新类中心:
降维是将数据从高维空间变换到低维空间,使得数据的低维表示能够保留原始数据的某些有意义的性质,理想情况下接近原始数据的本征维。
将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
例题
PCA和LDA都是降维技术,用于数据特征提取和降维。PCA是无监督学习,目标是找到数据中方差最大的方向,并将数据投影到这些方向上,旨在捕获最大的方差。LDA是监督学习,找到最佳的投影方向,使同类数据点尽可能接近,而不同类数据点尽可能远离,最大化类别可分性。PCA产生的是正交主成分,LDA产生的是最大化类别分离的线性组合。PCA更多用于数据的压缩和去噪,而LDA更多用于优化分类器的性能。