精华内容
下载资源
问答
  • Eigenvalue+Modeling

    2014-02-25 16:23:27
    Eigenvalue+Modeling
  • 科学计算概论 Scientific Computing An Introductory Survey-chap04_特征值问题 Eigenvalue Problems
  • A smoothing newton method for tensor eigenvalue complementarity problems
  • Eigenvalue Sensitivities of Excitation System Model
  • Fast Implementation for the Singular Value and Eigenvalue Decomposition Based on FPGA
  • Matrix eigenvalue problems arise in a large number of disciplines of sciences and engineering. They constitute the basic tool used in designing buildings, bridges, and turbines, that are resistent to ...
  • 科学计算概论 Scientific Computing An Introductory Survey-chap04_特征值问题 Eigenvalue Problems
  • The eigenvalue computation is Based on both the Householder tridiagonalization method and a divideand-conquer algorithm of tridiagonal eigenproblem. In hybrid parallel design, We take a coarse-grain ...
  • Magnetic Resonance Brain Image Classification via Stationary Wavelet Transform and Generalized Eigenvalue Proximal Support Vector Machine
  • Eigenvalue.zip

    2020-03-14 11:22:43
    《C#图像处理程序实现--最小二乘法 算法笔记整理》配套代码,《C#图像处理程序实现--最小二乘法 算法笔记整理》配套代码
  • An edge-separating theorem on the second smallest normalized Laplacian eigenvalue of a graph and its applications
  • 3x3 Eigenvalue計算工具

    2009-12-02 15:08:56
    可計算一個3x3的Matrix之Eigenvalue Eigenvector 並附有計算 AT*A A^-1
  • We first present new closed-form expressions for the marginal ordered eigenvalue distributions of complex noncentral Wishart matrices. These are used to characterize the statistics of the signal to ...
  • 即,其中 为标量,即特征向量的长度在该线性变化下缩放比例,称 为其特征值(eigenvalue)。 根据定义,我们需要满足 ,。使用左手法则,我们可以得到 ,对应 ,这是关于标量 x 的 n 阶齐次线性方程组,它有非零解...

    定义

    矩阵 A 为 n 阶方阵,它的特征向量(eigenvector)v 经过这个线性变化之后,得到的新向量仍然与原来的 v 保持再同一条直线上,但其长度或方向也许会改变。即 A\nu =\lambda \nu,其中 \lambda 为标量,即特征向量的长度在该线性变化下缩放比例,称 \lambda 为其特征值(eigenvalue)。

    根据定义,我们需要满足 Ax =\lambda xAx=\lambda xI=\lambda Ix。使用左手法则,我们可以得到 Ax-\lambda Ix=0,对应 (A-\lambda I)x=0(A-\lambda I)x=0,这是关于标量 x 的 n 阶齐次线性方程组,它有非零解的充分必要条件是系数行列式为零,也就是 det(A-\lambda I)=0

    含义

    如果特征值为正,则表示 v 在经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为 0,则是表示缩回零点。但无论怎么样,仍在同一条直线上。

    举例

    假设 A=\begin{bmatrix} -6 & 3\\ 4 & 5 \end{bmatrix}。求对应的特征向量和特征值。

    根据 \left \| A-\lambda I \right \|=0,我们可以写出 |\begin{bmatrix} -6 & 3\\ 4 & 5 \end{bmatrix}-\lambda \begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix}|=0,也就是 \left \| \begin{bmatrix} -6-\lambda & 3\\ 4 & 5-\lambda \end{bmatrix} \right \|=0,通过计算对应的行列式为 (-6-\lambda )(5-\lambda )-3*4=0,也就是 \lambda ^2+\lambda -42=(\lambda -6)(\lambda +7)=0

    这样,我们得到了两个可能的特征值,即\left\{\begin{matrix} \lambda_1=-7\\ \lambda_2=6 \end{matrix}\right.

    下面我们将对应的特征值代入 Ax=\lambda x 中。

    \lambda=6,对应的方程变为 \begin{bmatrix} -6 & 3\\ 4& 5 \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \end{bmatrix}=6\begin{bmatrix} x_1\\ x_2 \end{bmatrix},展开我们可以得到方程 \left\{\begin{matrix} -6x_1+3x_2=6x_1\\ 4x_1+5x_2=6x_2 \end{matrix}\right.,使用左手法则得到 \left\{\begin{matrix} -12x_1+3x_2=0\\ 4x_1-x_2=0 \end{matrix}\right.,每个方程都给出了 x_2=4x_1,这样我们可以得到一个非零的特征向量,即 \begin{bmatrix} 1\\ 4 \end{bmatrix}。下面我们来验证这个特征向量的正确性,同样代入到方程可得 \begin{bmatrix} -6 & 3\\ 4& 5 \end{bmatrix}\begin{bmatrix} 1\\ 4 \end{bmatrix}=\begin{bmatrix} -6*1+3*4\\ 4*1+5*4 \end{bmatrix}=\begin{bmatrix} 6\\ 24 \end{bmatrix}=6\begin{bmatrix} 1\\ 4 \end{bmatrix},验证完毕。

    \lambda =-7,对应的方程变为 \begin{bmatrix} -6 & 3\\ 4& 5 \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \end{bmatrix}=-7\begin{bmatrix} x_1\\ x_2 \end{bmatrix},展开我们可以得到方程 \left\{\begin{matrix} -6x_1+3x_2=-7x_1\\ 4x_1+5x_2=-7x_2 \end{matrix}\right.,使用左手法则得到 \left\{\begin{matrix} x_1+3x_2=0\\ 4x_1+12x_2=0 \end{matrix}\right.,每个方程都给出了 x_1=-3x_2,这样我们可以得到一个非零的特征向量,即 \begin{bmatrix} -3\\ 1 \end{bmatrix}。下面我们来验证这个特征向量的正确性,同样代入到方程可得 \begin{bmatrix} -6 & 3\\ 4& 5 \end{bmatrix}\begin{bmatrix} -3\\ 1 \end{bmatrix}=\begin{bmatrix} (-6)*(-3)+3*1\\ 4*(-3)+5*1 \end{bmatrix}=\begin{bmatrix} 21\\ -7 \end{bmatrix}=-7\begin{bmatrix} -3\\ 1 \end{bmatrix},验证完毕。

    展开全文
  • Soft self-consistent pseudopotentials in a generalized eigenvalue formalism
  • Distribution of the ratio of an unordered eigenvalue to the trace of a complex central Wishart matrix and its application to cooperative spectrum sensing
  • gn算法matlab代码第二个拉普拉斯特征值 第二个最小的标准化Laplacian特征值及其应用的调查。 第二个最小的归一化拉普拉斯特征值(我简称为lambda2 )与图的连通性密切相关。 Cheeger不等式指出,一个较小的图可以很...
  • Nonlinear component analysis as a kernel eigenvalue problem[J]. Neural Computation, 1998, 10(5): 1299-1319. 引 普通的PCA将下式进行特征分解(用论文的话讲就是对角化): C=1M∑j=1Mxj...

    Scholkopf B, Smola A J, Muller K, et al. Nonlinear component analysis as a kernel eigenvalue problem[J]. Neural Computation, 1998, 10(5): 1299-1319.

    普通的PCA将下式进行特征分解(用论文的话讲就是对角化):
    C=1Mj=1MxjxjT C = \frac{1}{M} \sum \limits_{j=1}^M x_j x_j^T
    其中xjRN,j=1,,Mx_j \in \mathbb{R}^{N}, j = 1, \ldots, M,且j=1Mxj=0\sum \limits_{j=1}^M x_j = 0(中心化)。

    而kernel PCA试图通过一个非线性函数:
    Φ:RNF,xX \Phi:\mathbb{R}^N \rightarrow F, x \rightarrow X
    其中FF是一个高维空间(甚至是无限维)。
    所以我们要解决这么一个问题:
    Cˉ=1Mj=1MΦ(xj)Φ(xj)T \bar{C} = \frac{1}{M} \sum_{j=1}^M \Phi (x_j) \Phi(x_j)^T

    其实我们面对的第一个问题不是维度的问题而是Φ\Phi的选择或者说构造。我们为什么要把数据映射到高维的空间?因为当前数据的结构(或者说分布)并不理想。

    比如满足(x1)2+(y1)2=4(x-1)^2+(y-1)^2=4的点,我们可以扩充到高维空间(x2,x,y,y2)(x^2, x, y, y^2),在高维空间是线性的(虽然这个例子用在kernel SVM 比较好)。

    因为Φ()\Phi(\cdot)的构造蛮麻烦的,即便有一些先验知识。我们来看一种比较简单的泛用的映射:
    (x1,x2,x3)(x13,x23,x33,x12x2,x12x3,x1x22,x1x32,x22x3,x2x32,x1x2x3) (x_1, x_2, x_3) \rightarrow (x_1^3, x_2^3, x_3^3, x_1^2x_2,x_1^2x_3,x_1x_2^2,x_1x_3^2,x_2^2x_3,x_2x_3^2,x_1x_2x_3)
    这种样子的映射,很容易把维度扩充到很大很大,这个时候求解特征问题会变得很麻烦。

    kernel PCA

    假设i=1MΦ(xi)=0\sum \limits_{i=1}^M \Phi(x_i)=0(如何保证这个性质的成立在最后讲,注意即便i=1Mxi=0\sum \limits_{i=1}^M x_i = 0i=1MΦ(xi)=0\sum \limits_{i=1}^M \Phi(x_i)=0也不一定成立)。

    假设我们找到了Cˉ\bar{C}的特征向量V0V \ne 0:
    CˉV=λV \bar{C}V = \lambda V
    因为VVΦ(xi),i=1,,M\Phi(x_i),i=1,\ldots, M的线性组合(这个容易证明),所以,VV可以由下式表示:
    V=i=1MαiΦ(xi) V = \sum \limits_{i=1}^M \alpha_i \Phi(x_i)

    所以:
    λVTΦ(xj)=VTCˉΦ(xj),for all j=1,,M \lambda V^T \Phi(x_j) = V^T\bar{C} \Phi(x_j), \quad for \: all \: j=1,\ldots, M
    等价于(记Φ=[Φ(x1),,Φ(xM)]\Phi = [\Phi(x_1), \ldots, \Phi(x_M)]):
    λi=1Mαi(ΦT(xi)Φ(xj))=λ{ΦTΦ(xj)}Tα=1Mi=1MαiΦT(xi)ΦΦTΦ(xj)=1M{ΦTΦΦTΦ(xj)}Tα \begin{array}{ll} \lambda \sum \limits_{i=1}^M \alpha_i (\Phi^T(x_i)\Phi(x_j)) &= \lambda \{ \Phi^T \Phi(x_j)\} ^T \alpha \\ & =\frac{1}{M} \sum \limits_{i=1}^M \alpha_i \Phi^T(x_i) \Phi \Phi^T \Phi(x_j) \\ & = \frac{1}{M} \{\Phi^T \Phi \Phi^T \Phi(x_j)\}^T \alpha \end{array}
    对于j=1,,Mj=1,\ldots, M均成立,其中α=[α1,,αM]T\alpha = [\alpha_1, \ldots, \alpha_M]^T

    等价于:
    MλΦTΦα=ΦTΦΦTΦα M \lambda \Phi^T \Phi \alpha = \Phi^T \Phi \Phi^T \Phi \alpha
    K=ΦTΦK = \Phi^T \Phi,那么可写作:
    MλKα=K2α M \lambda K \alpha = K^2\alpha
    其中Kij=ΦT(xi)Φ(xj)K_{ij} = \Phi^T(x_i) \Phi(x_j)

    所以,我们可以通过下式来求解α\alpha:
    Mλα=Kα M\lambda \alpha = K \alpha
    α\alphaKK的特征向量(注意,当α\alpha为特征向量的时候是一定符合MλKα=K2αM \lambda K \alpha = K^2\alpha的,反之也是的,即二者是等价的)。

    假设λ1λ2λM\lambda_1 \ge \lambda_2 \ge \ldots \ge \lambda_M对应α1,,αM\alpha^1, \ldots, \alpha^M,那么相应的VV也算是求出来了。

    需要注意的是,α\|\alpha\|往往不为1,因为我们希望V=1\|V\|=1,所以:
    VTV=αTKα=λα2=1 V^TV = \alpha^T K \alpha = \lambda \|\alpha\|^2 = 1
    所以α=1λ\|\alpha\| = \frac{1}{\sqrt{\lambda}}

    PCA当然需要求主成分,假设有一个新的样本xx,我们需要求:
    Φ(x)TV=ΦT(x)Φα=i=1MαiΦT(xi)Φ(x) \Phi(x)^TV = \Phi^T(x) \Phi \alpha = \sum \limits_{i=1}^M \alpha_i \Phi^T(x_i) \Phi(x)

    注意,我们只需要计算ΦT(xi)Φ(x)\Phi^T(x_i) \Phi(x)

    现在回到kernel PCA 上的关键kernel上。注意到,无论是K,还是最后计算主成分,我们都只需要计算ΦT(x)Φ(y)\Phi^T(x)\Phi(y)就可以了,所以如果我们能够找到一个函数k(x,y)k(x,y)来替代就不必显示将xx映射到Φ(x)\Phi(x)了,这就能够避免了Φ()\Phi(\cdot)的选择问题和计算问题。

    kernel 的选择

    显然,PCA的λ0\lambda \ge 0,所以我们也必须保证KK为半正定矩阵,相应的核函数kk称为正定核,Mercer定理有相应的构建。

    也有现成的正定核:

    多项式核

    k(x,y)=(xTy+1)d k(x, y) = (x^Ty + 1)^d
    论文中是(xTy)d(x^Ty)^d

    高斯核函数

    k(x,y)=exp{ xy22σ2} k(x, y) = \exp \{\ -\frac{\|x-y\|^2}{2\sigma^2}\}

    性质

    在这里插入图片描述
    论文用上面的一个例子来说明,kernel PCA可能更准确地抓住数据的结构。

    kernel PCA具有普通PCA的性质,良好的逼近(从方差角度),以及拥有最多的互信息等等。并且,如果k(x,y)=k(xHy)k(x, y) = k(x^Hy),那么kernel PCA还具有酉不变性。

    因为普通的PCA处理的是一个N×NN \times N的协方差矩阵,所以,至多获得NN个载荷向量,而kernel PCA至多获得MM个载荷向量(特征值非零)。所以,kernel PCA有望比普通PCA更加精准。

    一些问题

    中心化

    PCA处理的是协方差矩阵,正如我们最开始所假设的,i=1MΦ(xi)=0\sum \limits_{i=1}^{M} \Phi(x_i)=0,即中心化。因为Φ()\Phi(\cdot)并不是线性函数,所以,即便i=1Mxi=0\sum \limits_{i=1}^M x_i = 0也不能保证i=1MΦ(xi)=0\sum \limits_{i=1}^{M} \Phi(x_i)=0,不过有别的方法处理。

    Φ~(xi)=Φ(xi)1Mk=1MΦ(xk)K~ij=Φ~T(xi)Φ(xj)1M={1}ijM×M \tilde{\Phi}(x_i) = \Phi(x_i) - \frac{1}{M}\sum \limits_{k=1}^M \Phi(x_k) \\ \tilde{K}_{ij} = \tilde{\Phi}^T(x_i) \Phi(x_j) \\ 1_{M} = \{1\}_{ij}^{M \times M}
    可以得到:
    K~ij=Φ~T(xi)Φ(xj)=(Φ(xi)1Mk=1MΦ(xk))T(Φ(xj)1Mk=1MΦ(xk))=Kij1Mk=1MKkj1Mk=1MKik+1M2m,n=1MKmn=(K1MKK1M+1MK1M)ij \begin{array}{ll} \tilde{K}_{ij} &= \tilde{\Phi}^T(x_i) \Phi(x_j) \\ &= \big(\Phi(x_i) - \frac{1}{M}\sum \limits_{k=1}^M \Phi(x_k)\big)^T \big(\Phi(x_j) - \frac{1}{M}\sum \limits_{k=1}^M \Phi(x_k)\big) \\ &= K_{ij} - \frac{1}{M} \sum \limits_{k=1}^M K_{kj} - \frac{1}{M} \sum \limits_{k=1}^M K_{ik} + \frac{1}{M^2} \sum \limits \limits_{m,n=1}^M K_{mn} \\ &= (K - 1_MK - K1_M + 1_MK1_M)_{ij} \end{array}
    于是,我们通过KK可以构造出K~\tilde{K}。只需再求解K~α~=Mλα~\tilde{K}\tilde{\alpha} = M \lambda \tilde{\alpha}即可。

    恢复

    我们知道,根据PCA选出的载荷向量以及主成分,我们能够恢复出原数据(或者近似,如果我们只选取了部分载荷向量)。对于kernel PCA,比较困难,因为我们并没有显式构造Φ()\Phi(\cdot),也就没法显式找到VV,更何况,有时候我们高维空间找到VV在原空间中并不存在原像。
    或许, 我们可以通过:
    minxΦ(x)Φ(x^)2 \min \limits_{x} \quad \|\Phi(x) - \Phi(\hat{x})\|^2
    来求解,注意到,上式也只和核函数k(x,y)k(x,y)有关。

    代码

    
    import numpy as np
    
    class KernelPCA:
    
        def __init__(self, data, kernel=1, pra=3):
            self.__n, self.__d = data.shape
            self.__data = np.array(data, dtype=float)
            self.kernel = self.kernels(kernel, pra)
            self.__K = self.center()
    
        @property
        def shape(self):
            return self.__n, self.__d
    
        @property
        def data(self):
            return self.data
    
        @property
        def K(self):
            return self.__K
    
        @property
        def alpha(self):
            return self.__alpha
    
        @property
        def eigenvalue(self):
            return self.__value
    
        def kernels(self, label, pra):
            """
            数据是一维的时候可能有Bug
            :param label: 1:多项式;2:exp
            :param pra:1: d; 2: sigma
            :return: 函数 或报错
            """
            if label is 1:
                return lambda x, y: (x @ y) ** pra
            elif label is 2:
                return lambda x, y: \
                    np.exp(-(x-y) @ (x-y) / (2 * pra ** 2))
            else:
                raise TypeError("No such kernel...")
    
        def center(self):
            """中心化"""
            oldK = np.zeros((self.__n, self.__n), dtype=float)
            one_n = np.ones((self.__n, self.__n), dtype=float)
            for i in range(self.__n):
                for j in range(i, self.__n):
                    x = self.__data[i]
                    y = self.__data[j]
                    oldK[i, j] = oldK[j, i] = self.kernel(x, y)
            return oldK - 2 * one_n @ oldK + one_n @ oldK @ one_n
    
        def processing(self):
            """实际上就是K的特征分解,再对alpha的大小进行一下调整"""
            value, alpha = np.linalg.eig(self.__K)
            index = value > 0
            value = value[index]
            alpha = alpha[:, index] * (1 / np.sqrt(value))
            self.__alpha = alpha
            self.__value = value / self.__n
    
        def score(self, x):
            """来了一个新的样本,我们进行得分"""
            k = np.zeros(self.__n)
            for i in range(self.__n):
                y = self.__data[i]
                k[i] = self.kernel(x, y)
            return k @ self.__alpha
    
    
    
    
    
    """
    
    import matplotlib.pyplot as plt
    
    x = np.linspace(-1, 1, 100)
    y = x ** 2 + [np.random.randn() * 0.1 for i in range(100)]
    data = np.array([x, y]).T
    
    test = KernelPCA(data, pra=1)
    test.processing()
    print(test.alpha.shape)
    print(test.alpha[:, 0])
    
    """
    
    
    展开全文
  • EIGENVALUE_ESTIMATION 改进了协方差矩阵特征值的估计。 此 MATLAB 函数是一种算法,旨在改进 Wishart 分布的协方差矩阵的特征值估计并根据特征值重新计算改进的协方差矩阵。 该函数是 Avishai Ben-David 和 Charles...
  • 将开发过程比较重要的代码段收藏起来,如下的代码段是关于python code for solving eigenvalue problem by Jacobi’s method的代码。 ''' lam,x = jacobi(a,tol = 1.0e-9). Solution of std. eigenvalue problem [a...

    将开发过程比较重要的代码段收藏起来,如下的代码段是关于python code for solving eigenvalue problem by Jacobi’s method的代码。

    ''' lam,x = jacobi(a,tol = 1.0e-9).
        Solution of std. eigenvalue problem [a]{x} = lam{x}
        by Jacobi's method. Returns eigenvalues in vector {lam}
        and the eigenvectors as columns of matrix [x].
    '''
    from numpy import array,identity,diagonal
    from math import sqrt
     
    def jacobi(a,tol = 1.0e-9): # Jacobi method
     
        def maxElem(a): # Find largest off-diag. element a[k,l]
            n = len(a)
            aMax = 0.0
            for i in range(n-1):
                for j in range(i+1,n):
                    if abs(a[i,j]) >= aMax:
                        aMax = abs(a[i,j])
                        k = i; l = j
            return aMax,k,l
     
        def rotate(a,p,k,l): # Rotate to make a[k,l] = 0
            n = len(a)
            aDiff = a[l,l] - a[k,k]
            else:
                if phi < 0.0: t = -t
            tau = s/(1.0 + c)
            temp = a[k,l]
            a[k,l] = 0.0
            for i in range(k):      # Case of i < k
                temp = a[i,k]
            for i in range(k+1,l):  # Case of k < i < l
                temp = a[k,i]
            for i in range(l+1,n):  # Case of i > l
                temp = a[k,i]
            for i in range(n):      # Update transformation matrix
                temp = p[i,k]
     
        n = len(a)
        for i in range(maxRot): # Jacobi rotation loop 
            aMax,k,l = maxElem(a)
            if aMax < tol: return diagonal(a),p
            rotate(a,p,k,l)
        print 'Jacobi method did not converge'
    
    展开全文
  • 求特征值求出s,如何求r 转载于:https://www.cnblogs.com/zzsama/p/10856126.html

    求特征值求出s,如何求r

    转载于:https://www.cnblogs.com/zzsama/p/10856126.html

    展开全文
  • Eigenvalue (2).zip

    2020-08-13 11:56:09
    博文《人工智能 PCA人脸识别》的源码,学习交流使用
  • Eigenvalue Decomposition of Symmetric Matrices Symmetric matrices are square with elements that mirror each other across the diagonal. They can be used to describe for example graphs with u
  • Inverse Eigenvalue Problems

    2010-12-18 19:25:36
    Moody T. Chu和Gloub写的一本关于特征值问题的"圣经
  • Matlab 代码再现了 SG Yiantsios 和 BG Higgins 中给出的剪切模式色散曲线,“两种叠加流体的平面泊肃叶流的线性稳定性”。 流体物理学 31, 3225-3238 (1988)。
  • Power method to solve eigenvalues #matlab code A = []; x = [];%%input A and intial x k = 1; [xp p] = max(abs(x)); x = x/x§; while k &lt;= 14 y = A*x; u = y§; [yp p] = max(abs(y));...display(‘...
  • 特征值与特征向量 我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩...
  • 奇异椭圆型方程的特征值问题,宣本金,,本文讨论奇异椭圆型方程的特征值问题。我们将证明许多有关特征值和特征函数在非奇异情形时的结论在奇异情形同样成立,例如,第一
  • This book is based on a series of lectures presented at the N.S.F.-C.B.M.S. Regional Conference on Approximation of Eigenvalues of Differential Operators held during June 26-30, 1972 at Vanderbilt ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,905
精华内容 1,562
关键字:

eigenvalue