精华内容
下载资源
问答
  • 降维算法

    2020-04-07 23:25:10
    降维算法中的“降维”,指的是:降低特征矩阵中特征的数量。 降维的目的是:让算法运算更快,效果更好,还有另一种需求:数据可视化。 SVD和PCA(主成分分析)是矩阵分解算法中的入门算法。 PCA与SVD 我们希望能够找...

    1.概述

    降维算法中的“降维”,指的是:降低特征矩阵中特征的数量。
    降维的目的是:让算法运算更快,效果更好,还有另一种需求:数据可视化。

    SVD和PCA(主成分分析)是矩阵分解算法中的入门算法。

    PCA与SVD

    我们希望能够找出一种方法来帮助我们衡量特征上所带的信息,让我们在姜维的过程中,即能够减少特征的数量,又能够保留大部分的信息——将那些带有重复信息的特征合并,并删除那些带有无效信息的特征等——逐渐创造出能够代表原特征矩阵大部分信息的,特征更少的新特征矩阵。
    在降维中,PCA使用的信息量衡量指标,即样本方差,又称可解释性方差,房差越大,特征所带的信息量越多。

    重要参数:n_components

    n_components是我们降维后需要的维度,即降维后需要保留的特征数量。

    选择最好的n+components:①累积可解释方差贡献率曲线;②最大似然估计自选超参数;③按信息占比选超参数

    PCA中的SVD

    SVD即奇异值分解。它可以跳过数学神秘的宇宙,不计算协方差矩阵,直接找到一个新特征向量组成的n维空间。也就是说,奇异值分解可以直接求出新特征空间和降维后的特征矩阵。

    sklearn将降维流程拆成了两部分:①计算特征空间V,由奇异值分解完成;②映射数据和求解新特征矩阵,由主成分分析完成。
    通过PCA和SVD的合作,实现了“合作降维”,用SVD的性质减少计算量,却让信息量的评估指标是方差。

    1.重要属性components_
    将新特征空间保存在components_这个属性中

    2.重要接口inverse_transform

    3.重要案例:用PCA做噪音过滤
    带有效信息的特征的方差远大于噪音的,所以相比噪音,有效的特征所带的信息应该不会再PCA过程中被大量抛弃。
    inverse_transform能够在不恢复原始数据的情况下,将降维后数据返回到原本的高维空间,即是说能够实现“保证维度,但去掉方差很小特征所带的信息”。利用inverse_transform的这个性质,我们能够实现噪音过滤。

    重要接口,参数和属性总结

    重要参数:n_components,svd_solver,random_state。
    三个重要属性:components_,explanied_variance_以及explanined_variance_ratio_。
    接口:fit,transform,fit_transform,inverse_transform。

    案例:PCA对手写数字数据集的降维

    展开全文
  • PCA降维算法简介主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。PCA算法大概是解决这么一个问题...

    PCA降维算法简介

    主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。

    PCA算法大概是解决这么一个问题:有\(m\)个样本和\(n\)种特征,每个样本有\(n\)个特征值对应不同的特征。如果我们把这些样本看作\(n\)维空间中的\(m\)个点,现在需要将空间的维数降为\(k\),同时尽可能减少信息的损失,方便后续对数据的分析和处理。

    PCA降维算法的大体思想就是特征之间的去相关性。为什么呢?如果两个特征有很强的相关性,也就是可以通过某一个的值来推出另一个的值,这时其中一个特征的存在就显得无关紧要,这就是所谓的特征冗余。如果我们能够去除那些相关性较大的特征,使保留下来的特征尽量无相关性,就可以节约大量时间。

    最大方差理论

    一个离散型随机变量\(X\)的方差定义为$$S2=\frac{\sum_{i=1}n(x_i-\bar{x})^2}{n}$$

    在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。也就是方差越大的特征,其信息量就越大,用来做区分的效果就会越好。因此我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。

    协方差矩阵

    仿照方差的定义,我们通过协方差来描述随机变量\(X,Y\)的相关性,设\(X,Y\)在第\(i\)组样本中的取值分别为\(x_i,y_i\),则$$Cov(X,Y)=\frac{\sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}{n}$$

    或者写成$$Cov(X,Y)=E[(X-E[X])(Y-E[Y])]$$

    \[=E[XY]-E[X]E[Y]

    \]

    可以发现如果两个随机变量协方差的绝对值越大,则它们之间的相关性就越强。协方差为正表示正相关,为负则表示负相关,也就是它们变化的方向一致或者是相反。

    对于\(n\)个随机变量\(x_1,\dots,x_n\),定义它们的协方差矩阵\(C\),满足\(C_{i,j}=Cov(x_i,x_j)\)

    可以发现协方差矩阵必然是一个实对称矩阵,且通过推导可以得到协方差的计算公式$$C=\frac{1}{m}AA^T$$其中\(A\)是一个经过数据中心化处理的\(n*m\)矩阵,也就是每一列元素的和均为\(0\),每个行向量是一个样本。

    特征值与特征向量

    满足方程$$Ax_i=\lambda_ix_i$$的向量\(x_i\)称为矩阵\(A\)的特征多项式,对应的\(\lambda_i\)为对应的特征值。

    如果一个矩阵的特征值互不相同,则它可以被对角化$$A=UCU$$其中\(U=[x_1,\dots,x_n],C\)是对角线为\(A\)的特征值的对角矩阵。

    有个结论是一个实对称矩阵的特征多项式两两正交,证明如下:

    设$$Ap=np,Aq=mq$$则$$pTAq=mpTq$$

    \[p^TAq=p^TA^Tq=(Ap)^Tq=np^Tq

    \]

    作差得$$(n-m)p^Tq=0$$

    又因为\(n\not= m\),故\(p^Tq=0\)

    PCA降维算法

    我们的目标是要让不同特征之间的相关性尽量小,且单个特征的方差尽可能大,也就是要让协方差矩阵的主对角线元素尽可能大,且其他元素均为\(0\).

    先不考虑降维,设原来的矩阵为\(X\),变换后的矩阵\(Y=QX\),则\(Q\)为一方阵。设\(C_X,C_Y\)分别表示矩阵\(X,Y\)的协方差矩阵,则$$C_Y=\frac{1}{m}YTT=QC_XQT$$

    设\(C_X=UAU^T\),由于\(C_X\)是对角阵,故\(UU^T=U^TU=I\),因此\(A=U^TC_XU\)

    若令\(Q=U^T\),则得到的\(C_Y\)就是一个对角矩阵。

    现在要让\(C_Y\)的主对角线元素尽可能大,则把特征向量按照对应特征值从大到小排序,并取前\(k\)大作为基底,求出对应的矩阵\(Y\)即可。

    这是PCA算法的代数理解。如果想要通过直观来理解,就是如果我们把每个样本看作\(n\)维空间中的一个点,现在要找一个向量,使得所有点在向量上投影的方差尽可能大。通过推导可以发现协方差矩阵对应特征值最大的特征向量是满足条件的,那么我们把它作为一个基底向量。接着我们需要继续找一个和主向量正交的向量,同样使得投影的方差尽可能大,然后就找到了特征值第二大的特征向量,如此类推。

    展开全文
  • t-SNE降维算法 t-SNE 也是一种非线性降维算法,非常适用于高维数据降维到 2 维或者 3 维进行可视化。它是一种以数据原有的趋势为基础,重建其在低纬度(二维或三维)下数据趋势的无监督机器学习算法。 下面的结果展示...

    t-SNE降维算法

    t-SNE 也是一种非线性降维算法,非常适用于高维数据降维到 2 维或者 3 维进行可视化。它是一种以数据原有的趋势为基础,重建其在低纬度(二维或三维)下数据趋势的无监督机器学习算法。

    下面的结果展示参考了源代码,同时也可用 tensorflow 实现(无需手动更新参数)。
    在这里插入图片描述

    t-SNE 降维算法展示
    展开全文
  • 1. 前言PCA :principal component analysis ( 主成分分析)最近发现我的一篇关于PCA算法总结以及个人理解的博客的访问量比较高, 刚好目前又重新学习了一下PCA (主成分分析) 降维算法, 所以打算把目前掌握的做个...

    1. 前言

    PCA : principal component analysis ( 主成分分析)

    最近发现我的一篇关于PCA算法总结以及个人理解的博客的访问量比较高, 刚好目前又重新学习了一下PCA (主成分分析) 降维算法, 所以打算把目前掌握的做个全面的整理总结, 能够对有需要的人有帮助。 自己再看自己写的那个关于PCA的博客, 发现还是比较混乱的, 希望这里能过做好整理。 本文的所有总结参考了Andrew Ng的PCA教程, 有兴趣的可以自己学习。

    上一篇关于PCA 的博客: http://blog.csdn.net/watkinsong/article/details/8234766, 在这篇博客中,有关于我最初在读研的时候关于PCA的认识, 但是不是很系统, 然后里面却给出了很多我总结的网络上的资料, 以及根据我个人使用的经验总结的感悟, 所以还是收到了很多的好评, o(∩∩)o...哈哈, 谢谢各位的支持。

    @copyright by watkins.song ^_^

    2. PCA的应用范围

    PCA的应用范围有:

    1. 数据压缩

    1.1 数据压缩或者数据降维首先能够减少内存或者硬盘的使用, 如果内存不足或者计算的时候出现内存溢出等问题, 就需要使用PCA获取低维度的样本特征。

    1.2 其次, 数据降维能够加快机器学习的速度。

    2. 数据可视化

    在很多情况下, 可能我们需要查看样本特征, 但是高维度的特征根本无法观察, 这个时候我们可以将样本的特征降维到2D或者3D, 也就是将样本的特征维数降到2个特征或者3个特征, 这样我们就可以采用可视化观察数据。

    3. PCA原理简介

    3.1 基础入门

    这里我只给出在需要使用PCA的时候需要了解的最基本的PCA的原理, 了解这些原理后对于正常的使用没有问题, 如果想要深入了解PCA, 需要学习一些矩阵分析的知识, 更加详细的PCA算法请见wikipedia。

    首先, 我们定义样本和特征, 假定有 m 个样本, 每个样本有 n 个特征, 可以如下表示:

    6e11f84ae783f779e8840572fd43a77c.png

    由简到难, 先看一下从2D 降维到1D的比较直观的表示:

    26420e8bd2141591a42ebd4e310869b3.png

    在上图中, 假设只有两个特征x1, x2, 然后需要降维到1D, 这个时候我们可以观察途中X所表示的样本点基本上分布在一条直线上, 那么就可以将所有的用(x1, x2)平面表示的坐标映射到图像画出的直线z上, 上图中的黑色铅笔线表示样本点映射的过程。

    映射到直线Z后, 如果只用直线Z表示样本的空间分布, 就可以用1个坐标表示每个样本了, 这样就将2D的特征降维到1D的特征。 同样的道理, 如果将3D的特征降维到2D, 就是将具有3D特征的样本从一个三维空间中映射到二维空间。

    6aa0d3b1a164acf7d500f35e127941ff.png

    在上图中, 将所有的二维特征的样本点映射到了一维直线上,  这样, 从上图中可以看出在映射的过程中存在映射误差。

    在上图中, 用圆圈表示了样本映射后的坐标位置。这些位置可以叫做近似位置, 以后还要用到这些位置计算映射误差。

    因为在降维映射的过程中, 存在映射误差, 所有在对高维特征降维之前, 需要做特征归一化(feature normalization), 这个归一化操作包括: (1) feature scaling (让所有的特征拥有相似的尺度, 要不然一个特征特别小, 一个特征特别大会影响降维的效果) (2) zero mean normalization (零均值归一化)。

    在上图中, 也可以把降维的过程看作找到一个或者多个向量u1, u2, ...., un, 使得这些向量构成一个新的向量空间(需要学习矩阵分析哦), 然后把需要降维的样本映射到这个新的样本空间上。

    对于2D -> 1D 的降维过程, 可以理解为找到一个向量u1,  u1表示了一个方向, 然后将所有的样本映射到这个方向上, 其实, 一个向量也可以表示一个样本空间。

    对于3D -> 2D 的降维过程, 可以理解为找到两个向量u1, u2, (u1, u2) 这两个向量定义了一个新的特征空间, 然后将原样本空间的样本映射到新的样本空间。

    对于n-D -> k-D 的降维过程, 可以理解为找到 k 个向量 u1, u2, ..., uk, 这k个向量定义了新的向量空间, 然后进行样本映射。

    3.2  Cost Function

    既然样本映射存在误差, 就需要计算每次映射的误差大小。 采用以下公式计算误差大小:

    a416336a37a29163dddbc6a4430f0743.png

    X-approx表示的是样本映射以后的新的坐标, 这个坐标如果位置如果用当前的样本空间表示, 维度和 样本X是一致的。

    要特别注意, PCA降维和linear regression是不一样的, 虽然看上去很一致, 但是linear regression的cost function的计算是样本上线垂直的到拟合线的距离, 而PCA的cost function 是样本点到拟合线的垂直距离。 差别如下图所示:

    de956a3e1afc8aca63ecf35a2f9f1407.png

    3.3 PCA 计算过程

    (A) Feature Normalization

    首先要对训练样本的特征进行归一化, 特别强调的是, 归一化操作只能在训练样本中进行, 不能才CV集合或者测试集合中进行, 也就是说归一化操作计算的各个参数只能由训练样本得到, 然后测试样本根据这里得到的参数进行归一化, 而不能直接和训练样本放在一起进行归一化。

    另外, 在训练PCA降维矩阵的过程中,也不能使用CV样本或者测试样本, 这样做是不对的。 有很多人在使用PCA训练降维矩阵的时候, 直接使用所有的样本进行训练, 这样实际上相当于作弊的, 这样的话降维矩阵是在包含训练样本和测试样本以及CV样本的情况下训练得到的, 在进行测试的时候, 测试样本会存在很大的优越性, 因为它已经知道了要降维到的空间情况。

    特征归一化直接给出代码参考:

    function [X_norm, mu, sigma] = featureNormalize(X)

    %FEATURENORMALIZE Normalizes the features in X

    % FEATURENORMALIZE(X) returns a normalized version of X where

    % the mean value of each feature is 0 and the standard deviation

    % is 1. This is often a good preprocessing step to do when

    % working with learning algorithms.

    mu = mean(X);

    X_norm = bsxfun(@minus, X, mu);

    sigma = std(X_norm);

    X_norm = bsxfun(@rdivide, X_norm, sigma);

    end

    注意: 这里的X是一个m * n 的矩阵, 有 m 个样本, 每个样本包含 n 个特征, 每一行表示一个样本。 X_norm是最终得到的特征, 首先计算了所有训练样本每个特征的均值, 然后减去均值, 然后除以标准差。

    (B) 计算降维矩阵

    B1. 首先计算样本特征的协方差矩阵

    如下图所示, 如果是每个样本单独计算, 则采用图中横线上的公式, 如果是采用矩阵化的计算, 则采用横线下的公式。

    69e6df60be4184e118ef0411e460cf84.png

    B2. 计算协方差矩阵的特征值和特征向量

    采用奇异值分解的算法计算协方差矩阵的特征值和特征向量,  奇异值分解是个比较复杂的概念, 如果有兴趣可以查看wikipedia, 也可以直接使用matlab或者octave已经提供的奇异值分解的接口。

    78e786cfb2db7136c1aaca3694ed17b1.png

    在上图中, U 则是计算得到的协方差矩阵的所有特征向量, 每一列都是一个特征向量, 并且特征向量是根据特征大小由大到小进行排序的, U 的维度为 n * n 。 U 也被称为降维矩阵。 利用U 可以将样本进行降维。 默认的U 是包含协方差矩阵的所有特征向量, 如果想要将样本降维到 k 维, 那么就可以选取 U 的前 k 列, Uk 则可以用来对样本降维到  k 维。 这样 Uk 的维度为 n * k

    (C) 降维计算

    获得降维矩阵后, 即可通过降维矩阵将样本映射到低维空间上。 降维公式如下图所示:

    b2742b41830f037c8d389e4a50c0de69.png

    如果是对于矩阵X 进行降维, X 是 m * n的, 那么降维后就变为 m * k 的维度, 每一行表示一个样本的特征。

    3.4  贡献率 (降维的k的值的选择)

    在 http://blog.csdn.net/watkinsong/article/details/8234766 这篇文章中, 很多人问了关于贡献率的问题, 这就是相当于选择k的值的大小。 也就是选择降维矩阵 U 中的特征向量的个数。

    k 越大, 也就是使用的U 中的特征向量越多, 那么导致的降维误差越小, 也就是更多的保留的原来的特征的特性。 反之亦然。

    从信息论的角度来看, 如果选择的 k 越大, 也就是系统的熵越大, 那么就可以认为保留的原来样本特征的不确定性也就越大, 就更加接近真实的样本数据。 如果 k 比较小, 那么系统的熵较小, 保留的原来的样本特征的不确定性就越少, 导致降维后的数据不够真实。 (完全是我个人的观点)

    关于 k 的选择, 可以参考如下公式:

    f7d7c80dc0b8f3054dcc3366d00fc478.png

    上面这个公式 要求 <= 0.01, 也就是说保留了系统的99%的不确定性。

    需要计算的就是, 找到一个最小的 k 使得上面的公式成立, 但是如果计算上面公式, 计算量太大, 并且对于每一个  k  取值都需要重新计算降维矩阵。

    可以采用下面的公式计算 k 的取值, 因为在 对协方差矩阵进行奇异值分解的时候返回了 S , S 为协方差矩阵的特征值, 并且 S 是对角矩阵, 维度为  n * n, 计算 k 的取值如下:

    8552d435d383dc8d0dcba671f2e161cf.png

    3.5  重构 (reconstruction, 根据降维后数据重构原数据), 数据还原

    获得降维后的数据, 可以根据降维后的数据还原原始数据。

    还原原始数据的过程也就是获得样本点映射以后在原空间中的估计位置的过程, 即计算 X-approx的过程。

    677cc28c39732b50753a1af288dbe1a8.png

    使用降维用的降维矩阵 Uk, 然后将 降维后的样本 z 还原回原始特征, 就可以用上图所示的公式。

    4. PCA的应用示例

    貌似本页已经写的太多了, 所以这里示例另外给出。

    由于篇幅问题, 这里只给出代码, 关于代码的解释和插图, 请访问上面链接

    %% Initialization

    clear ; close all; clc

    fprintf('this code will load 12 images and do PCA for each face.\n');

    fprintf('10 images are used to train PCA and the other 2 images are used to test PCA.\n');

    m = 4000; % number of samples

    trainset = zeros(m, 32 * 32); % image size is : 32 * 32

    for i = 1 : m

    img = imread(strcat('./img/', int2str(i), '.bmp'));

    img = double(img);

    trainset(i, :) = img(:);

    end

    %% before training PCA, do feature normalization

    mu = mean(trainset);

    trainset_norm = bsxfun(@minus, trainset, mu);

    sigma = std(trainset_norm);

    trainset_norm = bsxfun(@rdivide, trainset_norm, sigma);

    %% we could save the mean face mu to take a look the mean face

    imwrite(uint8(reshape(mu, 32, 32)), 'meanface.bmp');

    fprintf('mean face saved. paused\n');

    pause;

    %% compute reduce matrix

    X = trainset_norm; % just for convience

    [m, n] = size(X);

    U = zeros(n);

    S = zeros(n);

    Cov = 1 / m * X' * X;

    [U, S, V] = svd(Cov);

    fprintf('compute cov done.\n');

    %% save eigen face

    for i = 1:10

    ef = U(:, i)';

    img = ef;

    minVal = min(img);

    img = img - minVal;

    max_val = max(abs(img));

    img = img / max_val;

    img = reshape(img, 32, 32);

    imwrite(img, strcat('eigenface', int2str(i), '.bmp'));

    end

    fprintf('eigen face saved, paused.\n');

    pause;

    %% dimension reduction

    k = 100; % reduce to 100 dimension

    test = zeros(10, 32 * 32);

    for i = 4001:4010

    img = imread(strcat('./img/', int2str(i), '.bmp'));

    img = double(img);

    test(i - 4000, :) = img(:);

    end

    % test set need to do normalization

    test = bsxfun(@minus, test, mu);

    % reduction

    Uk = U(:, 1:k);

    Z = test * Uk;

    fprintf('reduce done.\n');

    %% reconstruction

    %% for the test set images, we only minus the mean face,

    % so in the reconstruct process, we need add the mean face back

    Xp = Z * Uk';

    % show reconstructed face

    for i = 1:5

    face = Xp(i, :) + mu;

    face = reshape((face), 32, 32);

    imwrite(uint8(face), strcat('./reconstruct/', int2str(4000 + i), '.bmp'));

    end

    %% for the train set reconstruction, we minus the mean face and divide by standard deviation during the train

    % so in the reconstruction process, we need to multiby standard deviation first,

    % and then add the mean face back

    trainset_re = trainset_norm * Uk; % reduction

    trainset_re = trainset_re * Uk'; % reconstruction

    for i = 1:5

    train = trainset_re(i, :);

    train = train .* sigma;

    train = train + mu;

    train = reshape(train, 32, 32);

    imwrite(uint8(train), strcat('./reconstruct/', int2str(i), 'train.bmp'));

    end

    fprintf('job done.\n');

    展开全文
  • KPCA(kernel PCA) KPCA 是核技术与 PCA 结合的产物,它与 PCA 主要差别在于计算协方差矩阵时使用了核函数,即是经过核函数映射之后的... KPCA 降维算法展示 详细内容可参见 《Python 机器学习》之特征抽取—...
  • LLE(locally linear embedding)降维算法 LLE(locally linear embedding)LLE 即局部线性嵌入算法,它是一种非线性降维算法。该算法核心思想为每个点可以由与它相邻的多个点的线性组合而近似重构,然后将高维数据投影...
  • 旋转不变维降维算法

    2021-03-08 11:41:24
    旋转不变维降维算法
  • 线性- LDA(Linear Discriminant Analysis)降维算法 LDA 是一种可作为特征抽取的技术,其目标是向最大化类间差异,最小化类内差异的方向投影,以利于分类等任务即将不同类的样本有效的分开。LDA 可以提高数据分析过程...
  • PCA降维算法讲义ppt slides,pca降维算法,课程资源,ppt
  • 经典降维算法局部保持投影LPP算法的matlab代码,希望对需要降维算法的童鞋有所帮助
  • LE 即拉普拉斯特征映射,它与 LLE 算法有些相似,也是以局部的角度去构建数据之间的... LE 降维算法展示 详细内容可参见《拉普拉斯特征图降维及其 python 实现》: https://blog.csdn.net/HUSTLX/article/detai...
  • MDS(multidimensional scaling) MDS 即多维标度分析,它是一种通过直观空间图表示研究对象的感知和偏好的传统降维方法。该方法会计算任意两个样本点之间的... MDS 降维算法展示 详细内容可参见《MDS 算法》 https:...
  • 降维算法LDA用于分类

    2020-04-02 10:26:03
    本资源是机器学习常见方法LDA(线性判别分析)的源码,其主要功能类似于PCA,都属于降维算法。本次实现是依托于项目工程,裁剪掉了图像预处理特征提取部分,是降维算法在分类问题上的一次实现,为Matlab代码实现
  • 快速流形学习的降维算法
  • 自适应分类成对降维算法
  • Lasso降维算法MATLAB

    2018-07-20 09:58:19
    超高维数据降维算法,亲测可用,Lasso算法。输入数据第一列是y,2:end是x。
  • 降维算法+系列

    2021-05-16 19:41:01
    降维算法+系列 PCA、LDA、MDS、LLE、TSNE等降维算法的python实现 最近看了一些经典的降维算法,发现网上的资料大部分都不提供源代码,同时个人觉得通过代码理解算法是最有效的一种方式,因此决定自己整理和...
  • 本文将先介绍PAA降维算法,再讨论LTTB降维算法,最后使用工业生产数据对两者进行实验对比,整个过程已整理为论文报告的一部分。因实验部分数据保密关系,本博客将只截取部分论文报告内容,但已足以讲清LTTB算法。 ...
  • 2DPCA降维算法

    2019-05-01 15:52:39
    MATLAB版2DPCA降维算法,输入输出均为CSV文件。 对于512*512像素的图像,分别进行行和列的两次处理,输出为64*64尺寸的图像
  • 多种流形学习的降维算法,ISOPAM LLE,NPE等降维算法
  • 正交分量分析:快速降维算法
  • pca降维算法.txt

    2019-05-19 00:33:33
    简便的pca降维算法,根据所需内容进行更改即可,亲测可用。
  • 机器学习实战项目降维算法完整项目,机器学习实战项目降维算法完整项目
  • 经典降维算法局部线性嵌入LLE算法的matlab代码,亲测可用
  • isomap降维算法

    2021-04-15 00:51:48
    欢迎关注”生信修炼手册”!降维算法分为线性和非线性两大类,主成分分析PCA属于经典的线性降维,而t-SNE, MDS等属于非线性降维。在非线性降维中,有一个重要的概念叫做流形学习manif...
  • sklearn LDA降维算法LDA(Linear Discriminant Analysis)线性判断别分析,可以用于降维和分类。其基本思想是类内散度尽可能小,类间散度尽可能大,是一种经典的监督式降维/分类技术。sklearn代码实现#coding=utf-8...
  • 降维算法——LE算法的推导

    千次阅读 2019-08-31 15:55:10
    Laplacian Eigenmaps是一种降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,569
精华内容 2,627
关键字:

降维算法