矩阵知识
范数
-
F-范数(Frobenius范数)
一般用来衡量矩阵大小;有矩阵 A ( m ∗ n ) A (m*n) A(m∗n) ,则 A A A 的 F-范数计算方式
∣ ∣ A ∣ ∣ F = ∑ i = 1 m ∑ j = 1 n ∣ a i j ∣ 2 = t r ( A ∗ A ) = ∑ i = 1 m i n ( m , n ) σ i 2 ||A||_F = \sqrt{\sum_{i=1}^m \sum_{j=1}^n |a_{ij}|^2} = \sqrt{tr(A*A)} = \sqrt{\sum_{i=1}^{min(m,n)}\sigma_i^2} ∣∣A∣∣F=i=1∑mj=1∑n∣aij∣2=tr(A∗A)=i=1∑min(m,n)σi2
其中 σ i \sigma_i σi 为 矩阵 A A A 的奇异值。 -
L0范数
有矩阵 A ( m ∗ 1 ) A (m*1) A(m∗1) ,则 A A A 的 L0 范数 ∣ ∣ A ∣ ∣ 0 ||A||_0 ∣∣A∣∣0 表示 A 中非 0 元素个数;由于 L0 范数本身并不是一个好的数学表达式,所以用的较少。 -
L1范数
有矩阵 A ( m ∗ 1 ) A (m*1) A(m∗1) ,则 A A A 的 L1 范数表示向量中各元素绝对值之和
∣ ∣ A ∣ ∣ 1 = ∑ i = 1 m ∣ a i ∣ ||A||_1 = \sum_{i=1}^m|a_i| ∣∣A∣∣1=i=1∑m∣ai∣ -
L2范数
有矩阵 A ( m ∗ 1 ) A (m*1) A(m∗1) ,则 A A A 的 L2 范数表示向量中各元素平方和再开方
∣ ∣ A ∣ ∣ 2 = ∑ i = 1 m a i 2 ||A||_2 = \sqrt{ \sum_{i=1}^m a_i^2 } ∣∣A∣∣2=i=1∑mai2 -
最大范数
∣ ∣ x ∣ ∣ ∞ = max i ∣ x i ∣ ||x||_\infty= \max \limits_{i} |x_i| ∣∣x∣∣∞=imax∣xi∣
求导
已知
α
\alpha
α,
β
\beta
β 均为列向量,
∂
∣
∣
α
−
β
∣
∣
2
2
∂
α
=
∂
(
α
−
β
)
T
(
α
−
β
)
∂
α
=
2
(
α
−
β
)
\frac{\partial {||\alpha-\beta||}^2_2}{\partial \alpha} = \frac{\partial {(\alpha-\beta)^T(\alpha-\beta)}}{\partial \alpha} = 2(\alpha-\beta)
∂α∂∣∣α−β∣∣22=∂α∂(α−β)T(α−β)=2(α−β)
奇异值分解
其它
矩阵的谱(半径):特征值绝对值的最大值
一些指标
-
OA(overall accuracy)总体精度:模型在所有测试集上预测正确的数据量与总体数据量之间的比值
-
AA(average accuracy)平均精度:每一类预测正确的与每一类总体数量之间的比值,最终再取每一类的精度的平均值。
-
kappa:一种衡量分类精度的指标
k = p 0 − p e 1 − p e k = \frac{p_0-p_e}{1-p_e} k=1−pep0−pe
其中 p 0 p_0 p0 是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度(OA),假设每一类的真实样本个数分别为 a 1 , a 2 , . . . , a c a_1,a_2,...,a_c a1,a2,...,ac,而预测出来的每一类的样本个数分别为 b 1 , b 2 , . . . , b c b_1,b_2,...,b_c b1,b2,...,bc,总样本个数为n,
p e = a 1 ∗ b 1 + a 2 ∗ b 2 + . . . + a c ∗ b c n 2 p_e = \frac{a_1*b_1+a_2*b_2+...+a_c*b_c}{n^2} pe=n2a1∗b1+a2∗b2+...+ac∗bc
kappa计算结果为-1~1,但通常kappa是落在 0~1 间,可分为五组来表示不同级别的一致性:0.0~0.20 极低的一致性(slight)、0.21~0.40一般的一致性(fair)、0.41~0.60 中等的一致性(moderate)、0.61~0.80 高度的一致性(substantial)和 0.81~1 几乎完全一致(almost perfect)。 -
NMI(Normalized Mutual Information)标准化互信息,常用在聚类中,度量两个聚类结果的相近程度。基本可以比较客观地评价出一个社区划分与标准划分之间相比的准确度。NMI的值域是0到1,越高代表划分得越准。
matlab
有矩阵
A
=
[
0
2
0
1
3
9
]
A= \begin{bmatrix} 0 & 2 & 0 \\ 1 & 3 & 9 \end{bmatrix}
A=[012309]
B
=
[
pi
NaN
Inf
]
B= \begin{bmatrix} \text{pi} & \text{NaN} & \text{Inf} \end{bmatrix}
B=[piNaNInf]
pi 指
π
\pi
π ,NaN 代表非数值量,Inf 代表正无穷量。
C = [ 1 2 3 ] C= \begin{bmatrix} 1 & 2 & 3 \end{bmatrix} C=[123]
size(A, 1)
返回矩阵行数size(A, 2)
返回矩阵列数rand(1, 3)
生成 1 行 3 列的矩阵,元素值均在 0-1之间,两个参数用于控制维度unique(A)
生成一个新的列
矩阵,矩阵元素都来自矩阵 A,但没有重复元素,且从上往下升序排列,返回矩阵如下
[ 0 1 2 3 9 ] \begin{bmatrix} 0 \\ 1 \\ 2\\ 3\\ 9 \end{bmatrix} ⎣⎢⎢⎢⎢⎡01239⎦⎥⎥⎥⎥⎤
-
isnan(B)
返回与B同型的矩阵,若B中元素为NaN(非数值),则在新矩阵对应位置上返回逻辑1(真),否则返回逻辑 0(假)。返回矩阵如下
[ 0 1 0 ] \begin{bmatrix} 0& 1 & 0 \end{bmatrix} [010] -
mapminmax(A)
对矩阵A进行归一化处理,即将所有元素归一化到 [-1,1] 区间内。mapminmax(A, 0, 1)
则表示将矩阵 A 所有元素归一化到 [0,1] 区间内 -
max(A)
返回 A 中元素最大值(9),
[a, b] = max(A)
,a,b都是行向量,a记录A的每列的最大值,b记录A的每列最大值所在的行数
a = [ 1 3 9 ] a = \begin{bmatrix} 1 &3 &9 \end{bmatrix} a=[139] b = [ 2 2 2 ] b= \begin{bmatrix} 2 &2 &2 \end{bmatrix} b=[222]
-
reshape(A, 3, 2)
将 A 矩阵变成 3x2 型(变换前的矩阵和变换后的矩阵元素个数必须相同)
[ 0 3 1 0 2 9 ] \begin{bmatrix} 0 & 3 \\ 1 & 0\\ 2 & 9 \end{bmatrix} ⎣⎡012309⎦⎤ -
meshgrid(1:3, 2:5)
生成3列4行的矩阵,1:3 决定了生成3列,且每行元素均为
[1, 2, 3],2:5 则表示生成2-5 列,即4列
[ 1 2 3 1 2 3 1 2 3 1 2 3 ] \begin{bmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{bmatrix} ⎣⎢⎢⎡111122223333⎦⎥⎥⎤[X, Y] = meshgrid(1:3, 2:5)
,此时 X 与上面矩阵相同,而 Y 与 X 同型,但却为
[ 2 2 2 3 3 3 4 4 4 5 5 5 ] \begin{bmatrix} 2 & 2 & 2 \\ 3 &3 & 3 \\ 4 & 4 & 4 \\ 5& 5 & 5 \end{bmatrix} ⎣⎢⎢⎡234523452345⎦⎥⎥⎤
每一列为 [2, 3, 4, 5],共3列 -
ismember(A, C)
判断A中元素是否在C中也有,若有,返回矩阵(与A同型)对应位置为1,否则为0
[ 0 1 0 1 1 0 ] \begin{bmatrix} 0 & 1 & 0 \\ 1 & 1 & 0 \end{bmatrix} [011100]
ismember(A, C, 'rows')
以行为单位,判断 A 中每一行是否是 C 的某一行,如果是返回1,否则返回0,返回矩阵 size: s i z e ( A , 1 ) ∗ 1 size(A, 1)*1 size(A,1)∗1
[ 0 0 ] \begin{bmatrix} 0 \\ 0 \end{bmatrix} [00] -
IDX=kmeans(X, K)
kmeans 聚类函数, X X X 为数据矩阵(维度: n ∗ d n*d n∗d, n n n 个数据, d d d 个特征),k 为聚类簇数,IDX 为 n ∗ 1 n*1 n∗1 矩阵,存储每个数据的聚类标号。 -
X = diag(v, k)
其中 v 为向量,k 为整数,返回以向量 v 的元素作为矩阵 X 的第 k 条对角线元素,当 k=0 时,v 为 X 的主对角线;当 k>0 时,v 为上方第 k 条对角线;当 k<0 时,v 为下方第 k 条对角线。
文献
- 《Fast Spectral Clustering With Anchor Graph》
- 《KDD14 Clustering and Projected Clustering with Adaptive Neighbors》
- 《The Constrained Laplacian Rank Algorithm for Graph-Based Clustering》