嗨
卡迈勒
,
我知道你想要
知道
为什么您的自定义支持向量机嵌入
返回错误。
这个错误
你
因为核函数
你已经
是返回一个内核产品矩阵定义错误的大小。
在你的
”
CustomKernel
”
函数,
你
定义功能嵌入
”
φ
”
为每个数据点,然后计算内核的产品矩阵
”
G =φ*φ'
”
计算每一对数据点之间的内积定义的特征空间功能嵌入。
但是,内核返回的产品矩阵的大小计算与支持向量机分类器不兼容,预计一个方阵,每个条目
G (
我
,j)
代表
功能嵌入的数据点之间的内积
我
和
j
。
为了解决这个问题,你需要改变大小的内核的产品矩阵
G
是
NxN
,在那里
N
是数据点的数量在你的输入矩阵
D
。
请参考以下代码片段的更好的理解。
函数G = CustomKernel (U, V)
%定义特性嵌入功能
嵌入= @ (p) [p (: 1)。^ 2,√(2)* p (: 1)。* p (:, 2), p (:, 2) ^ 2];
%计算每个数据点的功能嵌入
embeddings_U =嵌入(U);
embeddings_V =嵌入(V);
%计算每一对之间的内积功能嵌入
G = 0(大小(U, 1),大小(V, 1));
为i = 1:尺寸(U, 1)
为j = 1:尺寸(V, 1)
G点(i, j) = (embeddings_U(我,:),embeddings_V (j,:));
结束
结束
我希望这能帮助你解决 查询