机器学习笔记

AI产品经理 专栏收录该内容
1 篇文章 0 订阅

机器学习笔记

线性回归

回归效应

线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数

假定一个实例可以用列向量 x = ( x 1 ; x 2 ; ⋯   , x n ) \mathbf{x}=(x_1;x_2;\cdots,x_n) x=(x1;x2;,xn)表示,每个 x i x_i xi代表了实例在第 i i i 个属性上的取值,线性回归的作用就是习得一组参数 w i , i = 0 ; 1 ; ⋯   , n w_i,i =0;1;\cdots,n wi,i=0;1;,n,使预测输出可以表示为以这组参数为权重的实例属性的线性组合。如果引入常量 x 0 = 1 x_0 =1 x0=1,线性回归试图学习的模型就是
f ( x ) = w T x = ∑ i = 0 n w i ⋅ x i f(\mathbf{x}) = \mathbf{w}^T\mathbf{x}=\sum^n_{i=0}w_i \cdot x_i f(x)=wTx=i=0nwixi
当实例只有一个属性时,输入和输出之间的关系就是二维平面上的一条直线;当实例的属性数目较多时,线性回归得到的就是 n+1 维空间上的一个超平面,对应一个维度等于 n 的线性子空间。

LASSO 回归的全称是“最小绝对缩减和选择算子”(Least Absolute Shrinkage and Selection Operator),由加拿大学者罗伯特·提布什拉尼于 1996 年提出。与岭回归不同的是,LASSO 回归选择了待求解参数的一范数项作为惩罚项,即最小化的对象变为 ∣ ∣ y k − w T x k ∣ ∣ 2 + λ ∣ ∣ w ∣ ∣ 1 \mid\mid y_k−\mathbf{w}^T\mathbf{x}_k \mid\mid^2+\lambda\mid\mid w \mid\mid_1 ykwTxk2+λw1,其中的 λ \lambda λ 是一个常数。

欧几里得距离/两点间向量的 L 2 L^2 L2范数
W ∗ = * ⁡ a r g   m i n w ∑ k = 1 ( W T x k − y k ) 2 = * ⁡ a r g   m i n w ∑ k = 1 ∣ ∣ y k − W T x k ∣ ∣ 2 W^*=\operatorname*{arg\,min}_w \sum_{k=1}(\mathbf{W}^T\mathbf{x}_k-y_k)^2 \\ =\operatorname*{arg\,min}_w \sum_{k=1}\mid\mid y_k-\mathbf{W}^T\mathbf{x}_k\mid\mid^2 W=*argminwk=1(WTxkyk)2=*argminwk=1ykWTxk2

  • 线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数;
  • 最小二乘法可用于解决单变量线性回归问题,当误差函数服从正态分布时,它与最大似然估计等价;
  • 多元线性回归问题也可以用最小二乘法求解,但极易出现过拟合现象;
  • 岭回归和 LASSO 回归分别通过引入二范数惩罚项和一范数惩罚项抑制过拟合。

朴素贝叶斯方法

朴素贝叶斯分类器的联合概率分布
P ( X , Y ) = P ( Y ) ⋅ P ( X ∣ Y ) = P ( X ) ⋅ P ( Y ∣ X ) P(X,Y)=P(Y) \cdot P(X \mid Y) = P(X) \cdot P(Y \mid X) P(X,Y)=P(Y)P(XY)=P(X)P(YX)
朴素贝叶斯分类器的数学表达式
y = * ⁡ a r g   m a x c k P ( y = c k ) ⋅ Π j P ( X ( j ) = x ( j ) ∣ Y = c k ) y = \operatorname*{arg\,max}_{c_k}P(y=c_k) \cdot \Pi_jP(X^{(j)}=x^{(j)} \mid Y =c_k) y=*argmaxckP(y=ck)ΠjP(X(j)=x(j)Y=ck)

  • 朴素贝叶斯方法利用后验概率选择最佳分类,后验概率可以通过贝叶斯定理求解;
  • 朴素贝叶斯方法假定所有属性相互独立,基于这一假设将类条件概率转化为属性条件概率的乘积;
  • 朴素贝叶斯方法可以使期望风险最小化;
  • 影响朴素贝叶斯分类的是所有属性之间的依赖关系在不同类别上的分布。

逻辑回归

逻辑回归源于对线性回归算法的改进,通过引入单调可微函数 g ( ⋅ ) g(\cdot) g(),线性灰谷模型可以推广为
y = g − 1 ( w T x ) y = g^{-1}(\mathbf{w}^T\mathbf{x}) y=g1(wTx)
对数几率函数/ Sigmoid函数
y = 1 1 + e − z = 1 1 + e − ( w T x ) y = \frac{1}{1+e^{-z}} = \frac{1}{1+e^{-(\mathbf{w}^T\mathbf{x})}} y=1+ez1=1+e(wTx)1
逻辑回归模型由条件概率分布表示
p ( y = 1 ∣ x ) = e w T x + b 1 + e w T x + b p ( y = 0 ∣ x ) = 1 1 + e w T x + b p(y=1 \mid \mathbf{x}) = \frac{e^{\mathbf{w}^T\mathbf{x}+b}}{1+e^{\mathbf{w}^T\mathbf{x}+b}} \\ p(y=0 \mid \mathbf{x}) = \frac{1}{1+e^{\mathbf{w}^T\mathbf{x}+b}} p(y=1x)=1+ewTx+bewTx+bp(y=0x)=1+ewTx+b1
另一种多分类的方式通过直接修改逻辑回归输出的似然概率,使之适应多分类问题,得到的模型就是 Softmax 回归。Softmax回归给出的是实例在每一种分类结果下出现的概率
p ( Y = k ∣ x ) = e w k T x ∑ k = 1 K e w k T x p(Y = k \mid x) = \frac{e^{w_k^Tx}}{\sum^{K}_{k=1}e^{w_k^Tx}} p(Y=kx)=k=1KewkTxewkTx

  • 逻辑回归模型是对线性回归的改进,用于解决分类问题;
  • 逻辑回归输出的是实例属于每个类别的似然概率,似然概率最大的类别就是分类结果;
  • 在一定条件下,逻辑回归模型与朴素贝叶斯分类器是等价的;
  • 多分类问题时可以通过多次使用二分类逻辑回归或者使用 Softmax 回归解决。

决策树(Decision Tree)

决策树算法采用树形结构,使用层层推理来实现最终的分类。

决策树是一个包含根节点、内部节点和叶节点的树结构,其根节点包含样本全集,内部节点对应特征属性测试,叶节点则代表决策结果。

由于决策树是基于特征对实例进行分类的,因而其学习的本质是从训练数据集中归纳出一组用于分类的“如果… 那么…”规则。在学习的过程中,这组规则集合既要在训练数据上有较高的符合度,也要具备良好的泛化能力。决策树模型的学习过程包括三个步骤:

  1. 特征选择:特征选择决定了使用哪些特征来划分特征空间。在训练数据集中,每个样本的属性可能有很多个,在分类结果中起到的作用也有大有小。因而特征选择的作用在于筛选出与分类结果相关性较高,也就是分类能力较强的特征。理想的特征选择是在每次划分之后,分支节点所包含的样本都尽可能属于同一个类别。

  2. 决策树生成

    ID3 算法——决策树的生成是利用信息增益准则选择特征

    C4.5 算法——不直接使用信息增益,而是引入“信息增益比”指标作为最优划分属性选择的依据。信息增益比等于使用属性的特征熵归一化后的信息增益,而每个属性的特征熵等于按属性取值计算出的信息熵

    CART算法——分类与回归树(Classification and Regression Tree),用基尼系数取代了熵模型。假设数据中共有 K K K 个类别,第 $k $个类别的概率为 p k p_k pk,则基尼系数等于 1 − ∑ i = 0 K p k 2 1−∑^K_{i=0}p_k^2 1i=0Kpk2。基尼系数在与熵模型高度近似的前提下,避免了对数运算的使用,使得 CART 分类树具有较高的执行效率。

  3. 决策树剪枝:决策树剪枝是通过主动去掉分支以降低过拟合的风险,提升模型的泛化性能。

  • 决策树是包含根节点、内部节点和叶节点的树结构,通过判定不同属性的特征来解决分类问题;
  • 决策树的学习过程包括特征选择、决策树生成、决策树剪枝三个步骤;
  • 决策树生成的基础是特征选择,特征选择的指标包括信息增益、信息增益比和基尼系数;
  • 决策树的剪枝策略包括预剪枝和后剪枝。

支持向量机(Support Vector Machine,SVM)

支持向量机是一种二分类算法,通过在高维空间中构造超平面实现对样本的分类。最简单的情形是训练数据线性可分的情况,此时的支持向量机就被弱化为线性可分支持向量机,这可以视为广义支持向量机的一种特例。

高维的特征空间上,划分超平面可以用简单的线性方程描述:
w T ⋅ x + b = 0 \mathbf{w}^T \cdot \mathbf{x}+b = 0 wTx+b=0

式中的 n 维向量 w 为法向量,决定了超平面的方向;b 为截距,决定了超平面和高维空间中原点的距离。划分超平面将特征空间分为两个部分。位于法向量所指向一侧的数据被划分为正类,其分类标记 y=+1;位于另一侧的数据被划分为负类,其分类标记 y=−1。线性可分支持向量机就是在给定训练数据集的条件下,根据间隔最大化学习最优的划分超平面的过程。

特征空间样本点 x i \mathbf{x}_i xi到超平面的距离可以表示为
r = w T ⋅ x + b ∣ ∣ w ∣ ∣ r = \frac{\mathbf{w}^T \cdot \mathbf{x}+b}{\mid\mid \mathbf{w} \mid\mid} r=wwTx+b

这个距离是个归一化的距离,因而被称为几何间隔。结合前文的描述,通过合理设置参数 w w w b b b,可以使每个样本点到最优划分超平面的距离都不小于 -1,即满足以下关系
w ⃗ T ⋅ x ⃗ i + b ≥ 1 , y i = + 1 \vec{\mathbf{w}}^T \cdot \vec{\mathbf{x}}_i+b \geq 1,y_i = +1 w Tx i+b1yi=+1
w ⃗ T ⋅ x ⃗ i + b ≤ − 1 , y i = − 1 \vec{\mathbf{w}}^T \cdot \vec{\mathbf{x}}_i+b \leq -1,y_i = -1 w Tx i+b1yi=1
更进一步的推理
y i ⋅ ( w ⃗ T ⋅ x ⃗ i + b ) ≥ 1 y_i \cdot (\vec{\mathbf{w}}^T \cdot \vec{\mathbf{x}}_i+b) \geq 1 yi(w Tx i+b)1
y i ⋅ ( w ⃗ T ⋅ x ⃗ i + b ) − 1 ≥ 0 y_i \cdot (\vec{\mathbf{w}}^T \cdot \vec{\mathbf{x}}_i+b) -1 \geq 0 yi(w Tx i+b)10
y i ⋅ ( w ⃗ T ⋅ x ⃗ i + b ) − 1 = 0 , f o r   x i   i n   t h e   g u t t e r y_i \cdot (\vec{\mathbf{w}}^T \cdot \vec{\mathbf{x}}_i+b) -1 = 0 , for \ x_i \ in \ the \ gutter yi(w Tx i+b)1=0,for xi in the gutter

需要注意的是,式中的距离是非归一化的距离,被称为函数间隔。函数间隔和几何间隔的区别就在于未归一化和归一化的区别。

线性可分支持向量机是使硬间隔最大化的算法。在实际问题中,训练数据集中通常会出现噪声或异常点,导致其线性不可分。要解决这个问题就需要将学习算法一般化,得到的就是线性支持向量机(去掉了“可分”条件)。

线性支持向量机的通用性体现在将原始的硬间隔最大化策略转变为软间隔最大化。在线性不可分的训练集中,导致不可分的只是少量异常点,只要把这些异常点去掉,余下的大部分样本点依然满足线性可分的条件。

对每个样本点引入大于零的松弛变量 ξ ≥ 0 \xi \geq 0 ξ0,使得函数间隔和松弛变量的和不小于 1。这样一来,软间隔最大化下的约束条件就变成
w T ⋅ x i + b ≥ 1 − ξ i , y i = + 1 w T ⋅ x i + b ≤ 1 − ξ i , y i = − 1 \mathbf{w}^T \cdot \mathbf{x}_i+b \geq 1 - \xi_i,y_i = +1 \\ \mathbf{w}^T \cdot \mathbf{x}_i+b \leq 1 - \xi_i,y_i = -1 wTxi+b1ξiyi=+1wTxi+b1ξiyi=1
相应地,最优化问题中的目标函数就演变为 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}\mid\mid w \mid\mid^2 + C \sum^N_{i=1}\xi_i 21w2+Ci=1Nξi,其中 C > 0 C>0 C>0 被称为惩罚参数,表示对误分类的惩罚力度。

不论是线性可分支持向量机还是线性支持向量机,都只能处理线性问题,对于非线性问题则无能为力。可如果能将样本从原始空间映射到更高维度的特征空间之上,在新的特征空间上样本就可能是线性可分的。如果样本的属性数有限,那么一定存在一个高维特征空间使样本可分。将原始低维空间上的非线性问题转化为新的高维空间上的线性问题,这就是核技巧的基本思想

核技巧应用到支持向量机中时,原始空间与新空间之间的转化是通过非线性变换实现的。假设原始空间是低维欧几里得空间 X \mathit{X} X,新空间为高维希尔伯特空间 H \mathit{H} H,则从 X \mathit{X} X H \mathit{H} H 的映射可以用函数 ϕ ( x ) : X → H \phi(x):\mathit{X} \rightarrow \mathit{H} ϕ(x):XH 表示。核函数可以表示成映射函数内积的形式,即
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(\mathit{x},\mathit{z})= \phi(\mathit{x}) \cdot \phi(\mathit{z}) K(x,z)=ϕ(x)ϕ(z)

核函数有两个特点

  • 第一,其计算过程是在低维空间上完成的,因而避免了高维空间(可能是无穷维空间)中复杂的计算;
  • 第二,对于给定的核函数,高维空间 H \mathit{H} H 和映射函数 ϕ \phi ϕ 的取法并不唯一。 一方面,高维空间的取法可以不同;另一方面,即使在同一个空间上,映射函数也可以有所区别。

在支持向量机的应用中,核函数的选择是一个核心问题。不好的核函数会将样本映射到不合适的特征空间,从而导致分类性能不佳。常用的核函数包括以下几种:

  • 线性核 K ( X , Y ) = X T Y K(\mathbf{X},\mathbf{Y}) = \mathbf{X}^T\mathbf{Y} K(X,Y)=XTY
  • 多项式核 K ( X , Y ) = ( X T Y + c ) d K(\mathbf{X},\mathbf{Y}) = (\mathbf{X}^T\mathbf{Y}+c)^d K(X,Y)=(XTY+c)d c c c 为常数, d ≥ 1 d \geq 1 d1为多项式次数
  • 高斯核 K ( X , Y ) = exp ⁡ ( − ∣ ∣ X − Y ∣ ∣ 2 2 σ 2 ) K(\mathbf{X},\mathbf{Y}) = \exp(-\frac{\mid\mid \mathbf{X}-\mathbf{Y} \mid\mid^2}{2\sigma^2}) K(X,Y)=exp(2σ2XY2) , σ > 0 \sigma \gt 0 σ>0 为高斯核的带宽
  • 拉斯普斯核 K ( X , Y ) = exp ⁡ ( − ∣ ∣ X − Y ∣ ∣ σ ) K(\mathbf{X},\mathbf{Y}) = \exp(-\frac{\mid\mid \mathbf{X}-\mathbf{Y} \mid\mid}{\sigma}) K(X,Y)=exp(σXY) , σ > 0 \sigma \gt 0 σ>0
  • Sigmod核 K ( X , Y ) = tanh ⁡ ( β X T Y + θ ) K(\mathbf{X},\mathbf{Y}) = \tanh(\beta\mathbf{X}^T\mathbf{Y} + \theta ) K(X,Y)=tanh(βXTY+θ) , β > 0 , θ > 0 \beta \gt 0 , \theta \gt 0 β>0,θ>0

目前,高效实现支持向量机的主要算法是 SMO 算法(Sequential Minimal Optimization,序列最小最优化)。支持向量机的学习问题可以形式化为凸二次规划问题的求解,SMO 算法的特点正是不断将原始的二次规划问题分解为只有两个变量的二次规划子问题,并求解子问题的解析解,直到所有变量满足条件为止。

支持向量机的一个重要性质是当训练完成后,最终模型只与支持向量有关,这也是“支持向量机”这个名称的来源。正如发明者瓦普尼克所言:支持向量机这个名字强调了这类算法的关键是如何根据支持向量构建出解,算法的复杂度也主要取决于支持向量的数目

  • 线性可分支持向量机通过硬间隔最大化求出划分超平面,解决线性分类问题;
  • 线性支持向量机通过软间隔最大化求出划分超平面,解决线性分类问题;
  • 非线性支持向量机利用核函数实现从低维原始空间到高维特征空间的转换,在高维空间上解决非线性分类问题;
  • 支持向量机的学习是个凸二次规划问题,可以用 SMO 算法快速求解。

补充链接:

支持向量机(SVM)是什么意思@知乎

SVM with polynomial kernel visualization@youtube

集成学习

在无线通信中,有一种广受欢迎的“MIMO”传输技术。MIMO 的全称是多输入多输出(Multiple Input Multiple Output),集成学习正是使用多个个体学习器来获得比每个单独学习器更好的预测性能

MIMO早期配置是在发送端和接收端同时布置多个发射机和多个接收机,每个发射机发送相同的信号副本,而每个接收机则接收到来自多个发射机的不同信号,这些信号经历的衰减是相互独立的。这样一来,在接收端多个信号同时被严重衰减的概率就会以指数形式减小,通过获得分集增益带来误码率的下降与信道容量的提升。

每个组中的个体学习器如果属于同一类型(比如都是线性回归或者都是决策树),形成的就是同质集成;相应地,由不同类型学习器得到的集成则称为异质集成

集成学习对个体学习器的要求:

  • 个体学习器的性能要有一定的保证
  • 个体学习器的性能要有一定的差役,和而不同才能取得进步
  • 个体学习器的误差相互独立

集成学习的核心问题在于在多样性和准确性间做出折中,进而产生并结合各具优势的个体学习器。

个体学习器的生成方式很大程度上取决于数据的使用策略。根据训练数据使用方法的不同,集成学习方法可以分为两类:个体学习器间存在强依赖关系因而必须串行生成的序列化方法,和个体学习器之间不存在强依赖关系因而可以同时生成的并行化方法

典型的序列化学习算法是自适应提升方法(Adaptive Boosting),人送绰号 AdaBoost。在解决分类问题时,提升方法遵循的是循序渐进的原则。先通过改变训练数据的权重分布,训练出一系列具有粗糙规则的弱个体分类器,再基于这些弱分类器进行反复学习和组合,构造出具有精细规则的强分类器。从以上的思想中不难看出,AdaBoost 要解决两个主要问题:训练数据权重调整的策略弱分类器结果的组合策略

随着训练过程的深入,弱学习器的训练重心逐渐被自行调整到的分类器错误分类的样本上,因而每一轮次的模型都会根据之前轮次模型的表现结果进行调整,这也是 AdaBoost 的名字中“自适应”的来源。AdaBoost 可以视为使用加法模型,以指数函数作为损失函数,使用前向分步算法的二分类学习方法。

典型的并行化学习方法是随机森林方法。正所谓“独木不成林”,随机森林就是对多个决策树模型的集成。“随机”的含义体现在两方面:一是每个数据子集中的样本是在原始的训练数据集中随机抽取的,这在前文中已有论述;二是在决策树生成的过程中引入了随机的属性选择。在随机森林中,每棵决策树在选择划分属性时,首先从结点的属性集合中随机抽取出包含 k 个属性的一个子集,再在这个子集中选择最优的划分属性生成决策树。

数据使用机制的不同在泛化误差的构成上也有体现。

以 Boosting 方法为代表的序列化方法使用了全体训练数据,并根据每次训练的效果不断迭代以使损失函数最小化,因而可以降低平均意义上的偏差,能够基于泛化能力较弱的学习器构建出较强的集成。

以 Bagging 方法为代表的并行化方法则利用原始训练数据生成若干子集,因而受异常点的影响较小,对在每个子集上训练出的不完全相关的模型取平均也有助于平衡不同模型之间的性能,因而可以一定程度上降低方差。

  • 集成学习使用多个个体学习器来获得比每个单独学习器更好的预测性能,包括序列化方法和并行化方法两类;
  • 多样性要求集成学习中的不同个体学习器之间具有足够的差异性;
  • 序列化方法采用 Boosting 机制,通过重复使用概率分布不同的训练数据实现集成,可以降低泛化误差中的偏差;
  • 并行化方法采用 Bagging 机制,通过在训练数据中多次自助抽取不同的采样子集实现集成,可以降低泛化误差中的方差。

聚类分析

聚类分析是一种无监督学习方法,其目标是学习没有分类标记的训练样本,以揭示数据的内在性质和规律。

分类是先确定类别再划分数据;聚类则是先划分数据再确定类别。

聚类分析本身并不是具体的算法,而是要解决的一般任务,从名称就可以看出这项任务的两个核心问题:

  • 一是如何判定哪些样本属于同一**“类”**
  • 二是怎么让同一类的样本**“聚”**在一起

度量相似性最简单的方法就是引入距离测度,聚类分析正是通过计算样本之间的距离来判定它们是否属于同一个“类”。根据线性代数的知识,如果每个样本都具有 N 个特征,那就可以将它们视为 N 维空间中的点,进而计算不同点之间的距离。

作为数学概念的距离需要满足非负性(不小于 0)同一性(任意点与其自身之间的距离为 0)对称性(交换点的顺序不改变距离)直递性(满足三角不等式)等性质。在聚类分析中常用的距离是“闵可夫斯基距离”,其定义为
d i s t m k ( X i , X j ) = ( ∑ n = 1 N ∣ x i n − x j n ∣ p ) 1 p \mathbb{dist}_{mk}(\mathbf{X}_i,\mathbf{X}_j)=(\sum^N_{n=1}\mid x_{in}-x_{jn} \mid^p)^{\frac{1}{p}} distmk(Xi,Xj)=(n=1Nxinxjnp)p1

主要的聚类算法(公开发表的聚类算法有100多种)

  • 层次聚类,层次聚类又被称为基于连接的聚类,其核心思想源于样本应当与附近而非远离的样本具有更强的相关性;次聚类对数据集的划分既可以采用自顶向下的拆分策略,也可以采用自底向上的会聚策略,后者是更加常用的方法。
    • 会聚算法可以分为 单链接算法、全链接算法和均链接算法,单链接算法利用的是最小距离,它由两个不同聚类中相距最近的样本决定;全链接算法利用的是最大距离,它由两个不同聚类中相距最远的样本决定;均链接算法利用的是平均距离,它由两个不同聚类中的所有样本共同决定。
  • 原型聚类,原型聚类又被称为基于质心的聚类,其核心思想是每个聚类都可以用一个质心表示。原型聚类将给定的数据集初始分裂为若干聚类,每个聚类都用一个中心向量来刻画,然后通过反复迭代来调整聚类中心和聚类成员,直到每个聚类不再变化为止。
    • k 均值算法是典型的原型聚类算法,它将聚类问题转化为最优化问题。具体做法是先找到 k 个聚类中心,并将所有样本分配给最近的聚类中心,分配的原则是让所有样本到其聚类中心的距离平方和最小。显然,距离平方和越小意味着每个聚类内样本的相似度越高。但是这个优化问题没有办法精确求解,因而只能搜索近似解。k 均值算法就是利用贪心策略,通过迭代优化来近似求解最小平方和的算法。“取平均 - 重新计算中心 - 重新聚类”的过程将不断迭代,直到聚类结果不再变化为止。
  • 分布聚类,又被称为基于概率模型的聚类,其核心思想是假定隐藏的类别是数据空间上的一个分布。在分布聚类中,每个聚类都是最可能属于同一分布的对象的集合。这种聚类方式类似于数理统计中获得样本的方式,也就是每个聚类都由在总体中随机抽取独立同分布的样本组成。其缺点则在于无法确定隐含的概率模型是否真的存在,因而常常导致过拟合的发生。
    • 期望极大算法(Expectation Maximization algorithm)是典型的基于概率模型的聚类方法。EM 算法是一种迭代算法,用于含有不可观察的隐变量的概率模型中,在这种模型下对参数做出极大似然估计,因而可以应用在聚类分析之中。
  • 密度聚类,又被称为基于密度的聚类,其核心思想是样本分布的密度能够决定聚类结构。每个样本集中分布的区域都可以看作一个聚类,聚类之间由分散的噪声点区分。密度聚类算法根据样本密度考察样本间的可连接性,再基于可连接样本不断扩展聚类以获得最终结果。
    • 利用噪声的基于密度的空间聚类(Density-Based Spatial Clustering of Applications with Noise),简称 DBSCAN是最流行的基于密度的聚类方法。
  • 谱聚类
  • 模糊聚类

正所谓“物以类聚,人以群分”,聚类分析的一个重要应用就是用户画像。在商业应用中判别新用户的类型时,往往要先对用户进行聚类分析,再根据聚类分析的结果训练分类模型,用于用户类型的判别。聚类使用的特征通常包括人口学变量、使用场景、行为数据等。

  • 聚类分析是一种无监督学习方法,通过学习没有分类标记的训练样本发现数据的内在性质和规律;
  • 数据之间的相似性通常用距离度量,类内差异应尽可能小,类间差异应尽可能大;
  • 根据形成聚类方式的不同,聚类算法可以分为层次聚类、原型聚类、分布聚类、密度聚类等几类;
  • 聚类分析的一个重要应用是对用户进行分组与归类。

降维学习

一个学习任务通常会涉及样本的多个属性,但并非每个属性在问题的解决中都具有同等重要的地位,有些属性可能举足轻重,另一些则可能无关紧要。根据凡事抓主要矛盾的原则,对举足轻重的属性要给予足够的重视,无关紧要的属性则可以忽略不计,这在机器学习中就体现为降维的操作

主成分分析是一种主要的降维方法,它利用正交变换将一组可能存在相关性的变量转换成一组线性无关的变量,这些线性无关的变量就是主成分。在实际的数据操作中,主成分分析解决的就是确定以何种标准确定属性的保留还是丢弃,以及度量降维之后的信息损失

具体说来,主成分分析遵循如下的步骤:

  • 数据规范化:对 m m m 个样本的相同属性值求出算术平均数,再用原始数据减去平均数,得到规范化后的数据;
  • 协方差矩阵计算:对规范化后的新样本计算不同属性之间的协方差矩阵,如果每个样本有 n n n 个属性,得到的协方差矩阵就是 n n n 维方阵;
  • 特征值分解:求解协方差矩阵的特征值和特征向量,并将特征向量归一化为单位向量;
  • 降维处理:将特征值按照降序排序,保留其中最大的 k k k 个,再将其对应的 k k k 个特征向量分别作为列向量组成特征向量矩阵;
  • 数据投影:将减去均值后的 m × n m×n m×n 维数据矩阵和由 k k k 个特征向量组成的 n × k n×k n×k 维特征向量矩阵相乘,得到的 m × k m×k m×k 维矩阵就是原始数据的投影。

主成分分析中降维的实现并不是简单地在原始特征中选择一些保留,而是利用原始特征之间的相关性重新构造出新的特征。从线性空间的角度理解,主成分分析可以看成将正交空间中的样本点以最小误差映射到一个超平面上。如果这样的超平面存在,那它应该具备以下的性质:

  • 一方面,不同样本点在这个超平面上的投影要尽可能地分散;
  • 另一方面,所有样本点到这个超平面的距离都应该尽可能小。

在主成分分析中,保留的主成分的数目是由用户来确定的**。一个经验方法是保留所有大于 1 的特征值,以其对应的特征向量来做坐标变换**。此外,也可以根据不同特征值在整体中的贡献,以一定比例进行保留。具体方法是计算新数据和原始数据之间的误差,令误差和原始数据能量的比值小于某个预先设定的阈值。

主成分分析实现降维的前提是通过正交变换对不同属性进行去相关。另一种更加直观的降维方式则是直接对样本的属性做出筛选,这种降维方法就是“特征选择”。特征选择的出发点在于去除不相关的特征往往能够降低学习任务的难度,它和主成分分析共同构成了处理高维数据的两大主流技术

特征选择与特征提取不同。特征提取是根据原始特征的功能来创建新特征,特征选择则是选取原始特征中的一个子集用于学习任务。特征选择通常用于特征较多而样本较少的问题中,使用特征选择技术的核心前提是数据包含许多冗余和不相关特征,它们可以在不引起信息损失的情况下被移除。特征选择的主要应用场景包括书面文本分析和 DNA 微阵列数据的分析,这些场景下样本的数目通常数以百计,每个样本却可能包含成千上万的特征。

特征选择算法是搜索新的特征子集和对搜索结果进行评估两个步骤的组合。根据评价方式的不同,特征选择算法主要可以分为包裹法、过滤法和嵌入法三类。包裹法需要为每个子集训练一个新的模型,因而其计算量较大,但它的优点是能够找到适用特定模型的最佳特征子集;过滤法的计算负荷要小于包裹法,但由于特征子集和预测模型之间并没有简历对应关系,因而其性能也会劣于包裹法;嵌入法的计算复杂度在包裹法和过滤法之间。

  • 主成分分析利用正交变换将可能存在相关性的原始属性转换成一组线性无关的新属性,并通过选择重要的新属性实现降维;
  • 主成分分析的解满足最大方差和最小均方误差两类约束条件,因而具有最大可分性和最近重构性;
  • 特征选择则是选取原始特征中的一个子集用于学习任务,是另一种主要的降维技术;
  • 特征选择的关键问题是对特征子集的评价,主要的特征选择算法包括包裹法、过滤法和嵌入法。
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值