文章目录
- 第一部分 优化
- 第二部分 模型
- 第一章 神经网络(MLP, BP, CNN, GNN, and Attention)
- 1.1 神经网络基础
- 1.1.1 高次非线性函数
- 1.1.2 感知器与神经网络
- 1.1.3 联结主义模型
- 1.1.4 动机——为什么每个人都在谈论深度学习?
- 1.1.5 背景
- 1.1.6 神经网络架构
- 1.1.7 激活函数
- 1.1.8 神经网络的目标函数
- 1.2 卷积神经网络(CNN ,Convolution neural network)
- 1.2.1 Convolution Layer【卷积层】
- 1.2.2 Feature Maps【特征图】
- 1.2.3 More Filters【更多过滤器】
- 1.3 图神经网络(GNN ,Graph neural network)
- 1.3.1 邻域聚合
- 1.3.1 训练模型
- 1.4 循环神经网络与注意力机制
- 1.4.1 根据过程序列分类的RNN
- 1.4.2 RNN
- 1.4.3 注意力机制
- 第二章 模糊逻辑系统
- 2.1 概述
- 2.2 模糊逻辑
- 2.3 Fuzzy Sets vs Crisp Sets【模糊集与二元集】
- 2.4 函数建模或近似:曲线或曲面拟合
- 2.4.1 曲线拟合的标准数学方法(或多或少令人满意的拟合)
- 2.4.2 使用模糊规则(面片)进行曲线拟合。2个输入或超曲面(3个或更多输入)的曲面近似
- 2.5 模糊逻辑系统
- 2.6 例子
- 第三章 特征选择与提取(PCA and sparse representation)
- 3.1 特征选择
- 3.1.1 分类的特征选择
- 3.1.2 两类问题的救济算法
- 3.1.2.1 基于属性重要性的属性约简算法
- 3.1.2.2 最小冗余最大相关性(mRMR)特征选择
- 3.1.2.3 对比
- 3.2 特征提取(无监督的)
- 3.2.1 Subspace representation【子空间表示】
- 3.2.2 Matrix Decomposition【矩阵分解】(一种子空间方法)
- 3.2.3 PCA method【主成分分析方法】
- 3.2.4 Kernel PCA【核的主成分分析】
- 3.2.5 Manifold Learning【流形学习】
- 3.2.6 Locally Linear Embedding (LLE)【局部线性嵌入】
- 第四章 数据表示学习(manifold and contrastive learning)
- 第五章 生成模型(auto-encoder, VAE, GAN, and transformer)
- 第六章 生成模型(diffusion and probabilistic graph models)
- 第七章 大 AI 模型(Large visual and language models, AIGC: Artificial intelligence generation context)
- 第八章 提示学习工程
第一部分 优化
-
简述岭回归、Lasso、Elastic 之间的联系与区别?
答:
联系:
岭回归、Lasso 和 Elastic Net 都是用于线性回归的正则化方法,通过添加惩罚项来防止过拟合并提升模型的泛化能力。
区别:
①岭回归通过在损失函数中添加 L2 正则化项来限制回归系数的大小。使用 L2 正则化,这意味着惩罚项是回归系数的平方和。岭回归不会导致系数完全为零,因此它不能用于特征选择。
②Lasso 通过在损失函数中添加 L1 正则化项来约束回归系数。使用 L1 正则化,这意味着惩罚项是回归系数的绝对值和。Lasso 可以导致某些系数变为零,因此它可以进行特征选择。
③Elastic Net 结合了岭回归和 Lasso 的正则化方法,通过同时使用 L1 和 L2 正则化项。Elastic Net 同时包含 L1 和 L2 正则化项,因此可以在特征选择和模型稳定性之间找到平衡。当特征高度相关时,Elastic Net 比单独使用 Lasso 或岭回归更有效。 -
为什么在用反向传播算法进行参数学习时要采用随机参数初始化的方式而不是直接令w = 0, b =0?
答:
如果所有权重初始化为零,反向传播时每个权重的梯度也会相同,导致每次更新时权重保持相同的变化。这样的模型无法有效学习数据的复杂结构。随机初始化权重可以打破对称性,使每个神经元在训练开始时有不同的输出,从而确保网络能够学习到不同的特征。
随机初始化使得初始权重分布在一个小的范围内,有助于网络更快地探索损失函数的表面,从而加速收敛。如果权重初始化为零,计算的梯度可能会陷入局部最小值或者梯度消失/爆炸问题,更难以有效训练。
所以采用随机参数初始化而不是直接令 w=0 和 b=0,可以有效地避免对称性破坏问题,加速模型收敛,并防止梯度消失或爆炸,从而提升模型的训练效果和性能。 -
以 Logistic 激活函数 σ ( x ) \sigma(x) σ(x) 为例,简述什么是梯度消失?如何避免梯度消失问题?
答:
由于 Logistic 函数的输出范围在 (0, 1) 之间,对应的导数值也在 (0, 0.25) 之间。当输入值较大或较小时,导数值会非常小,这就导致梯度在反向传播过程中逐层减小,出现梯度消失的问题。
通过选择合适的激活函数、使用适当的权重初始化方法、应用正则化技术和优化网络结构设计,可以有效地缓解或避免梯度消失问题,从而提升深层神经网络的训练效果。 -
简述反向传播算法?
答:
BP 算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。 -
在BP算法中,如果权值更新中的
ω ( k + 1 ) = ω ( k ) − α k ∇ E ( ω ( k ) ) , ∇ E ( ω ( k ) ) ≠ 0 \omega^{(k+1)}= \omega^{(k)}- \alpha_k \nabla E(\omega^{(k)}),\nabla E(\omega^{(k)})\ne 0 ω(k+1)=ω(k)−αk∇E(ω(k)),∇E(ω(k))=0
的步长(学习率) α k \alpha_k αk 的选择满足: α k = a r g m i n α > 0 E ( ω ( k ) − α k ∇ E ( ω ( k ) ) ) \alpha_k = arg\;min_{\alpha >0}E( \omega^{(k)}- \alpha_k \nabla E(\omega^{(k)})) αk=argminα>0E(ω(k)−αk∇E(ω(k))),请证明
∇ E ( ω ( k + 1 ) ) T ∇ E ( ω ( k ) ) = 0 \nabla E(\omega^{(k+1)})^T\nabla E(\omega^{(k)})=0 ∇E(ω(k+1))T∇E(ω(k))=0
也即前后两次的梯度方向相互垂直,产生ZigZag(之字形)的搜索路径。
解:
-
试推导软间隔SVM 问题
的KKT条件
解:
①构造拉格朗日函数
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i + ∑ i = 1 n α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 n u i ξ i L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum^n_{i=1}\xi_i+\sum^n_{i=1}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))-\sum^n_{i=1}u_i\xi_i L(w,b,ξ,α,μ)=21∣∣w∣∣2+C∑i=1nξi+∑i=1nαi(1−ξi−yi(wTxi+b))−∑i=1nuiξi
②求 min w , b , ξ L ( w , b , ξ , α , μ ) \min\limits_{w,b,\xi}\;L(w,b,\xi,\alpha,\mu) w,b,ξminL(w,b,ξ,α,μ)
将 L ( w , b , ξ , α , μ ) L(w,b,\xi,\alpha,\mu) L(w,b,ξ,α,μ) 分别对 w , b , ξ i w,b,\xi_i w,b,ξi 求导,并令其=0,得
w − ∑ i = 1 n α i y i x i = 0 ∑ i = 1 n α i y i = 0 C − α i − u i = 0 , i = 1 , 2 , . . . , n w-\sum^n_{i=1}\alpha_iy_ix_i=0 \\ \; \\ \sum^n_{i=1}\alpha_iy_i=0 \\ \; \\ C-\alpha_i-u_i=0,\;i=1,2,...,n w−i=1∑nαiyixi=0i=1∑nαiyi=0C−αi−ui=0,i=1,2,...,n
则 min w , b , ξ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j + ∑ i = 1 n α i \min\limits_{w,b,\xi}\;L(w,b,\xi,\alpha,\mu)=-\frac12\sum^n_{i=1}\sum^n_{j=1}\alpha_i\alpha_jy_iy_jx_i^Tx_j+\sum^n_{i=1}\alpha_i w,b,ξminL(w,b,ξ,α,μ)=−21i=1∑nj=1∑nαiαjyiyjxiTxj+i=1∑nαi
③求 max α , u min w , b , ξ L ( w , b , ξ , α , μ ) \max\limits_{\alpha,u}\;\min\limits_{w,b,\xi}\;L(w,b,\xi,\alpha,\mu) α,umaxw,b,ξminL(w,b,ξ,α,μ)
等价于
-
简述拉格朗日法与增广拉格朗日法之间的差别?对于LASSO问题
写出它的增广拉格朗日函数法。
答: -
写出线性规划问题
的增广拉格朗日函数法。 -
列举几类步长搜索的方法?写出使用次梯度方法求解 LASSO 问题:
-
简述使用梯度类算法面临的困难有哪些?
-
写出使用 Newton 方法求解二分类逻辑回归问题:【课本P239】
-
计算常用激活函数 Logistic 函数、Tanh 函数、LeakyReLU 函数、Swish 函数的导数。
-
如果对线性最小二乘问题的目标函数增加正则项使之变为
的目标函数数增加正则项使之变为
(a)请问能否给出新问题的解析解(即显式表达式)?如果能,请给出具体推导过程,如果不存在,请说明理由,并给出一种迭代求解方法。
(b)将上述解析表达式或者迭代方法应用于线性回归问题,给出具体的表达式或者迭代公式。 -
写出利用 ADMM 算法优化 LASSO 问题的过程:
-
利用ADMM算法求解全局一致性问题:
-
利用ADMM 算法求解非负矩阵分解和补全问题:
其中,Q 表示矩阵M中的已知元素的下标集合, P Ω ( A ) P_\Omega(A) PΩ(A) 表示得到一个新的矩阵 A’,其下标在集合 Ω \Omega Ω 中的所对应的元素等于矩阵 A 的对应元素,其下标不在集合 Ω \Omega Ω 中的所对应的元素为 0。 -
用近似点梯度方法求解LASSO问题:
-
什么是监督学习中的过拟合现象,造成过拟合现象的主要原因是什么?
第二部分 模型
第一章 神经网络(MLP, BP, CNN, GNN, and Attention)
1.1 神经网络基础
1.1.1 高次非线性函数
f : X → Y f: X\rightarrow Y f:X→Y
- f 可能是非线性函数
- X(向量)连续和/或离散变量
- Y(向量)连续和/或离散变量
1.1.2 感知器与神经网络
- 从生物神经元到人工神经元(感知器)
- 激活函数
- 人工神经元网络
- 监督学习
- 梯度下降
1.1.3 联结主义模型
- 以人类为例:
- 神经元切换时间约0.001秒
- 神经元数量 1010
- 每个神经元的连接 104-5
- 场景识别时间约0.1秒
- 100个推理步骤似乎还不够 → \rightarrow →大量并行计算
- 人工神经网络(ANN)的性质
- 许多神经元样阈值切换单元
- 单元之间的许多加权互连
- 高度并行、分布式的流程
1.1.4 动机——为什么每个人都在谈论深度学习?
- 因为在这上面投入了很多钱…
- DeepMind:被谷歌以400百万美元收购
- DNNResearch:三人创业(包括Geoff Hinton)被谷歌收购
- Enlitic、Ersatz、MetaMind、Nervana、Skylab:深度学习初创公司获得数百万风险投资,因为它登上了《纽约时报》的头版
- 深度学习:
- 赢得了无数的模式识别比赛
- 只需最少的功能工程即可实现
事实并非总是如此!自20世纪80年代以来:模型的形式没有太大变化,但有很多新的技巧…
- 更多隐藏单元
- 更好的(在线)优化
- 新的非线性函数(ReLU)
- 更快的计算机(CPU和GPU)
1.1.5 背景
机器学习的配方
- 给定的训练数据 { x i , y i } i = 1 N \{ x_i,y_i\}^N_{i=1} {xi,yi}i=1N
- 选择函数
2.1 决策函数 y ^ = f θ ( x i ) \hat{y}=f_{\theta}(x_i) y^=fθ(xi)
今天的目标:① 探索一类新的决策函数(神经网络);② 考虑此配方的变体进行训练
2.2 损失函数 l ( y ^ , y i ) ∈ R l(\hat{y},y_i)\in R l(y^,yi)∈R - 设定目标 θ ∗ = a r g m i n ∑ i = 1 N l ( f θ ( x i ) , y i ) \theta^*=arg\; min \sum^N_{i=1}l(f_\theta(x_i),y_i) θ∗=argmin∑i=1Nl(fθ(xi),yi)
- 使用SGD进行训练(在梯度对面迈出小步):
θ
(
t
+
1
)
=
θ
(
t
)
−
η
t
∇
l
(
f
θ
(
x
i
)
,
y
i
)
\theta^{(t+1)}=\theta^{(t)}-\eta_t\nabla l(f_\theta(x_i),y_i)
θ(t+1)=θ(t)−ηt∇l(fθ(xi),yi)
∇ \nabla ∇—— 梯度,反向传播可以计算出这个梯度!这是一种更通用的算法的特例,称为反向模式自动微分,它可以有效地计算任何可微函数的梯度!
1.1.6 神经网络架构
即使对于基本的神经网络,也有许多设计决策需要做出:
- 隐藏层数(深度)
- 每个隐藏层的单元数(宽度)
- 激活函数类型(非线性)
- 目标函数的形式
1.1.7 激活函数
到目前为止,我们已经假设激活函数(非线性)总是S形函数,一个新的变化——修改非线性
- 逻辑在现代人工神经网络中没有广泛使用
t a n h ( x ) tanh(x) tanh(x)——类似于逻辑功能,但转移到范围[-1,+1]
- reLU(整流线性单元)经常用于视觉任务
-
m a x ( 0 , z ) max(0,z) max(0,z)——截断为零的线性(实现:通过零时剪裁渐变)
-
软版本: l o g ( e x p ( x ) + 1 ) log(exp(x)+1) log(exp(x)+1)
- 不饱和(在一端)
- 稀疏输出
- 有助于消除渐变
-
1.1.8 神经网络的目标函数
- 回归:
- 使用与线性回归相同的目标
- 二次损失(即均方误差)
- 分类:
- 使用与逻辑回归相同的目标
- 交叉熵(即负对数似然)
- 这需要概率,因此我们在网络末端添加了一个额外的“softmax”层
匹配测验:假设你有一个神经网络,只有一个输出y和一个隐藏层。
1) 最小化误差平方和…
2) 最小化平方误差之和加上权重的平方欧几里得范数…
3) 最小化交叉熵…
4) 最大限度地减少铰链损失…
5) …假设目标遵循伯努利,参数由输出值给定,则权重的MLE估计
6) ……假设权重先验为零均值高斯的权重的MAP估计
7) …在训练数据上有很大差距的估计
8) …假设输出值上的平均高斯噪声为零的权重的MLE估计
1.2 卷积神经网络(CNN ,Convolution neural network)
1.2.1 Convolution Layer【卷积层】
将过滤器器与图像卷积,即“在图像上进行空间滑动,计算点积”
1.2.2 Feature Maps【特征图】
提取一个特征(1个数字):在滤波器和图像的5x5x3小块之间取点积的结果(即 5 ∗ 5 ∗ 3 = 75 5*5*3=75 5∗5∗3=75维点积+偏差) ω T x + b \omega ^Tx+b ωTx+b
1.2.3 More Filters【更多过滤器】
例如,如果我们有6个5x5过滤器,我们将获得6个单独的激活图
我们把这些叠起来,得到一张尺寸为28x28x6的“新图像”!
1.3 图神经网络(GNN ,Graph neural network)
1.3.1 邻域聚合
- 关键思想:基于局部邻域生成节点嵌入。
- 意图:
- 节点使用神经网络聚合来自邻居的信息
- 网络邻域定义计算图——每个节点都定义了一个唯一的计算图!
- 节点在每一层都有嵌入。
- 模型可以是任意深度。
- 节点u的“第0层”嵌入是其输入特征,即xu。
-
邻域“卷积”——邻域聚合可以被视为中心环绕滤波器。
-
关键区别在于不同的方法如何跨层聚合信息。
基本方法:平均邻居信息并应用神经网络。
1.3.1 训练模型
我们如何训练模型以生成“高质量”的嵌入?
Z v = h v K Z_v=h^K_v Zv=hvK——在邻域聚合的K层之后,我们得到每个节点的输出嵌入。
- 我们可以将这些嵌入馈送到任何损失函数中,并运行随机梯度下降来训练聚合参数。
- 仅使用图结构以无监督的方式进行训练。
- 无监督损失函数可以是上一节中的任何内容,例如,基于
- 随机行走(node2vec、DeepWalk)
- 图分解
- 对比学习,训练模型,使“相似”节点具有相似的嵌入。
1.4 循环神经网络与注意力机制
1.4.1 根据过程序列分类的RNN
- 原始神经网络
- 机器翻译【单词序列->单词序列】
- 图像字幕【图像->单词序列】
- 情绪分类【单词顺序->情绪】
- 帧级别的视频分类
1.4.2 RNN
我们可以通过在每个时间步长应用递推公式来处理向量x的序列:
注意:在每个时间步长使用相同的函数和相同的参数集。
1.4.3 注意力机制
更一般的定义:
- 给定一组向量值和一个查询向量,注意力机制是一种根据查询计算值的加权和的技术。
- 加权和是对值中包含的信息的选择性汇总,其中查询确定要使用哪些值。
例如,在 seq2seq+attention 模型中,每个解码器隐藏状态(查询)关注所有编码器隐藏状态(值)
更正式的定义:
- 对于查询向量q,关键向量
k
i
k_i
ki 表示值
v
i
v_i
vi
s i s_i si是 q 和 k i k_i ki 之间的相似性得分 - 将相似性得分归一化为 p i = S o f t m a x ( s i ) p_i=Softmax(s_i) pi=Softmax(si)
- 计算 z 为值向量
v
i
v_i
vi 的加权和,值向量
v
i
v_i
vi 由其得分
p
i
p_i
pi 加权。
z = ∑ i = 1 L p i v i z=\sum^L_{i=1}p_iv_i z=∑i=1Lpivi - 在机器翻译和图像字幕中,键和值是相同的。但是,它们可能会有所不同。
第二章 模糊逻辑系统
2.1 概述
- 什么是模糊逻辑?
模糊逻辑是一种嵌入知识和推理(经验、专业知识、启发式)的工具。 - 为什么是模糊逻辑?
- 人类的知识是模糊的:用“模糊”的语言术语表达,例如,年轻、年老、庞大、廉价。
示例:温度表示为冷、暖或热。 - 没有数量意义。
- 人类的知识是模糊的:用“模糊”的语言术语表达,例如,年轻、年老、庞大、廉价。
- 何时以及为什么应用模糊逻辑?
- 人类知识可用
- 数学模型未知或无法获得
- 过程基本上是非线性的
- 缺乏精确的传感器信息
- 在更高层次的控制系统中
- 在决策过程中
- 推断的证据和解释以及需要。
- 如何将人类知识转化为模型?
- 知识应结构化。
- 可能的缺点:
- 知识是主观的
- “专家”可能会在极端观点之间摇摆不定:
- 在构建知识方面存在问题,或者
- 过于了解其专业知识,或
- 倾向于隐藏“知识”,或者。。。
- 解决方案:找一位“好”专家。
2.2 模糊逻辑
- 模糊逻辑试图对人脑的推理方式进行建模。
- 几乎所有的知识都可以用 IF-THEN 规则的形式表达。
- 人类的推理普遍是近似的、非数量的、语言的和处置的(意思是,通常是确定的)。
2.3 Fuzzy Sets vs Crisp Sets【模糊集与二元集】
μ——隶属度、可能性分布、归属度
2.4 函数建模或近似:曲线或曲面拟合
2.4.1 曲线拟合的标准数学方法(或多或少令人满意的拟合)
2.4.2 使用模糊规则(面片)进行曲线拟合。2个输入或超曲面(3个或更多输入)的曲面近似
例如:
考虑用模糊规则对两个不同的函数进行建模
两个原始函数(两个图中的实线)由 IF-THEN 规则产生的三个补丁覆盖,并由两个可能的逼近器(虚线和虚线)建模。
汽车示例
两车间距的模糊控制
输入:D=距离,v=速度
输出:B=制动力
分析给定距离D和不同速度v的规则,即:
B
=
f
(
v
)
B=f(v)
B=f(v)
如果速度较低,则制动力较小
如果速度为中等,则制动力为中等
如果速度较高,则制动力较高
2.5 模糊逻辑系统
模糊集边界
- 设 X 是话语的宇宙,其元素表示为 x。在经典集合论中,X 的清晰集 A 被定义为函数
χ
A
\chi_A
χA,称为 A 的特征函数。
这个集合将宇宙 X 映射到一个由两个元素组成的集合。对于宇宙 X 的任何元素 x,如果 x 是集合 A 的元素,则特征函数 χ A ( x ) \chi_A(x) χA(x) 等于1,如果 x 不是 A 的元素则特征函数等于 0。 - 在模糊理论中,宇宙 X 的模糊集 A 由称为集 A 的隶属函数的函数
µ
A
µ_A
µA 定义
集合的定义允许一系列可能的选择。对于宇宙 X 的任何元素 x,隶属度函数 µ A ( x ) µ_A(x) µA(x) 等于 x 是集合 A 的元素的程度。这个程度是0到1之间的值,表示元素 x 在集合 A 中的隶属度,也称为隶属度值。
模糊集形式定义:X 中的模糊集 A 表示为一组有序对:
- 模糊隶属函数(FMF)
- 所有模糊集的关键问题之一是如何确定模糊隶属函数
- 隶属函数提供了元素与模糊集相似程度的度量
- 成员身份函数可以采取任何形式,但在实际应用程序中出现了一些常见的示例
- Trapezoidal Membership Function【梯形隶属函数】
- Triangular Membership Function【三角隶属函数】
- Gaussian membership function【高斯隶属函数】
- Trapezoidal Membership Function【梯形隶属函数】
并集、交集和互补的模糊集运算是根据隶属函数定义的,如下所示:
- 并集
µ
A
∪
B
(
x
)
=
m
a
x
(
µ
A
(
x
)
,
µ
B
(
x
)
)
µ_{A∪B}(x) = max(µ_A(x), µ_B(x))
µA∪B(x)=max(µA(x),µB(x))
- 交集
µ
A
∩
B
(
x
)
=
m
i
n
(
µ
A
(
x
)
,
µ
B
(
x
)
)
µ_{A∩B}(x) = min(µ_A(x), µ_B(x))
µA∩B(x)=min(µA(x),µB(x))
- 互补
µ
n
o
t
A
(
x
)
=
1
−
µ
A
(
x
)
µ_{not\;A}(x) = 1- µ_A(x)
µnotA(x)=1−µA(x)
模糊集其他运算:
- Max membership principle【最大隶属值原则】
- Centroid method【质心法】
模糊规则分类器的推理:
为了简单起见,让规则库包含9个模糊IF-THEN规则并且具有如下的两个输入x和y:
规则1:如果输入1为A1,输入2为B1,则输出为C1
规则2:如果输入1为A1,输入2为B2,则输出为C2
规则3:如果输入1为A1,输入2为B3,则输出为C3
规则4:如果输入1为A2,输入2为B1,则输出为C4
规则5:如果输入1为A2,输入2为B2,则输出为C1
规则6:如果输入1为A2,输入2为B3,则输出为C6
规则7:如果输入1为A3,输入2为B1,则输出为C7
规则8:如果输入1为A3,输入2为B2,则输出为C8
规则9:如果输入1为A3,输入2为B3,则输出为C6
实际:输入1是x0,输入2是y0
结果:输出为C
规则的激发级别,表示为 α i \alpha_i αi,i=1,2,…,9,通过以下公式计算:
如果几个模糊规则具有相同的结果类,则必须将它们的激发强度组合起来。通常使用OR运算。
单个规则输出的计算方式如下:
整体分类器输出由选择
2.6 例子
模糊逻辑的一个简单例子
控制风扇:
- 传统型号——如果温度>X,运行风扇,否则停止风扇
- 模糊系统:
- 如果温度=高温,则全速运转风扇
- 如果温度=温热,则以中等速度运行风扇
- 如果温度=舒适,保持风扇转速
- 如果温度=冷却、慢速风扇
- 如果温度=冷,则停止风扇
高个子男人例子:
模糊集合中的经典例子是“高个子男人”。模糊集合“高个子”的元素都是男人,但他们的隶属度取决于他们的身高。
x 轴代表话语的宇宙——所有可能价值的范围。适用于选定的变量。在我们的例子中,变量是人的身高。根据这一表述,男性身高的宇宙由所有高个子男性组成。y 轴表示模糊集的隶属度值。在我们的例子中,“高个子”的模糊集合将身高值映射为相应的成员值。
模糊集表示
- 首先,我们确定成员函数。在我们的“高个子男人”例子中,我们可以定义高个子、矮个子和普通男人的模糊集合。
- 三个定义的模糊集合的话语宇宙由男性身高的所有可能值组成。
例如,身高184厘米的男子是0.1度的普通男子组的成员,同时,他也是0.4度的高个子男子组的一员
图像边缘检测
第三章 特征选择与提取(PCA and sparse representation)
在实践中,一组数据可能包含大量冗余或与分类无关的原始特征。由于维数灾难,用这样的数据训练模型通常在计算上是困难的,更糟糕的是,训练的模型通常具有较差的泛化能力,具有较大的方差或过拟合问题。
因此,在训练模型或对数据集进行聚类之前,有必要进行降维处理。降维包括两种不同的方法:特征选择和特征提取。
特征选择与特征提取
- 特征选择只是返回原始特征的子集;
- 特征提取从原始特征的函数中创建新的特征(变量);
例如在最简单的情况下原始特征的线性组合。【特征提取通常产生比特征选择小得多的特征子集,但通常在物理上没有意义,因此很难解释。】
注意:特征选择可以被视为特征提取的一种特殊情况,在这种情况下不会创建新的特征。
3.1 特征选择
根据原始数据集标签信息的利用方式,特征选择算法可以分为有监督、半监督、无监督、自监督和对抗性。
特征选择方法的四个主要步骤
Generation【生成】—— 选择候选特征子集。
Evaluation【评价】 —— 计算子集的相关性值。
Stopping criterion【停止条件】 —— 确定子集是否相关。
Validation【验证】—— 验证子集的有效性。
3.1.1 分类的特征选择
- 过滤器方法
评估 fn:独立于分类器,因此更通用。
忽略了所选子集对分类器性能的影响。 - 包装器方法
评估 fn = 分类器
将分类器考虑在内。
失去一般性。
高度准确。 - 嵌入式方法
关于评估的更多信息
- 确定生成的候选特征子集与分类任务的相关性。
- 5种主要类型的评估功能。
距离(欧几里得距离度量)
信息(熵、信息增益等)
依赖性(相关系数)
一致性(最小特征偏差)
分类器错误率(分类器本身)
分类器错误率
- 包装方法。
error_rate = 分类器(候选特征子集)
如果(error_rate < 预定义阈值),则选择特征子集 - 特征选择失去了一般性,但在分类任务中获得了准确性。
- 计算成本非常高。
不同的视角
- 决策树方法
在训练集上跑C4.5。所选的特征(属性)是C4.5生成的修剪决策树中所有特征的并集。随机森林算法也是一种特征选择方法。 - 粗糙集方法
寻找约简实际上是一个特征选择的过程 - 正则化方法
假设 H 由 { g ( β T x ) } \{g(\beta^Tx)\} {g(βTx)} 是某个函数组成, C ( H ) C(H) C(H) 由 ∣ ∣ β ∣ ∣ ||\beta|| ∣∣β∣∣ 定义。如果最优 β ∗ \beta^* β∗(给定h*)具有多个零分量,那么它相当于去除了特征向量 x 中的对应分量,从而完成了特征选择任务。
x:特征向量, β \beta β:要优化的参数向量
备注:
前两种方法都不直接参考分类的错误率,以特征子集结束,同时以基于规则的决策模型结束(前者是树,后者是可立即提取规则的简化表)。因此,它们是基于过滤器的方法,或多或少也是嵌入式方法。
第三种方法有两个目的(即学习模型 h 和选择特征),是基于包装的风格,因为它取决于 h(假设空间)和错误率 R e m h R_{emh} Remh
3.1.2 两类问题的救济算法
3.1.2.1 基于属性重要性的属性约简算法
给定属于两个已知类的n个实例的p维(即p个特征)训练数据集D。
基本思路:
属于同一类的实例应该比属于不同类的实例更紧密地联系在一起。查找要素与 w.r.t 类的相关性级别。
救济算法:
- 设置一个正阈值 τ \tau τ 集合 S=selected_subset={};初始化所有特征 w(i) = 0
- 重复以下过程m次
①从训练数据集D中随机选择一个实例 x = ( x 1 , x 2 , … , x p ) T x=(x_1, x_2, …, x_p)^T x=(x1,x2,…,xp)T;
②在D中计算其接近命中 H:最接近的同类实例;
③在D中计算其未遂 M:=最接近的不同类实例;
④更新所有要素的权重:
- for i=1 to p
如果 w ( i ) / m > τ w(i)/m>\tau w(i)/m>τ,则将第 i 个特征添加到 S 。
注意:如果任何给定特征在同一类的附近实例中与该特征的差异大于另一类的邻近实例,则该特征的权重会降低,反之则会增加。
利弊
- 缺点:
- 仅适用于二进制类问题。
- 训练不足的例子会导致愚蠢的救济。
- 如果大多数特征都是相关的,则救济选择所有特征(即使没有必要)。
- 由于功能重复,无法删除冗余
- 优点:
- 线性时间,非常快
- 噪声耐受性。
- 不受特征交互的影响(权重是累积的,共同决定)。
3.1.2.2 最小冗余最大相关性(mRMR)特征选择
两个离散随机变量X和Y的互信息可以定义为
p(X,Y)是Xand Y的联合概率分布函数,p(X)和p(Y)分别是X和Y的边际概率分布函数。
类别 c 的特征集 S 的相关性由个体特征 f i f_i fi 和类别 c 之间的所有互信息值的平均值定义如下:
集合 S 中所有特征的冗余度是特征 f i f_i fi 和特征 f j f_j fj 之间的所有互信息值的平均值:
特征选择的mRMR标准: m a x D ( S , c ) & m i n R ( S ) max\;D(S,c)\;\&\;min\;R(S) maxD(S,c)&minR(S),这是一个多目标优化问题。
替代方案(转换为单一目标):
可以证明:
I
(
x
,
y
)
=
E
n
t
r
o
p
y
(
y
)
−
E
n
t
r
o
p
y
(
y
∣
x
)
=
g
a
i
n
(
x
)
I(x, y) = Entropy(y) - Entropy(y | x) = gain (x)
I(x,y)=Entropy(y)−Entropy(y∣x)=gain(x)
=
E
n
t
r
o
p
y
(
x
)
−
E
n
t
r
o
p
y
(
x
∣
y
)
=
g
a
i
n
(
y
)
= Entropy(x) - Entropy(x | y) = gain (y)
=Entropy(x)−Entropy(x∣y)=gain(y)
如果我们在ID3算法中将一个变量视为决策属性,将另一个视为测试属性。因此,两个变量(属性)之间的相关性或依赖性相当于一个变量相对于另一个变量引起的分区的纯度(或重叠)。或者,条件熵实际上是对条件概率的度量。
设xi为特征fi的集合隶属度指标函数,i=1,…,n,然后,mRMR可以重写为
一个非线性组合优化问题,很难在多项式时间内精确求解。
实现 mRMR 准则的简化贪心替代:
J(f) 的值量化了给定特征 f 与分类任务的相关性,该分类任务因 f 和其他特征之间的冗余而受到惩罚。
设F为全特征集。设置一个正整数 k 作为阈值。然后,基于 mRMR 准则的近似算法进行如下:
- 初始化S为空;
- 选择 F 或 S 中使J(f)最大化的特征 f,并设置
3.1.2.3 对比
3.2 特征提取(无监督的)
- 线性变换(变量级别)
原始变量向量 x = ( x 1 , x 2 , . . . , x p ) T x=(x_1, x_2, ..., x_p)^T x=(x1,x2,...,xp)T,即 p 个特征;
提取的变量向量 z = ( z 1 , z 2 , . . . , z d ) T z=(z_1, z_2, ..., z_d)^T z=(z1,z2,...,zd)T,即 d 个特征,d<p
其中 A d × p A_{d\times p} Ad×p 或 B p × d B_{p\times d} Bp×d 是满足某些条件的矩阵 - 线性变换(数据级)
给定 R p R^p Rp 中的一组样本: X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn,设 X p × n = ( X 1 , X 2 , . . . , X n ) X_{p\times n}=(X_1, X_2, ..., X_n) Xp×n=(X1,X2,...,Xn)
求矩阵 A p × d A_{p\times d} Ap×d 和 R d × n = ( r 1 , r 2 , . . . , r n ) ( d < p ) R_{d\times n} =(r_1, r_2, ..., r_n)\;(d<p) Rd×n=(r1,r2,...,rn)(d<p),使得
A p × d A_{p\times d} Ap×d 满足某些条件 ⟹ X i \Longrightarrow X_i ⟹Xi 简化为 d 维向量 r i , i = 1 , … , n r_i,i=1,…,n ri,i=1,…,n
没有提取出明确的新特征,但生成了新的低维数据 - 非线性变换(变量级别)
原始变量向量 x = ( x 1 , x 2 , . . . , x p ) T x=(x_1, x_2, ..., x_p)^T x=(x1,x2,...,xp)T,即 p 个特征;
提取的变量向量 z = ( z 1 , z 2 , . . . , z d ) T z=(z_1, z_2, ..., z_d)^T z=(z1,z2,...,zd)T,即 d 个特征,d<p
z=F(x),其中F是满足某些条件的非线性映射 - 非线性变换(数据级)
给定 R p R^p Rp 中的一组样本: X 1 , X 2 , . . . , X n X_1, X_2, ..., X_n X1,X2,...,Xn,找到一个非线性映射 F : R P → R d , d < p F: R^P\rightarrow R^d,\;d<p F:RP→Rd,d<p,满足某些条件并且 r i = F ( X i ) , i = 1 , … , n r_i=F(X_i),i=1,…,n ri=F(Xi),i=1,…,n 是缩减的 d 维向量。
没有提取出明确的新特征,但生成了新的低维数据
3.2.1 Subspace representation【子空间表示】
- 观察
高维空间中的数据点通常大多位于低维子空间或流形上。 - 思想
找到最接近数据的子空间和一组跨越该子空间的基向量。然后,原始数据点可以(近似地)由这组向量表示,并用其相应的表示系数向量来代替每个,该表示系数向量的维数是子空间的维数(或基向量的数量)。从而进行了降维。 - 注记
这种方法非常类似于将数据点投影到适当的较低维度子空间上,这样在投影后可以尽可能多地保持数据的一些固有特性,或者可以尽可能小地保持总体投影误差
LDA(Fisher判别式)是一种典型的子空间方法,其中所有数据点都投影到一条线上(1-D),因此任何高维数据点 x 都被减少到实数wTx 代替,w 表示平行于该线的方向矢量。
3.2.2 Matrix Decomposition【矩阵分解】(一种子空间方法)
-
给定维度 p 的 n 个观测 X 1 , X 2 , … , X n X_1,X_2,…,X_n X1,X2,…,Xn(即在p个变量的向量上)
-
让数据矩阵为
-
矩阵分解试图找到满足某些条件(例如满秩或正交性)的p-by-d(d<p)基矩阵A和解决最小化问题的d-by-n表示矩阵R:
-
然后,最优数据替换原始数据X,实现降维
-
最小化过程可以被视为找到A和R,使得以下矩阵分解(几乎)成立
X ≈ A R X≈AR X≈AR,其中
-
然后以矢量方式,我们
-
换言之,原始 p 维数据点可以用 d 个线性独立向量 { a k , k = 1 , … , d } \{a_k,k=1,…,d\} {ak,k=1,…,d}表示,将原始X替换为R:
-
矩阵分解方法在数据层面起作用;没有明确的提取特征可用;
-
降维后的数据点由表示系数组成,完全没有任何语义或物理意义,即每个维度(或特征)都很难解释。
-
对于原始空间中的新样本x,必须计算表示系数,以获得其减少的低维对应物r,即,x=Ar 或 m i n ∣ ∣ x − A r ∣ ∣ min||x-Ar|| min∣∣x−Ar∣∣ 或通过某种方法。
矩阵分解评述
- d的选择至关重要;
- 显然,秩 ( A R ) ≤ d (AR)\le d (AR)≤d。因此,如果秩 ( X ) > d (X)>d (X)>d,则精确分解X=AR永远不成立!
- 对于太小的d,最小的可能误差 ∣ ∣ X − A R ∣ ∣ ||X-AR|| ∣∣X−AR∣∣ 可能很大,导致较差的降维结果(就聚类或分类而言)。
- 如果将一些正则项添加到矩阵分解目标函数中,例如,对于常数 α>0
则第一项旨在最小化分解误差,而第二项旨在获得稀疏表示矩阵,其中α作为两项之间的折衷。 - 目标函数中涉及的范数 ∣ ∣ ∣ ∣ ||\;|| ∣∣∣∣理论上可以是任何Lp型(或Frobenius范数),但具有不同程度的实际可解性困难。
3.2.3 PCA method【主成分分析方法】
- 主成分分析(PCA),由 Karl Pearson 于1901年发明
- 一种统计程序,使用正交变换将一组可能相关变量的观测值转换为一组线性不相关变量的值,称为主成分。
- 这种转换的定义方式是,第一主成分具有最大的可能方差,第二主成分具有第二大的可能方差等。
- 主成分分析可以从不同的角度进行一些解释,从而获得其表达的不同方式。
给定在p的向量上的n个观测值 X 1 , X 2 , … , X n X_1,X_2,…,X_n X1,X2,…,Xn的样本变量
计算样本平均值:
样本的协方差矩阵:
让
u 是 x 在单位向量 y 生成的线上的投影。然后,样本中变量 u 的方差为
PC的代数定义
样品的第一个主要成分
是以下各项的最佳解决方案:
第一个PC在样本中保留了最大的变化量。换句话说,样本 x 在由 a1 生成的线上的投影具有最大的方差。
通常,将样本的第k个PC
定义为最大化问题的最优解
样品在ak上的投影:
然后,
在与第一个k-1主分量正交的子空间内给出样本中的最大方差
让 λ 1 ≥ λ 2 ≥ . . . ≥ λ p ≥ 0 \lambda_1 \ge \lambda_2 \ge ... \ge \lambda_p \ge 0 λ1≥λ2≥...≥λp≥0 为 S 的特征值,
A = ( a 1 , a 2 , … , a n ) A=(a_1,a_2,…,a_n) A=(a1,a2,…,an) 然后 A T A = I ⟹ A^TA=I \Longrightarrow ATA=I⟹ A 是正交矩阵 ⟺ \Longleftrightarrow ⟺在 R p R^p Rp 中形成正交基
在这个正交变换之后,新变量z有一个不同的方差分布。
和 V a r ( z i ) Var(z_i) Var(zi) 已经按降序排列。因此,如果我们只保留前d(<p)个变换变量作为我们提取的特征 z ′ = ( z 1 , z 2 , … , z d ) z'=(z1,z2,…,zd) z′=(z1,z2,…,zd)(即,对应于前d个PC),则降维是在样本方差方面的一些信息损失的情况下进行的,样本方差由样本协方差矩阵的第一(p-d)个最小特征值之和界定。
在计算PC之前,通常通过以下方式定义标准化变量是有用的
通过这种方式,S*=S,得到的PC将是无量纲的。主成分分析最大的问题是在语义上解释 PC 和 z’ 的困难;它们在实践中可能毫无意义,尤其是当PC同时包含正条目和负条目时。
例如,x1表示“尺寸”,x2表示“头发颜色”,x3表示“眼睛颜色”,如果第一主成分显示:
则新变量z1可能在语义上毫无意义。
主成分分析(Principal Component Analysis,PCA)是一种线性降维技术,用于数据预处理、特征提取和数据压缩。PCA 通过将高维数据投影到一个低维空间,保留数据的主要信息,从而实现降维。以下是对PCA的详细介绍。
什么是PCA Method
PCA 是一种统计方法,通过线性变换将数据集从高维空间映射到低维空间。其目标是找到数据方差最大化的方向(即主成分),这些方向是数据的主要变化趋势。PCA 是一种无监督学习方法,不需要标签数据。
工作原理
- 数据标准化:对数据进行标准化处理,使其均值为0,方差为1。
- 计算协方差矩阵:计算数据的协方差矩阵,以衡量特征之间的关系。
- 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
- 选择主成分:选择前 k 个最大的特征值对应的特征向量作为主成分。
- 数据投影:将数据投影到选定的主成分上,得到降维后的数据。
优缺点
- 优点
- 降低维度:有效减少数据的维度,减少计算成本和存储需求。
- 去除冗余:通过去除相关性高的特征,保留数据的主要信息。
- 数据可视化:将高维数据投影到二维或三维空间,便于数据的可视化和理解。
- 简化模型:降维后的数据可以提高机器学习模型的性能,减少过拟合风险。
- 缺点
- 线性假设:PCA 假设数据是线性可分的,对于非线性数据效果较差。
- 信息损失:降维过程中可能会丢失一些重要信息,尤其是当主成分数较少时。
- 解释性差:降维后的特征(主成分)往往缺乏直观的物理意义,难以解释。
- 敏感性:对异常值和噪声较为敏感,可能影响结果的准确性。
解决的问题
PCA 主要用于以下几类问题:
- 数据降维:将高维数据降维到低维空间,以便进行数据处理和分析。
- 特征提取:从高维数据中提取有用的特征,用于分类、回归等机器学习任务。
- 数据压缩:减少数据的维度,降低存储和计算成本。
- 去除噪声:通过去除方差较小的特征,减少数据中的噪声。
常见应用场景
- 图像处理:用于图像降维和特征提取,如人脸识别中的特征提取。
- 信号处理:用于压缩和降噪,如音频信号的压缩。
- 金融分析:用于降维和特征提取,如股票价格数据的分析。
- 文本处理:用于文本数据的降维和特征提取,如文档分类和聚类。
小结
PCA 是一种经典且广泛应用的线性降维技术,通过找到数据方差最大化的方向,将高维数据投影到低维空间,保留数据的主要信息。尽管其假设数据是线性可分的,且在降维过程中可能会丢失一些信息,但其在数据预处理、特征提取和数据压缩等领域表现出色。
3.2.4 Kernel PCA【核的主成分分析】
Kernel Principal Component Analysis (Kernel PCA) 是一种非线性降维技术,它通过引入核方法(Kernel Method)扩展了传统的主成分分析(PCA)。
什么是Kernel PCA
Kernel PCA 是一种基于核方法的降维技术,用于处理非线性数据。它通过将数据映射到一个高维的特征空间,在这个高维空间中进行线性PCA,从而捕捉到数据的非线性特征。
工作原理
- 选择核函数:选择一个合适的核函数 k(x,y),如线性核、多项式核、高斯径向基函数(RBF)核等。
- 计算核矩阵:计算核矩阵 K,其中 K i j = k ( x i , x j ) K_{ij}=k(x_i,x_j) Kij=k(xi,xj)
- 中心化:对核矩阵进行中心化处理。
- 特征值分解:对中心化后的核矩阵进行特征值分解,得到特征值和特征向量。
- 降维:选择前 d 个最大的特征值对应的特征向量,将数据投影到这些特征向量上,得到降维后的数据。
优缺点
- 优点
- 处理非线性结构:Kernel PCA 能够捕捉数据的非线性结构,这一点是传统PCA无法做到的。
- 灵活性:通过选择不同的核函数,Kernel PCA 可以适应各种不同类型的数据分布和结构。
- 无需显式映射:无需显式计算高维空间中的坐标,直接通过核函数计算内积,避免了高维计算的复杂性。
- 缺点
- 计算复杂度高:计算核矩阵和进行特征值分解的时间复杂度较高,尤其是对于大规模数据集。
- 参数选择困难:选择合适的核函数和其参数(如RBF核中的带宽参数)可能比较困难,需要经验和实验。
- 解释性差:降维后的特征在原始空间中没有直观的解释,难以理解具体的物理意义。
解决的问题
Kernel PCA 主要用于以下几类问题:
- 非线性降维:用于将高维非线性数据降维,以便进行数据可视化或进一步的分析。
- 特征提取:在模式识别和机器学习中,Kernel PCA 可以用于提取数据中的非线性特征。
- 数据预处理:在应用其他机器学习算法前,使用Kernel PCA对数据进行预处理,以提高模型的性能。
常用核函数
- 线性核: k ( x , y ) = x T y k(x,y)=x^Ty k(x,y)=xTy
- 多项式核: k ( x , y ) = ( x T y + c ) d k(x,y)=(x^Ty+c)^d k(x,y)=(xTy+c)d
- 高斯RBF核: k ( x , y ) = e x p ( − ∥ x − y ∥ 2 2 σ 2 ) k(x,y)=exp(-\frac{∥x−y∥^2}{2σ^2}) k(x,y)=exp(−2σ2∥x−y∥2)
小结
Kernel PCA 是一种强大的工具,特别适用于处理非线性数据结构。尽管其计算复杂度较高且参数选择具有挑战性,但它在许多实际应用中都表现出色,尤其在需要非线性特征提取的场景中。
3.2.5 Manifold Learning【流形学习】
Manifold Learning(流形学习)是一类非线性降维技术,旨在发现高维数据中潜在的低维流形结构。流形学习假设高维数据实际上是嵌入在一个低维流形中的,通过揭示这种低维结构,可以更好地理解和处理数据。
什么是Manifold Learning
流形学习假设高维数据点分布在一个低维的流形上,即高维数据可以通过一个低维的嵌入空间来表示。流形学习算法通过寻找这种低维嵌入空间,为数据降维,从而揭示数据的内在结构。
常见的Manifold Learning算法
- 等距映射(Isomap):
基于测地距离(Geodesic Distance)来保留数据在流形上的全局几何结构。 - 局部线性嵌入(LLE):
通过保持局部邻域内数据点的线性关系来找到低维表示。 - 拉普拉斯特征映射(Laplacian Eigenmaps):
通过构建数据点的图并计算拉普拉斯矩阵的特征向量来找到低维嵌入。 - t-分布随机邻域嵌入(t-SNE):
通过最小化高维空间中数据点对和低维空间中数据点对的相似性差异来实现降维,特别适用于高维数据的可视化。
优缺点
- 优点
- 揭示非线性结构:Manifold Learning 能够捕捉数据中的非线性结构,比线性降维方法(如PCA)更强大。
- 数据可视化:特别适用于高维数据的可视化,帮助理解数据的内在结构。
- 灵活性:适用于各种类型的数据,包括图像、文本和时间序列数据等。
- 缺点
- 计算复杂度高:许多流形学习算法在处理大规模数据集时计算量大,内存需求高。
- 参数选择困难:选择合适的参数(如邻居数、核函数参数等)往往需要经验和实验。
- 对噪声敏感:某些算法对数据中的噪声较为敏感,可能影响结果的稳定性。
- 非常规数据处理:对于某些非典型的数据分布,流形学习可能无法有效捕捉底层结构。
解决的问题
Manifold Learning 主要用于以下几类问题:
- 非线性降维:将高维数据降维到低维空间,以便进行数据可视化或进一步分析。
- 特征提取:从高维数据中提取低维特征,用于分类、聚类或其他机器学习任务。
- 数据可视化:将高维数据映射到二维或三维空间中,帮助理解数据的结构和模式。
- 异常检测:通过识别低维流形上的异常点,进行异常检测和数据清洗。
常见应用场景
- 图像处理:在图像分类和识别中,流形学习可以帮助提取有用的特征。
- 自然语言处理:用于文本数据的降维和特征提取。
- 生物信息学:用于基因表达数据的分析和可视化。
小结
Manifold Learning 是一种强大的非线性降维技术,通过发现高维数据中的低维流形结构,可以有效地进行数据降维、特征提取和可视化。尽管其计算复杂度较高且参数选择具有挑战性,但在处理复杂数据结构时,流形学习表现出了显著的优势。
3.2.6 Locally Linear Embedding (LLE)【局部线性嵌入】
局部线性嵌入(Locally Linear Embedding, LLE)是一种非线性降维算法,旨在保留高维数据中的局部几何结构。LLE 假设数据在局部邻域内是线性的,并通过保持这些局部关系来找到低维嵌入。以下是对 LLE 的详细介绍。
什么是 Locally Linear Embedding (LLE)
LLE 是一种流形学习方法,它通过分析数据点在其局部邻域中的线性关系,找到数据的低维表示。LLE的核心思想是,虽然数据在全局上可能是非线性的,但在局部上可以近似为线性。
工作原理
- 确定邻居:对于每个数据点,找到其最近的 (K) 个邻居。
- 局部线性重构:对每个数据点 (x_i),用其邻居的线性组合来重构该点。具体地,计算重构权重 (W_{ij}),使得误差最小:
其中 N(i) 是数据点 x i x_i xi 的邻居集合。 - 低维嵌入:在低维空间中找到点 (y_i),使得这些点的重构权重保持不变,即:
通过求解该优化问题,得到低维嵌入 Y。
优缺点
优点
- 保留局部结构:LLE 能够很好地保留数据的局部几何结构,使得降维后的数据在低维空间中保持原有的局部关系。
- 无参数非线性降维:LLE 不需要选择核函数等参数,直接通过局部线性关系进行降维。
- 适用于非线性数据:LLE 能够处理非线性的高维数据,揭示其内在的低维流形结构。
缺点
- 计算复杂度高:LLE 需要计算每个数据点的邻居,并求解特征值问题,计算复杂度较高,尤其在大规模数据集上。
- 对噪声敏感:对数据中的噪声较为敏感,噪声可能会影响局部重构权重的准确性。
- 参数选择:需要选择邻居数 (K),不同的 (K) 值可能会影响结果,需要进行调参。
PPT给的
主要优点:
1) 能够学习任何维度的局部线性低维流形。
2) 该算法简化为稀疏矩阵特征分解,计算复杂度相对较小,易于实现。
3)它可以处理非线性数据并降维。
主要缺点:
1) 样本集必须密集。
2)该算法对最近邻样本的数量很敏感。不同的这样的数字对最终的尺寸缩减结果有很大的影响。
3) 选择适当的d值并不简单
解决的问题
LLE 主要用于以下几类问题:
- 非线性降维:将高维非线性数据降维到低维空间,以便进行数据可视化或进一步分析。
- 特征提取:从高维数据中提取低维特征,用于分类、聚类或其他机器学习任务。
- 数据可视化:将高维数据映射到二维或三维空间中,帮助理解数据的结构和模式。
常见应用场景
- 图像处理:用于图像降维和特征提取,如人脸识别中的特征提取。
- 生物信息学:用于基因表达数据的降维和可视化。
- 文本处理:用于文本数据的降维和特征提取,如文档分类和聚类。
小结
局部线性嵌入(LLE)是一种强大的非线性降维技术,通过保留数据的局部几何结构,实现高维数据的低维表示。尽管其计算复杂度较高且对噪声较为敏感,但在处理复杂的非线性数据时,LLE 能够揭示数据的内在结构,适用于多种数据分析和机器学习任务。