学习小屋 - miller-lover/jingwei-sea GitHub Wiki

奇异值分解(SVD)

M=USVT 对于任意的NxN矩阵M,通过SVD可以将一个相互垂直的网格(orthogonal grid)V变换到另外一个相互垂直的网格U,S为奇异值矩阵。 涉及到线性变换的诸多概念,为了避免陷入数学而不知其现实意义,可以看看这篇博客: 奇异值分解(SVD) --- 几何意义

minhash & lsh

Jaccard similarity

jaccard-index j = a intersection b / a union b

Where a and b are sets.

J = 0 if A and B are disjoint

J = 1 if A and B are identical

Minhash and LSH

Locality sensitive hashing (LSH) – Map-Reduce in Python

MinHash

inHash, LSH, Weighted MinHash, b-bit MinHash, HyperLogLog, HyperLogLog++

如何理解矩阵特征值、特征向量和相似矩阵?

如何理解矩阵特征值、特征向量和相似矩阵? 想要理解特征值,首先要理解矩阵相似。什么是矩阵相似呢?从定义角度就是:存在可逆矩阵P满足B=则我们说A和B是相似的。让我们来回顾一下之前得出的重要结论:对于同一个线性空间,可以用两组不同的基和基来描述,他们之间的过渡关系是这样的:,而对应坐标之间的过渡关系是这样的:。其中P是可逆矩阵,可逆的意义是我们能变换过去也要能变换回来,这一点很重要。 我们知道,对于一个线性变换,只要你选定一组基,那么就可以用一个矩阵T1来描述这个线性变换。换一组基,就得到另一个不同的矩阵T2(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系)。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。具体来说,有一个线性变换,我们选择基来描述,对应矩阵是T1;同样的道理,我们选择基来描述,,对应矩阵是T2;我们知道基和基是有联系的,那么他们之间的变换T1和T2有没有联系呢? 没错,所谓相似矩阵,就是同一个线性变换的不同基的描述矩阵。这就是相似变换的几何意义。 这个发现太重要了。原来一族相似矩阵都是同一个线性变换的描述啊!难怪这么重要!工科研究生课程中有矩阵论、矩阵分析等课程,其中讲了各种各样的相似变换,比如什么相似标准型,对角化之类的内容,都要求变换以后得到的那个矩阵与先前的那个矩阵式相似的,为什么这么要求?因为只有这样要求,才能保证变换前后的两个矩阵是描述同一个线性变换的。就像信号处理(积分变换)中将信号(函数)进行拉氏变换,在复数域处理完了之后又进行拉式反变换,回到实数域一样。信号处理中是主要是为了将复杂的卷积运算变成乘法运算。 特征值和特征向量是为了研究矩阵仿射变换的不变性而提出的,一个空间里的元素通过线性变换到另一个相同维数的空间,那么会有某些向量的方向在变换前后不会改变,方向不变但是这些向量的范数可能会改变,我这里说的都是实数空间的向量。

定义,定义为原始空间中的向量,为变换后空间的向量,简单起见令为阶方阵且特征值互不相同,对应的特征向量线性无关。那么原始空间中的任何一个向量都可以由A的特征向量表示,既那么在变换到另一个空间时,这就求完了!

好,下面再说更深层次的含义。

在不同的领域特征值的大小与特征向量的方向所表示的含义也不同,但是从数学定义上来看,每一个原始空间中的向量都要变换到新空间中,所以他们之间的差异也会随之变化,但是为了保持相对位置,每个方向变换的幅度要随着向量的分散程度进行调整。

你们体会一下拖拽图片使之放大缩小的感觉。

如果A为样本的协方差矩阵,特征值的大小就反映了变换后在特征向量方向上变换的幅度,幅度越大,说明这个方向上的元素差异也越大,换句话说这个方向上的元素更分散。

⚠️ **GitHub.com Fallback** ⚠️