机器学习 part

一、基础

归纳:从特殊到一般的“泛化”过程,即从具体事实归结出一般性规律

演绎:从一般到特殊的“特化”过程,即从基础原理推演吃u具体状况

假设空间:色泽、根蒂、敲声分别有3、2、2种取值,则假设空间规模为 4×3×3+1 = 37

版本空间:现实问题中常面临很大的假设空间,但可能有多个假设与训练集一致,即存在着一个与训练集一致的假设集合,称为“版本空间”

奥卡姆剃刀原则:若有多个假设与观察一致,则选择最简单的那个

没有免费的午餐(NFL)定理:没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法

二、模型评估与选择

1. 经验误差与过拟合

错误率(error rate):分类错误的样本数占样本总数的比例

精度(accuracy) = 1-错误率

误差(error): 学习器实际预测输出与样本的真实输出之间的差异

        a. 训练误差(training error)/经验误差:学习器在训练集上的误差

        b. 泛化误差(generalization error):学习器在新样本上的误差

过拟合(overfitting):学习器把训练样本学的“太好”,把训练样本自身特点当作潜在样本都会具有的一般性质,导致泛化性能下降(原因:学习能力过于强大;过拟合不可避免)

欠拟合(unerfitting):对训练样本的一般性质尚未学好(原因:学习能力低下)

2.评估方法

       使用测试集(testing set)测试学习器对新样本的判别能力,以测试集上的“测试误差”作为泛化误差的近似。通常假设测试样本也是从样本真实分布中独立同分布采样而得,但测试集应尽量与训练集互斥。

        只有一个包含m个样例的数据集D,从中产生出训练集S和测试集T的常见做法:

① 留出法

        直接将数据集D划分成两个互斥的集合,一个为训练集一个为测试集。划分尽量保持数据分布的一致性,避免因数据划分过程引入的额外的偏差而对最终结果产生影响(例如在分类任务重,至少要保持样本的类别比例相似,可以分层采样)

        单次留出法得到的结果往往不够稳定可靠,一般要进行若干次随机划分、重复实验评估后取平均值为留出法的评估结果。

        窘境:若训练集S包含大多数样本,则性能练出来的模型更接近用D训练的模型,T比较小,所以评估结果不够稳定准确;若训练集T多包含一些样本,则训练集S与D差别较大,降低了评估结果的保真性(fidelity)。这个问题没有完美的解决方法,一般将大约2/3~4/5样本用于训练,剩余样本用于测试。

② 交叉验证法

        先将数据集D划分成k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从D种通过分层采样得到。每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。得到k组训练/测试集,进行k次训练和测试,返回k个测试结果的均值。

        评估结果的稳定性和保真性在很大程度上取决于k的取值,k通常取10,也有5,20.

        为减小因样本划分不同而引入的差别,通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如10次10折交叉验证

        特例——留一法:k = m每个子集只包含一个样本。留一法的评估结果往往被认为比较准确,但数据量较大时,训练模型的开销难以忍受。

③ 自助法

        以“自助采样法(bootstrap sampling)”为基础。给定m个样本的数据集D,每次随机从D中挑选一个样本拷贝进D',过程重复m次,得到包含m个样本的数据集D'。显然,D中有一部分样本会在D'中多次出现,而另一部分样本不出现。样本在m次采样中始终不被采到的概率是(1-1/m)^m,取极限约等于0.368.将D'作为训练集,D做测试集,有1/3没在训练集中出现过的样本做测试。这样的测试结果称为“包外估计

        优点:在数据集较小,难以有效划分S/T时很有用。而且自助法能从初始数据中产生多个不同的训练集,对集成学习等方法有很大好处。

        缺点:产生的数据集改变了初始数据集的分布,会引入估计偏差。因此在初始数据量足够时,常用留出法和交叉验证法。

调参(parameter tuning)与最终模型:

        对每个参数选定一个范围和变化步长,例如在[0,0.2]范围内以0.05作为步长,实际要评估的候选参数值有5个。

        给定m个样本的数据集D,训练集是只是用了D中的一部分数据训练模型。所以在模型选择完成后,学习算法和参数配置已选定,此时应该用D重新训练模型,这才是交给用户的最终模型

3. 性能度量

        回归任务最常用的性能度量是“均方误差(mean squared error)”

错误率与精度

查准率、查全率、F1

        分类结果的混淆矩阵:                                       查准率P、查全率:

                                        机器学习 part_第1张图片                  机器学习 part_第2张图片

        查准率和查全率是一对矛盾的度量。只有在一些简单任务重,查全率和查准率才会都很高

        以查准率为纵轴,查全率为横轴作图,得到P-R曲线。若有一个学习器的P-R曲线能够被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;如果曲线有交叉,则难以一般性地断言两者孰优孰劣,只能在具体的查准率或查全率条件下进行比较。也可以比较P-R曲线下面积的大小,在一定程度上代表了学习器在查准率和查全率从上取得“双高”的比例。

机器学习 part_第3张图片

         平衡点(Break-Event Point, BEP):是查准率 = 查全率时的取值,可以用来比较两个学习器的性能。但BEP过于简化,一般用F1

        F1 = \frac{2\times P\times R}{P\dotplus R} = \frac{2\times TP}{m+TP-TN}      (m是样例总数)

        在一些应用中,对查准率和查全率的重视程度不同,可以使用这个公式

        F_{\beta } = \frac{(1+\beta ^{2})\times P\times R}{(\beta ^{2}\times P)+R}  (β>0度量了查全率对查准率的相对重要性,β>1查全率更重要)

        很多时候经过多次训练/测试,得到多个二分类混淆矩阵,希望在n个混淆矩阵上综合考察查准率和查全率,有两种做法:

        a. 先在各混淆矩阵上分别计算出查准率和查全率,再计算平均值,得到宏查准率、宏查全率和宏F1

        b. 先将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、FN的平均值,再计算出微查准率、微查全率和微F1

③ ROC 和 AUC

        一般设定某个阈值(截断点),预测值大于阈值则分类为正类,否则为反类。可以根据任务需求采用不同的截断点,如果更重视“查准率”,则可选择排序中靠前的位置进行截断;若更重视“查全率”,则可选择靠后的位置截断。ROC曲线是从这个角度来研究学习器泛化性能的有力工具。

        受试者工作特征(ROC)曲线:使用真正例率(True Positive Rate, TRP)和假正例率(False Positive Rate)分别作为纵轴和横轴。

          TPR = \frac{TP}{TP+FN}               FPR = \frac{FP}{TN+FP}

          机器学习 part_第4张图片

         若一个学习器的ROC曲线被另一个学习器曲线完全“包住”,则可断言后者的性能优于前者。若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣,如果一定要进行比较,一般比较ROC曲线下的面积,即AUC

        损失(loss):考虑每一对正、反例,若正例的预测值小于反例,则计1个罚分,若相等计0.5个罚分。loss对应的是ROC曲线之上的面积,因此  AUC = 1- loss

④ 代价敏感错误率与代价曲线

         不同类型的错误所造成的后果不同。为衡量不同类型错误所造成的不同损失,可将错误赋予“非均等代价”,可根据任务的领域知识设定一个“代价矩阵(cost matrix)”

        在非均等代价下,希望的不再是简单地最小化错误次数,而是希望最小化总体代价。“代价敏感”错误率为: (其中D+ 和D-分别代表样例集D的正例子集和反例子集)   

                           

         在非均等代价下,ROC曲线不能直接反应出学习器的期望总体代价,而代价曲线(cost curve)可以达到该目的。横轴是取值为[0,1]的正例概率代价 P(+)cost,纵轴是取值为[0,1]的归一化代价cost_{norm}

4. 比较检验

① 二项检验

② t-检验

③ 交叉验证t-检验(比较一个数据集上两个算法的性能)

        得到k对错误率  和  ,分别代表第i折训练/测试集上得到的结果。先对每对结果求差,可根据差值来对“学习器A与B性能相同”这个假设做t检验。

        欲进行有效的假设检验的重要前提:测试错误率均为繁华错误率的独立采样。但通常情况下样本有限,在使用交叉验证等实验估计方法时不同轮次的训练集会有一定程度重叠,则测试错误率不独立。为了缓解这一问题,可采用“5×2交叉验证”

        5×2交叉验证:做5次2折交叉验证,在每次2折交叉验证之前随机将数据打乱,使得5次数据划分不重复。

④ McNemar检验(比较一个数据集上两个算法的性能)

        二分类问题,列联表,正态分布(卡方分布)

⑤ Friedman检验与Nemenyi后续检验

        比较一组数据集上多个算法,可使用基于算法排序的Friedman检验。假设有4个数据集,三个算法ABC。首先,使用留出法或交叉验证法得到每个算法在每个数据集上的测试结果,然后在每个数据集上根据测试性能由好到坏排序,并赋值1,2,3,若测试性能相同则平分序值(例如,一个1,两个2.5).求每个算法的平均序值。(卡方分布)(Friedman检验图)

        若“所有算法的性能相同”这个假设被拒绝,则需要进行“后续检验”来进一步区分各算法,常用Nemenyi后续检验。计算出平均序列值差别的临界值域,若两个算法的平均序列值之差找过了临界值域,则以相应的置信度拒绝“两个算法性能相同”这一假设

5. 偏差与方差

        偏差(bias):度量学习算法的期望预测与真是结果的偏离程度,即学习算法本身的拟合能力

        方差(variance):度量了同样大小的训练集的变动所导致的学习性能的变化,即数据扰动所造成的影响

        噪声:当前任务上任何学习算法所能达到的期望泛化误差的下界,即学习问题本身的难度

        偏差-方差分解:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了得到好的泛化性能,则需使偏差较小,即能够充分拟合数据;并使方差较小,即是的数据扰动产生的影响小。

        偏差-方差窘境:在训练不足时,学习器的你和能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了繁华错误率;随着训练程度的加深,学习器的你和能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;训练程度充足后,学习器的拟合能力非常强,训练数据发生的轻微的扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。        

机器学习 part_第5张图片

 三、 线性模型

        线性模型形式简单、易于建模。系数直观表达了各属性在预测中的重要性,因此线性模型有很好的解释性

1. 线性回归

        对于离散属性,若存在“序”关系,可通过连续化将其转化为连续值,例如二值属性“身高”的高和矮转化成{1.0,0.0};若不存在“序”关系,假定有k个属性值,通常转化为k维向量,例如“瓜类”的取值西瓜、南瓜、黄瓜可转化为(0,0,1),(0,1,0),(1,0,0)

        基于均方误差最小化来进行模型求解的方法成为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。求解和b使均方误差最小化的过程成为线性回归模型的最小二乘“参数估计

        对数线性回归: 形式上是线性回归,但实际上是求输入空间到输出空间的非线性函数映射

2. 对数几率回归

        分类任务解决办法:找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来

        考虑二分类任务,输出y∈{0,1},而线性回归产生预测值是实值,需要将其转化为0/1值,最理想的是“单位阶跃函数”。对数几率函数是一种“Sigmoid”函数,可将实值转化为一个接近0或1的y值。

        注意:虽然称为回归,但其实是一种分类学习方法

3. 线性判别分析 LDA(二分类问题:Fisher判别分析)

       思想:给定训练集,设法将样例投影到一条直线上,使同类样例的投影点尽可能接近、异类样例的投影点尽可能远;在对新样本进行分类时,将其投影到该直线上,根据投影点的位置来确定新样本的类别。

4. 多分类学习

        思路:拆解法,将多分类任务拆为若干个二分类任务求解。先对问题进行拆分,为拆出的每个二分类任务训练一个分类器,在测试时,对这些分类器的预测结果进行集成以互动而最终的多分类结果

        ① 一对一(OvO):将N个类别两两配对,产生N(N-1)/2个二分类任务,最终结果通过投票产生

        ② 一对其余(OvR):每次将一个类的样例作为正例,其余样例作为反例,训练N个分类器。测试时若仅有一个分类器预测为正类,则该分类器的类别标记为最终分类结果;若有多个分类器预测为正例,考虑个分类器的预测置信度,选择置信度最大的类别标记为分类结果

        ③ 多对多(MvM):每个将若干类作为正类,其余类作为反类。正、反类的构造必须有特殊的设计,常用技术为“纠错输出码(ECOC)”(其他方法:DAG拆分法,将类别划分表达成树形结构,每个结点对应于一个二分类器)

5. 类别不平衡问题

        类别不平衡(class-imbalance):分类任务中不同类别的训练样例数目相差很大的情况。一般采用“再缩放”策略:

        ① 对训练集里的反类样例进行“欠采样”:去除一些反例使正反例数目接近,再进行学习

        ② 对训练集里的正类样例进行“过采样”:增加一些正例使正反例数目接近,再进行学习

        ③ 直接用原始训练集学习,但在用训练好的分类器进行预测时,不再以0.5为阈值,而是当 ​ 则预测为正例

        欠采样的时间开销通常远小于过采样法,因为前者丢弃了很多反例,使训练集变小。过采样不是简单对初始正例样本进行重复采样,否则会招致严重的过拟合。过采样法的代表性算法使SMOTE是通过对训练集里的正例进行插值来产生额外的正例。欠采样法也不能随机丢弃反例,否则可能丢失重要信息,代表算法是EasyEnsemble是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习起来看都进行了欠采样,但在全局来看却不会丢失重要信息。

        “再缩放”也是“代价敏感学习”的基础

四、 决策树

        决策树生成的递归过程中,三种情况会导致递归返回:① 当前节点包含的样本全属于同一类别,无需划分; ② 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分(处理:把当前节点标记为叶子节点,并将类别设定为所含样本最多的类别;是在利用当前节点的后验分布); ③ 当前节点包含的样本集合为空,不能划分(处理:标记为叶子节点,其类别设定为其父节点所含样本最多的类别;是把父节点的样本分布作为当前节点的先验分布)

1. 划分选择

        信息熵:信息熵越小,代表样本集合D的纯度越高,即所包含的样本可能属于同一类别

        信息增益(ID3算法):信息增益越大,意味着使用属性a来进行划分所获得的“纯度提升”越大(但可能对取值数目较多的属性有所偏好)

        增益率(C4.5算法):对可取值数目较少的属性有所偏好。并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的

        基尼系数(CART算法):反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。基尼系数越小,D的纯度越高。选择使划分后基尼指数最小的属性作为最优化分属性

2. 剪枝处理

        ① 预剪枝:在决策树生成过程中,对每个节点在划分前进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶子节点

        预剪枝使决策树很多分支都没有展开,不仅降低了过拟合风险,还显著减少决策树的训练时间开销和测试时间开销。另一方面,有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高。预剪枝基于“贪心”本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险。

        ② 后剪枝:先训练生成一颗完整的决策树,然后自底向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶节点

        后剪枝决策树的欠拟合风险很小,泛化性能往往由于预剪枝决策树,但训练时间开销更大

3. 连续与缺失值

        ① 连续值处理:采用二分法对连续属性进行处理(C4.5算法的机制)。基于信息增益算最优划分点

        ② 缺失值处理:a. 如何在属性值缺失的情况下进行划分属性选择? b. 给定划分属性,该样本在该属性上的值缺失,如何对样本进行划分?(没看懂)

五、 神经网络

1. 神经元模型

        每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”,会被激活,即“兴奋”起来向其他神经元发送化学物质。

        M-P神经元模型:神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。(许多个这样的神经元按一定的层次结构连接起来,就得到神经网络)

2. 感知机与多层网络

        感知机:由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层时M-P神经元,亦称“阈值逻辑单元”。感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,学习能力非常有限。

        解决非线性可分问题,需要考虑多层功能神经元。输出层与输入层之间的一层神经元被称为隐层或隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这样的神经网络结构称为“多层前馈神经网络”,其中输入层神经元接收外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出。

3. 误差逆传播算法(BackPropagation, BP)

        标准BP算法:将输入示例供给输入层神经元,然后逐层将信号前传,直到产生输出层结果。计算输出层误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调整。该迭代过程循环进行,直到达到某些停止条件为止(例如训练误差已经达到一个很小的值)

        目标:最小化训练集D上的累计误差。标准BP每次更新只针对单个样例,参数更新的非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象。为了达到同样的累计误差极小点,往往需进行更多次迭代

        累计BP算法:直接针对累计误差最小化,在读取整个数据集D一边后才对参数进行更新,更新频率低得多。在很多任务中,累计误差下降到一定程度后,进一步下降会非常缓慢,这时候标准BP往往会更快获得较好的解,尤其是在训练集D非常大的时候

        经证明,只需一个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数。通常用“试错法”设置隐层神经元的个数。

        BP神经网络经常过拟合,缓解策略:① 早停: 将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。 ② 正则化:在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和

4. 全局最小与局部最小

        参数空间内梯度为0的点,只要其误差函数值小于邻点的误差函数之,即为局部极小点。可能存在多个局部极小值,但只有一个全局最小值

        负梯度方向时函数值下降最快的方向,因此梯度下降法就是沿着负梯度方向搜索最优解。若误差函数在在当前点的梯度为0,则已经达到局部最小,意味着参数的迭代更新将再次停止。在现实任务中,通常采用一下策略“跳出”局部极小,进一步接近全局最小:

        ① 以多组不同参数值初始化多个神经网络,按标准方法训练后取去中误差最小的解为最终参数。相当于从多个不同的初始点开始搜索

        ② 使用“模拟退火”技术:每一步都以一定概率接收比当前解更差的结果,从而有助于“跳出”局部最小

        ③ 使用随机梯度下降:在计算梯度是加入了随机因素,陷入局部极小点计算出的梯度仍可能不为0

5. 深度学习

        典型的深度学习就是很深层的神经网络。模型的复杂度可以通过增加隐层的数目和增加隐层神经元的数目实现。增加隐层数不尽增加了拥有激活函数的神经元数目,还增加了激活函数嵌套的层数,但多隐层神经网络难以直接用标准BP算法训练,因为误差在多隐层内逆传播时,往往会“发散”而不能收敛到稳定状态。

        无监督逐层训练多隐层网络训练的有效手段。基本思想:每次训练一层隐结点,训练时将上一层隐节点的输出作为输出,而本层隐节点的输出作为下一层隐节点的输入,这称为“预训练”。预训练全部完成后,再对整个网络进行微调

六、支持向量机

1. 间隔与支持向量

2. 对偶问题

3. 核函数

4. 软间隔与正则化

5. 支持向量回归

6. 核方法

七、 贝叶斯分类器

1. 贝叶斯决策论

八、 集成学习

        通过构建并结合多个学习器来完成学习任务。集成学习方法分为两大类:①  个体学习器之间存在强依赖关系、必须穿行生成的序列化方法,例如Boosting; ② 个体学习之间不存在强依赖关系,可同时生成的并行化方法,例如Bagging 和“随机森林(Random Forest)”

1. Boosting

        先从初始训练集训练出一个基学习器,根据基分类器的表现对训练样本分布进行调整,使先前基分类器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布训练下一个基分类器。如此反复,直至基学习器数目达到事先指定的值T。最终将这T个基学习器加权结合

        从偏差-方差的角度来看,Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成

2. Bagging 与 随机森林

        ① Bagging:使用自助采样法,采样出T个含m个训练样本的采样集,基于每个采样集训练出一个基学习器,再使用简单投票法/简单平均法将这些基学习器进行结合。

        从偏差-方差角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更明显。

        ② 随机森林(RF):是bagging的一个扩展变体,在以决策树为基分类器构建Bagging集成的基础上,在决策树的训练过程中引入了随机属性选择。传统决策树在划分属性时是从当前节点的属性值中选择一个最优属性;在RF中,在基决策树的每个节点,从该结点的属性集合中随机选择一个包含k个属性的子集,从这个子集中选择一个最优属性用于划分。

        RF简单、容易实现、计算开销小,在很多现实任务中展现出强大的性能。Bagging中基学习器的多样性仅通过样本扰动,RF中的多样性不仅来自样本扰动,还来自属性扰动,这使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。

3. 结合策略

        学习器结合的好处: ① 统计方面:由于学习任务的假设空间往往很大,可能由多个假设在训练集上达到同等性能,此时若使用但学习器可能因误选而导致泛化性能不佳; ② 计算方面:学习算法往往会陷入局部极小,通过多次运行后进行结合,可以降低陷入糟糕局部极小点的风险; ③ 表示方面:某些学习任务的真实假设可能不在当前学习算法所考虑的假设空间内,此时使用单学习器肯定无效,通过结合多学习器,假设空间有所扩大,可能学到更好的近似

九、聚类(无监督学习)

1. 性能度量

        ① 外部指标:将聚类结果与某个“参考模型”进行比较

        Jaccard系数,JC;FM指数,FMI;Rand指数,RI:值均在[0,1]之间,值越大越好

        ② 内部指标:直接考察聚类结果而不利用任何参考模型

        DB指数,DBI;Dunn指数,DI:DBI值越小越好,DI值越大越好

2. 原型聚类

        此类算法假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用。通常先对原型进行初始化,再对原型进行迭代更新求解

        ① K-means:先定k的值(簇数),随机选取k样本作为初始均值向量。考察各个样本与当前均值向量的距离,加入距离最近的簇,更新簇的均值向量。迭代至产生结果与上一轮迭代相同,则停止

        ② 学习向量量化(LVQ)

        ③ 高斯混合聚类

3. 密度聚类

        假设聚类结构能通过样本分布的紧密程度确定。通常从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果

        DBSCAN:基于一组“邻域”参数来刻画样本分布的紧密程度

        ① 邻域:两个点距离小于

        ② 核心对象:一个点的  邻域中至少包含MinPts个样本,则该点为核心对象 

        ③ 密度直达:若xj位于xi 的  邻域中,且xi是核心对象则两点密度直达 

        ④ 密度可达:

        ⑤ 密度相连:若xi和xj均由xk密度可达,则xi与xj密度相连

        任选一个核心对象为“种子”,由此出发确定相应的聚类簇:a. 根据给定的邻域参数 (, MinPts) 找出核心对象;b. 以任一核心对象为出发点,找出由其密度可达的样本生成聚类簇,直到所有核心对象被访问过为止

 4. 层次聚类

        试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。

        AGNES:一种自底向上聚合策略的层次聚类算法。先从数据集中的每个样本看作一个初始聚类簇,每一步找出距离最近的两个聚类簇进行合并,不断重复直到达到预设的聚类簇个数。

        最小距离:由两个簇的最近样本确定

        最大距离:由两个簇的最远样本决定

        平均距离:(有公式)

十、降维与度量学习

1. k近邻(KNN,监督学习方法)

        给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,基于这k个“邻居”的信息来进行预测。在分类任务重可以使用“投票法”(离散)或者“平均法”(连续)。

        是懒惰学习(lazy learning)的代表(对应的是急切学习 eager learning),在训练阶段只是把样本保存起来,训练开销为0;收到测试样本后再进行处理。

        k的取值、距离的计算方法,都会对分类结果产生显著影响。

2. 降维方法

        主成分分析(PCA,最常用的一种降维方法);核化线性降维;流形学习;度量学习

十一、特征选择与稀疏学习

十二、计算学习理论(×)

十三、半监督学习

十四、概率图模型

十五、规则学习

十六、强化学习

你可能感兴趣的:(数据分析,机器学习)