数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
四、流形学习
流形学习
manifold learning
是一类借鉴了拓扑流形概念的降维方法。流形是在局部和欧氏空间同胚的空间,它在局部具有欧氏空间的性质,能用欧氏距离进行距离计算。
如果低维流形嵌入到高维空间中,则数据样本在高维空间的分布虽然看起来非常复杂,但是在局部上仍然具有欧氏空间的性质。
当维数被降低至二维或者三维时,能对数据进行可视化展示,因此流形学习也可用于可视化。
流形学习若想取得很好的效果,则必须对邻域保持样本密采样,但这恰恰是高维情形下面临的重大障碍。因此流形学习方法在实践中的降维性能往往没有预期的好。
流形学习对于噪音数据非常敏感。噪音数据可能出现在两个区域连接处:
- 如果没有出现噪音,这两个区域是断路的。
- 如果出现噪音,这两个区域是短路的。
4.1 多维缩放
4.1.1 多维缩放原理
多维缩放
Multiple Dimensional Scaling:MDS
要求原始空间中样本之间的距离在低维空间中得到保持。假设 $ MathJax-Element-657 $ 个样本在原始空间中的距离矩阵为 $ MathJax-Element-268 $ :
$ \mathbf D=\begin{bmatrix} d_{1,1}&d_{1,2}&\cdots&d_{1,N}\\ d_{2,1}&d_{2,2}&\cdots&d_{2,N}\\ \vdots&\vdots&\ddots&\vdots\\ d_{N,1}&d_{N,2}&\cdots&d_{N,N}\\ \end{bmatrix} $其中 $ MathJax-Element-269 $ 为样本 $ MathJax-Element-917 $ 到样本 $ MathJax-Element-856 $ 的距离。
假设原始样本是在 $ MathJax-Element-897 $ 维空间,目标是获取样本在 $ MathJax-Element-387 $ 维空间且欧氏距离保持不变,其中满足 $ MathJax-Element-274 $ 。
假设样本集在原空间的表示为 $ MathJax-Element-275 $ ,样本集在降维后空间的表示为 $ MathJax-Element-276 $ 。
$ \mathbf X= \begin{bmatrix} \mathbf{\vec x}_1^T\\ \mathbf{\vec x}_2^T\\ \vdots\\ \mathbf{\vec x}_N^T\end{bmatrix} =\begin{bmatrix} x_{1,1}&x_{1,2}&\cdots&x_{1,n}\\ x_{2,1}&x_{2,2}&\cdots&x_{2,n}\\ \vdots&\vdots&\ddots&\vdots\\ x_{N,1}&x_{N,2}&\cdots&x_{N,n}\\ \end{bmatrix}\\ \mathbf Z= \begin{bmatrix} \mathbf{\vec z}_1^T\\ \mathbf{\vec z}_2^T\\ \vdots\\ \mathbf{\vec z}_N^T\end{bmatrix} =\begin{bmatrix} z_{1,1}&z_{1,2}&\cdots&z_{1,n^\prime}\\ z_{2,1}&z_{2,2}&\cdots&z_{2,n^\prime}\\ \vdots&\vdots&\ddots&\vdots\\ z_{N,1}&z_{N,2}&\cdots&z_{N,n^\prime}\\ \end{bmatrix} $所求的正是 $ MathJax-Element-388 $ 矩阵,同时也不知道 $ MathJax-Element-387 $ 。
很明显:并不是所有的低维空间都满足线性映射之后,样本点之间的欧氏距离保持不变。
令 $ MathJax-Element-279 $ ,即 :
$ \mathbf B=\begin{bmatrix} b_{1,1}&b_{1,2}&\cdots&b_{1,N}\\ b_{2,1}&b_{2,2}&\cdots&b_{2,N}\\ \vdots&\vdots&\ddots&\vdots\\ b_{N,1}&b_{N,2}&\cdots&b_{N,N}\\ \end{bmatrix} $其中 $ MathJax-Element-280 $ 为降维后样本的内积。
则根据降维前后样本的欧氏距离保持不变有:
$ d_{ij}^{2}=||\mathbf{\vec z}_i-\mathbf{\vec z}_j||^{2}=||\mathbf{\vec z}_i||^{2}+||\mathbf{\vec z}_j||^{2}-2\mathbf{\vec z}_i^{T}\mathbf{\vec z}_j =b_{i,i}+b_{j,j}-2b_{i,j} $假设降维后的样本集 $ MathJax-Element-388 $ 被中心化,即 $ MathJax-Element-282 $ ,则矩阵 $ MathJax-Element-311 $ 的每行之和均为零,每列之和均为零。即:
$ \sum_{i=1}^{N}b_{i,j}=0,j=1,2,\cdots,N\\ \sum_{j=1}^{N}b_{i,j}=0,i=1,2,\cdots,N $于是有:
$ \sum_{i=1}^{N}d_{ij}^{2}=\sum_{i=1}^{N}b_{i,i}+Nb_{j,j}=tr(\mathbf B)+Nb_{j,j}\\ \sum_{j=1}^{N}d_{ij}^{2}=\sum_{j=1}^{N}b_{j,j}+Nb_{i,i}=tr(\mathbf B)+Nb_{i,i}\\ \sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}^{2}=\sum_{i=1}^{N}\left(tr(\mathbf B)+Nb_{i,i}\right)=2N tr(\mathbf B) $令:
$ d_{i,\cdot}^{2}=\frac 1N \sum_{j=1}^{N}d_{ij}^{2}=\frac{tr(\mathbf B)}{N}+b_{i,i}\\ d_{j,\cdot}^{2}=\frac 1N \sum_{i=1}^{N}d_{ij}^{2}=\frac{tr(\mathbf B)}{N}+b_{j,j}\\ d_{\cdot,\cdot}^{2}=\frac {1}{N^{2}}\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}^{2}=\frac{2tr(\mathbf B)}{N} $代入 $ MathJax-Element-284 $ ,有:
$ b_{i,j}=\frac{b_{i,i}+b_{j,j}-d_{ij}^{2}}{2} =\frac{d_{i,\cdot}^{2}+d_{j,\cdot}^{2}-d_{\cdot,\cdot}^{2}-d_{ij}^{2}}{2} $右式根据 $ MathJax-Element-285 $ 给出了 $ MathJax-Element-286 $ ,因此可以根据原始空间中的距离矩阵 $ MathJax-Element-287 $ 求出在降维后空间的内积矩阵 $ MathJax-Element-311 $ 。
现在的问题是已知内积矩阵 $ MathJax-Element-289 $ ,如何求得矩阵 $ MathJax-Element-388 $ 。
对矩阵 $ MathJax-Element-311 $ 做特征值分解,设 $ MathJax-Element-292 $ ,其中
$ \Lambda=\begin{bmatrix}\lambda_1&0&0&\cdots&0\\ 0&\lambda_2&0&\cdots&0\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 0&0&0&\cdots&\lambda_N \end {bmatrix} $为特征值构成的对角矩阵, $ MathJax-Element-293 $ , $ MathJax-Element-294 $ 为特征向量矩阵。
假定特征值中有 $ MathJax-Element-295 $ 个非零特征值,它们构成对角矩阵 $ MathJax-Element-296 $ 。令 $ MathJax-Element-297 $ 为对应的特征向量矩阵,则 $ MathJax-Element-298 $ 。
此时有 $ MathJax-Element-299 $ , $ MathJax-Element-300 $ 。
在现实应用中为了有效降维,往往仅需要降维后的距离与原始空间中的距离尽可能相等,而不必严格相等。
此时可以取 $ MathJax-Element-301 $ 个最大特征值构成对角矩阵 $ MathJax-Element-302 $ 。令 $ MathJax-Element-314 $ 表示对应的特征向量矩阵,则 $ MathJax-Element-315 $ 。
4.1.2 多维缩放算法
多维缩放
MDS
算法:输入:
- 距离矩阵 $ MathJax-Element-324 $ 。
- 低维空间维数 $ MathJax-Element-387 $ 。
输出:样本集在低维空间中的矩阵 $ MathJax-Element-388 $ 。
算法步骤:
根据下列式子计算 $ MathJax-Element-308 $ :
$ d_{i,\cdot}^{2}=\frac 1N \sum_{j=1}^{N}d_{ij}^{2},\quad d_{j,\cdot}^{2}=\frac 1N \sum_{i=1}^{N}d_{ij}^{2},\quad d_{\cdot,\cdot}^{2}=\frac {1}{N^{2}}\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}^{2} $根据下式计算矩阵 $ MathJax-Element-311 $ : $ MathJax-Element-310 $ 。
对矩阵 $ MathJax-Element-311 $ 进行特征值分解。
取 $ MathJax-Element-312 $ 为 $ MathJax-Element-387 $ 个最大特征值所构成的对角矩阵, $ MathJax-Element-314 $ 表示对应的特征向量矩阵, 计算: $ MathJax-Element-315 $ 。
4.2 等度量映射
4.2.1 算法
等度量映射
Isometric Mapping:Isomap
的基本观点是:低维流形嵌入到高维空间后,直接在高维空间中计算直线距离具有误导性。因为在高维空间中的直线距离在低维嵌入流形上是不可达的。低维嵌入流形上,两点之间的距离是“测地线”
geodesic
距离。计算测地线距离的方法是:利用流形在局部上与欧氏空间同胚这个性质,对每个点基于欧氏距离找出它在低维流形上的近邻点, 然后就能建立一个近邻连接图。
- 图中近邻点之间存在链接。
- 图中非近邻点之间不存在链接。
于是计算两点之间测地线距离的问题转变为计算近邻连接图上两点之间的最短路径问题(可以通过著名的
Dijkstra
算法或者Floyd
算法)。在得到任意两点的距离之后,就可以通过
MDS
算法来获得样本点在低维空间中的坐标。
Isomap
算法:输入:
- 样本集 $ MathJax-Element-371 $
- 近邻参数 $ MathJax-Element-395 $ 。
- 低维空间维数 $ MathJax-Element-387 $ 。
输出:样本集在低维空间中的矩阵 $ MathJax-Element-388 $ 。
算法步骤:
- 对每个样本点 $ MathJax-Element-917 $ ,计算它的 $ MathJax-Element-395 $ 近邻。同时将 $ MathJax-Element-917 $ 与 它的 $ MathJax-Element-395 $ 近邻的距离设置为欧氏距离,与其他点的距离设置为无穷大。
- 调用最短路径算法计算任意两个样本点之间的距离,获得距离矩阵 $ MathJax-Element-324 $ 。
- 调用多维缩放
MDS
算法,获得样本集在低维空间中的矩阵 $ MathJax-Element-388 $ 。
4.2.2 性质
Isomap
算法有个很大的问题:对于新样本,如何将其映射到低维空间?常用的方法是:
- 将训练样本的高维空间坐标作为输入,低维空间坐标作为输出,训练一个回归学习器。
- 用这个回归学习器来对新样本的低维空间进行预测。
这仅仅是一个权宜之计,但是目前并没有更好的办法。如果将新样本添加到样本集中,重新调用
Isomap
算法,则会得到一个新的低维空间。- 一方面计算量太大(每个新样本都要调用一次
Isomap
算法)。 - 另一方面每次降维后的空间都在变化,不利于降维后的训练过程。
对于近邻图的构建有两种常用方案:
- 一种方法是指定近邻点个数,比如指定距离最近的 $ MathJax-Element-395 $ 个点为近邻点 。这样得到的近邻图称作 $ MathJax-Element-395 $ 近邻图。
- 另一种方法是指定距离阈值 $ MathJax-Element-866 $ ,距离小于 $ MathJax-Element-866 $ 的点被认为是近邻点。这样得到的近邻图称作 $ MathJax-Element-866 $ 近邻图。
这两种方案都有不足:
- 如果近邻范围过大,则距离很远的点也被误认作近邻,这就是“短路”问题。
- 如果近邻范围过小,则图中有些区域可能与其他区域不存在连接,这就是“断路”问题 。 短路问题和断路问题都会给后续的最短路径计算造成误导。
4.3 局部线性嵌入 LLE
与
Isomap
试图保持邻域内样本之间的距离不同,局部线性嵌入Locally Linear Embedding:LLE
试图保持邻域内样本之间的线性关系。这种线性保持在二维空间中就是保持共线性,三维空间中就是保持共面性。
假定样本点 $ MathJax-Element-917 $ 的坐标能够通过它的邻域样本 $ MathJax-Element-332 $ 进行线性组合而重构出来,即: $ MathJax-Element-333 $ 。
LLE
算法希望这种关系在低维空间中得到保持。
4.3.1 重构系数求解
LLE
首先为每个样本 $ MathJax-Element-917 $ 找到其近邻点下标集合 $ MathJax-Element-378 $ , 然后计算基于 $ MathJax-Element-378 $ 中的样本点对 $ MathJax-Element-917 $ 进行线性重构的系数 $ MathJax-Element-770 $ 。定义样本集重构误差为( $ MathJax-Element-383 $ 为 $ MathJax-Element-770 $ 的分量):
$ err=\sum_{i=1}^{N}||\mathbf{\vec x}_i-\sum_{j \in \mathbb Q_i}w_{i,j}\mathbf{\vec x}_j ||_2^{2} $目标是样本集重构误差最小,即:
$ \min_{\mathbf{\vec w}_1,\mathbf{\vec w}_2,\cdots,\mathbf{\vec w}_N}\sum_{i=1}^{N}||\mathbf{\vec x}_i-\sum_{j \in \mathbb Q_i}w_{i,j}\mathbf{\vec x}_j ||_2^{2} $这样的解有无数个,对权重增加约束,进行归一化处理。即:
$ \sum_{j \in \mathbb Q_i}w_{i,j}=1,i=1,2,\cdots,N $现在就是求解最优化问题:
$ \min_{\mathbf{\vec w}_1,\mathbf{\vec w}_2,\cdots,\mathbf{\vec w}_N}\sum_{i=1}^{N}||\mathbf{\vec x}_i-\sum_{j \in \mathbb Q_i}w_{i,j}\mathbf{\vec x}_j ||_2^{2}\\ s.t.\quad \sum_{j \in \mathbb Q_i}w_{i,j}=1,i=1,2,\cdots,N $该最优化问题有解析解。令 $ MathJax-Element-341 $ ,则可以解出:
$ w_{i,j}=\frac{\sum_{k\in \mathbb Q_i}C_{j,k}^{-1}}{\sum_{l,s\in \mathbb Q_i}C_{l,s}^{-1}} ,j \in \mathbb Q_i $其中:
- $ MathJax-Element-342 $ 刻画了 $ MathJax-Element-343 $ 到 $ MathJax-Element-917 $ 的差向量,与 $ MathJax-Element-856 $ 到 $ MathJax-Element-917 $ 的差向量的内积。
- $ MathJax-Element-383 $ 刻画了这些内积中,与 $ MathJax-Element-856 $ 相关的内积的比例。
4.3.2 低维空间保持
求出了线性重构的系数 $ MathJax-Element-770 $ 之后,
LLE
在低维空间中保持 $ MathJax-Element-770 $ 不变。设 $ MathJax-Element-917 $ 对应的低维坐标 $ MathJax-Element-937 $ ,已知线性重构的系数 $ MathJax-Element-770 $ ,定义样本集在低维空间中重构误差为:
$ err^{\prime}=\sum_{i=1}^{N}||\mathbf{\vec z}_i-\sum_{j \in \mathbb Q_i}w_{i,j}\mathbf{\vec z}_j ||_2^{2} $现在的问题是要求出 $ MathJax-Element-937 $ ,从而使得上式最小。即求解:
$ \min_{\mathbf{\vec z}_1,\mathbf{\vec z}_2,\cdots,\mathbf{\vec z}_N} \sum_{i=1}^{N}||\mathbf{\vec z}_i-\sum_{j \in \mathbb Q_i}w_{i,j}\mathbf{\vec z}_j ||_2^{2} $令 $ MathJax-Element-355 $ ,其中 $ MathJax-Element-387 $ 为低维空间的维数( $ MathJax-Element-897 $ 为原始样本所在的高维空间的维数)。令
$ \mathbf W=\begin{bmatrix} w_{1,1}&w_{1,2}&\cdots&w_{1,N}\\ w_{2,1}&w_{2,2}&\cdots&w_{2,N}\\ \vdots&\vdots&\ddots&\vdots\\ w_{N,1}&w_{N,2}&\cdots&w_{N,N} \end{bmatrix} $定义 $ MathJax-Element-385 $ ,于是最优化问题可重写为: $ MathJax-Element-359 $ 。
该最优化问题有无数个解。添加约束 $ MathJax-Element-360 $ ,于是最优化问题为:
$ \min_{\mathbf Z}tr(\mathbf Z^T \mathbf M \mathbf Z) \\ s.t.\quad \mathbf Z^{T}\mathbf Z=\mathbf I_{n^\prime\times n^\prime} $该最优化问题可以通过特征值分解求解:选取 $ MathJax-Element-412 $ 最小的 $ MathJax-Element-387 $ 个特征值对应的特征向量组成的矩阵即为 $ MathJax-Element-388 $ 。
LLE
中出现了两个重构误差。- 第一个重构误差:为了在原始空间中求解线性重构的系数 $ MathJax-Element-770 $ 。目标是:基于 $ MathJax-Element-378 $ 中的样本点对 $ MathJax-Element-917 $ 进行线性重构,使得重构误差最小。
- 第二个重构误差:为了求解样本集在低维空间中的表示 $ MathJax-Element-388 $ 。目标是:基于线性重构的系数 $ MathJax-Element-770 $ ,将 $ MathJax-Element-378 $ 中的样本点对 $ MathJax-Element-937 $ 进行线性重构,使得重构误差最小。
4.3.2 LLE 算法
LLE
算法:输入:
- 样本集 $ MathJax-Element-371 $ 。
- 近邻参数 $ MathJax-Element-395 $ 。
- 低维空间维数 $ MathJax-Element-387 $ 。
输出:样本集在低维空间中的矩阵 $ MathJax-Element-388 $ 。
算法步骤:
对于样本集中的每个点 $ MathJax-Element-375 $ ,执行下列操作:
确定 $ MathJax-Element-917 $ 的 $ MathJax-Element-395 $ 近邻,获得其近邻下标集合 $ MathJax-Element-378 $ 。
对于 $ MathJax-Element-379 $ , 根据下式计算 $ MathJax-Element-383 $ :
$ w_{i,j}=\frac{\sum_{k\in Q_i}C_{j,k}^{-1}}{\sum_{l,s\in \mathbb Q_i}C_{l,s}^{-1}}\\C_{j,k}=(\mathbf{\vec x}_i-\mathbf{\vec x}_j)^{T}(\mathbf{\vec x}_i-\mathbf{\vec x}_k) $对于 $ MathJax-Element-381 $ , $ MathJax-Element-382 $
根据 $ MathJax-Element-383 $ 构建矩阵 $ MathJax-Element-775 $ 。
计算 $ MathJax-Element-385 $ 。
对 $ MathJax-Element-412 $ 进行特征值分解,取其最小的 $ MathJax-Element-387 $ 个特征值对应的特征向量,即得到样本集在低维空间中的矩阵 $ MathJax-Element-388 $ 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论