特征值怎么求(机器学习和线性代数)
特征值和特征向量可能是线性代数中最重要的概念之一。从机器学习、量子计算、物理到许多数学和工程的问题,都可以通过找到一个矩阵的特征值和特征向量来解决。
根据定义(标量λ、向量v是特征值、特征向量A):
视觉上,Av与特征向量v位于同一直线上。
这里有些例子。
然而,Ax通常不会等于λx。只有一些特殊的向量满足条件。
应用
许多问题可以用线性变换建模,其中解决方案来自特征值和特征向量。让我们先用一个抽象的例子来详细说明这个问题。在许多系统中,我们可以在向量中表达属性,其变化率线性地取决于当前属性(例如,人口增长率线性地取决于当前人口和GDP)。一般等式是
我们来猜一下满足上面方程的u(t)。因为一个指数函数的导数等于它本身,我们从一个t的指数函数开始然后乘以一个向量x,输出就是一个向量。
根据上面的计算,u(t)的解是
接下来,我们将找到它的完全解。一阶导数方程是一个线性函数。
对于线性函数,完全解是特定解的线性组合。如果u和v是解,则C₁u + C₂v也是解。从我们之前的特征值λ= 4,-2和-2的例子中,完全解将是
在t = 0时,我们可以测量初始状态u(0),比如说[u₀₁,u₀₂,u₀₃]ᵀ,并求解常数C₁,C₂,C₃。
让我们用谐振子来说明这个想法。我们选择这个例子是因为谐波振荡器及其近亲(量子谐振子)在研究粒子物理学,量子力学或物理学方面几乎无处不在。我们从著名的F=ma方程开始用特征值和特征向量来解二阶导数。由于我们确实可以自由选择质量单位,物理学家通常设m = 1来简化讨论,即
我们把谐振子问题重新写成矩阵的形式。
这与我们上一个例子的形式相同,因此,我们可以使用A的特征值和特征向量来形成完全解。
这不是一个证明特征值能力的孤立例子。著名的定态(time-independent)薛定谔方程用特征值和特征向量表示。所有观察到的属性都是通过量子力学中的特征值建模的。还有很多其他的例子,包括机器学习。
从根本上说,许多系统都可以建模为
让我们再研究时间序列模型。
首先,我们假设初始状态u 0是A的特征向量。因此,未来状态可以计算为
简而言之,我们可以通过用标量的幂代替矩阵(Aᵏ)的幂来简化计算。 接下来,考虑A具有n个线性独立的特征向量,它们构成Rⁿ的basis 。 我们可以将Rⁿ的任何向量分解为该basis,并通过再次计算特征值的幂来简化计算。
让我们简化讨论,假设整个互联网只包含三个网页。矩阵A的元素Aᵢⱼ是当用户在页面j上时用户去页面i的概率。
如果我们总结给定特定页面的下一页的所有可能性,它等于1。因此,A的所有列总和为1.0,这种矩阵称为随机矩阵(转移矩阵或马尔可夫矩阵)。
马尔可夫矩阵具有一些重要的性质。Ax或Aᵏx的结果总是其列相加的和为1。此结果表示每次点击后分别位于第1,2和3页的可能性。所以很明显它的和应该是1。
任何马尔可夫矩阵A的特征值都是1,其他特征值(正或负)的绝对值都小于1。这种行为非常重要。在我们的例子中,
对于马尔可夫矩阵,我们可以选择λ= 1的特征向量,使元素总和达到1.0。 元素总和为1的向量v也可以使用A的特征向量进行分解,其中c 1等于1。
由于u 1,u 2,...和un是特征向量,所以Aᵏ可以用λᵏ代替。除了特征值λ= 1之外,马尔可夫矩阵的特征值(λᵏ)的幂将减小,因为这些特征值的绝对值小于1。 因此,无论初始状态如何,系统都达到接近特征向量u 1的稳态。 Aᵏ和稳态都可以从特征向量u 1导出,如下所示。
在我们的例子中,我们到达第1、2和3页的概率分别是0.41、0.34和0.44。这个概念有许多潜在的应用。许多问题可以用马尔可夫过程和马尔可夫/转移矩阵来建模。
PageRank
以谷歌联合创始人拉里佩奇命名的PageRanking算法也有类似的概念。它是第一个谷歌搜索排名算法,即使它现在经过大量修改,增加了排名算法,以改善用户体验并避免人们操纵系统。 核心概念可视化如下。PageRanking通过跟踪到其他页面的Web链接,输出您在随机游走后可能点击页面的概率分布。该概率充当网页的排名。当很多页面链接到您的网页时,谷歌会将它排序更高,因为链接到网页的页面数量是其受欢迎程度的指标。 这意味着在随机游走中点击页面的机会。
从概念上讲,我们计算一个页面排名,它等于链接到这个页面的其他页面排名的总和,除以经过某种归一化后的出站页面总数。
我们迭代地执行计算,直到它达到稳态。在数学上,PageRank尝试在以下等式中求解PageRank R.
这与我们之前讨论的例子有很大的相似之处,如果我们忽略阻尼因子d。引入这个因子是因为随机游走不会永远持续。
对于Google,他们不直接计算特征向量。在我们前面的例子中,A的幂收敛得很快,A3的列已经收敛到本征向量u 1 。
PageRank论文证明,有3.22亿个页面链接,该解决方案在52次迭代中收敛到一个可容忍的极限。
马尔可夫矩阵使我们得到下面的方程,其中稳态依赖于一个主成分。
在机器学习中,信息与原始数据纠缠在一起。 在数学上,特征值和特征向量提供了识别它们的方法。 特征向量识别成分,特征值量化其重要性。 下面的等式将A中的信息分解为成分。 我们可以基于特征值的平方根对它们进行优先级排序,并忽略具有小α值的项。 这样可以降低噪声并帮助我们在A中提取核心信息。
解
希望你现在可以看到Ax =λx的美感。 特征值和特征向量可以通过求解(A-λI)v = 0来计算。对于Ax =λx,对于v = 0以外的解,矩阵(A-λI)是不可逆的。 即它是单数的。 即它的行列式是零。 det(A - λI)= 0称为特征多项式。 特征值是该多项式的根。
例
特征值是:
应用Av =λv:
让我们通过一个更复杂的例子详细说明这一步骤,
要找到特征值λ,
16的可能因数是1 2 4 8 16。
让我们计算特征值λ= 4的特征向量,通过减少行。
我们有三个变量,有2个方程。我们将x 3任意设置为1并计算其他两个变量。因此,对于λ= 4,特征向量是:
我们重复计算λ= -2并得到
通过3个变量和1个方程,我们的解决方案中有2个自由度。让我们在与其他(多个)时间设定为1〜自由之一的一个度为0而设定为X 2 = 1时,X 3 = 0,和X 2 = 0,X 3 = 1分开,所计算出的特征向量是:
有3个变量和1个方程,解有2个自由度。让我们一次把一个自由度设为1,另一个自由度设为0。 即设置x 2 = 1,x 3 = 0,x 2 = 0,x 3 = 1,计算出的特征向量为:
请注意,特征值和特征向量的解集不是唯一的。我们可以重新缩放特征向量。我们还可以为上面的x 2,x 3设置不同的值。因此,选择我们的特征向量以满足某些条件是可能的,也是可取的。例如,对于对称矩阵,总是可以选择具有单位长度并且彼此正交的特征向量。
在我们的例子中,我们有一个重复的特征值“-2”。它生成两个不同的特征向量。然而,情况并非总是如此 - 有些情况下重复的特征值不具有多个特征向量。
对角化
假设矩阵A具有两个特征值和特征向量。
我们可以将它们连接在一起并以矩阵形式重写方程式。
我们可以将它推广到任意数量的特征向量:
其中V连接所有特征向量,Λ(λ的大写字母)是包含特征值的对角矩阵。
矩阵A一个是可对角化的(如果我们可以把它转换成一个对角矩阵),
即
如果n×n矩阵具有n个线性独立的特征向量,则它是可对角化的。如果矩阵是对称的,则它是可对角化的。如果矩阵没有重复的特征值,它总是生成足够的特征向量来对向量进行对角化。如果没有,则无法保证。
特征分解
如果A是一个具有N个线性独立特征向量的矩形矩阵(v 1,v 2,...&vn和相应的特征值λ1,λ2,...和λn),我们可以重新排列
成
例如,
特征值和特征向量的性质
Ax与特征向量x在同一直线上(方向相同或相反)。特征值的和等于矩阵的迹(对角元素的和)。特征值的乘积等于行列式。如果没有特征值重复,所有特征向量都是线性无关的。如果特征值是重复的,我们可能有也可能没有足够的线性无关的特征向量来对角化一个方阵。正特征值的数量等于正pivots的数量。对于Ax =λx,如果A是奇异的,它的特征值是0。可逆矩阵的所有特征值都是非零的。特征值和特征向量可以是复数。投影矩阵的特征值始终仅为1和0。反射矩阵的特征值为1和-1。可视化
因为很难看到超过3个维度的任何东西。 此处的示例保留2维。 假设v 1和v 2是2×2矩阵A的线性无关特征向量。任何向量都可以在v 1和v 2方向上分解为components 。 当我们将A与特征向量相乘时,结果在特征向量的同一条线上。 如果特征值为正,则它将向量按特征值在相同方向上缩放。 否则,它会向相反方向缩放向量。
因此,对于下面红色单位圆上的所有点,都将转换为椭圆上的点。但是对于非特征向量,它不会在原向量的同一条直线上。当我们继续将结果与A相乘时,结果会更接近特征向量。
在这种可视化中有一件非常重要的事情。变换后的单位向量(Ax)的最大范数(长度)小于或等于最大特征值。另一方面,范数大于或等于最小特征值,即
事实上,这可以很容易地在下面看到。
目标或成本函数通常以xᵀAx的二次形式表示。假设m×n矩阵A保持n个主体的属性。AAᵀ保持这些属性之间的关系,这个矩阵S是对称的。
特征值和特征向量可以帮助我们改变不同方向的特征。具有最大值的特征向量向我们显示这些属性之间的相关性。这些概念可以在SVD和PCA看到。
声明:本文由"麦兜"发布,不代表"知识分享"立场,转载联系作者并注明出处:https://www.029ipr.com/life/22123.html