SVM→8.SVM实战→5.gram矩阵启发

《SVM→8.SVM实战→5.gram矩阵启发》


描述 代码
  1. 采用高斯核时,训练集的gram矩阵的意义:当两个样本的距离近的时候,值为1,距离很远的时候,值为0

  1. 采用线性核时,训练集的gram矩阵的意义???
    1. 以iris数据集为例,特征的shape是(150,4),标签的维度是(150,),且每类50个样本
    2. 计算数据集的gram矩阵并可视化为:
  1. 可以看出,并不是同一类的内积就一定小!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets

iris = datasets.load_iris()
X = iris.data 
Y = iris.target
gram = np.dot(X, X.T)
plt.imshow(gram)
plt.colorbar()
plt.show()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
In[67]: X.shape
Out[67]: (150, 4)
In[68]: Y.shape
Out[68]: (150,)
In[69]: Y
Out[69]: 
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
一行22个数
  1. 因此不能简单地认为gram矩阵表示的含义是距离!







猜你喜欢

转载自www.cnblogs.com/LeisureZhao/p/9752507.html
svm