定义:
对于n阶方阵A,若任意n阶非零向量x(x里面的元素不能全为0),都有xTAx>0,则称A是正定阵。
若条件变成xTAx≥0,则A称作半正定阵
类似还有负定阵,半负定阵。
数学家为什么要定义正定阵:
其实是这样,如果把n降为1,那A就是一个数,而向量x也变成了一个数。
那xTAx就是 A*X2,而如果A*X2 > 0,则A是正数;如果A*X2≥0,则A是个非负数。
因此就好像:超平面对应到1维是个点,对应到2维是个面,对应到3为是个体,对应到n维就统称为超平面一样,“正定、半正定”个对应到n维的一个称呼罢了,其实它对应到一维就是“正数、非负数”。
一个例子:
在机器学习中,我们有时会使用这样的方式来判断函数的凹凸性:对于函数z = f(x1, x2) ,如果它的二阶导也就是f’’(x1,x2) > 0,则函数的凸的。
而f’’(x1,x2)可以写成下面的黑森矩阵:
所以,可以将“如果f’’(x1,x2) > 0,则函数的凸的”表达成“如果该函数二阶导对应的黑森矩阵 > 0,则函数是凸的”,而看了上面关于正定的介绍后就可以进一步表达成“如果黑森矩阵是正定的,则函数是凸的”。
判别一个矩阵是正定阵的方法:
1, 对称阵是正定阵
2, 特征值都为正的矩阵正定
3, 顺序主子式大于0的矩阵正定
一些小总结:
1,对任意m*n的矩阵A,ATA一定是半正定的。
PS:这个结论在线性回归中将用到。
2,正定矩阵的元素不一定都大于0,只要矩阵最终大于0就可以。
比如:矩阵
里面就有个值-2是小于0的,但它的值是8*10 -(-2)*3是大于0的,所以这个矩阵是正定阵,但里面有个元素小于0。
最后:
到此明白了吧,所谓正定,就是将“一维的某个数 > 0”推广到“n维的某个矩阵> 0”(以防万一再啰嗦一句,一维的矩阵就是一个数,比如:矩阵[1]其实就是数1),半正定就是将“一维的某个数≥0”推广到“n维的某个矩阵≥0”,其他负定阵,半负定阵同理。