Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 关于机器学习中核心技巧的直觉_Machine Learning_Statistics_Linear Algebra_Perceptron - Fatal编程技术网

Machine learning 关于机器学习中核心技巧的直觉

Machine learning 关于机器学习中核心技巧的直觉,machine-learning,statistics,linear-algebra,perceptron,Machine Learning,Statistics,Linear Algebra,Perceptron,我已经成功地实现了一个使用RBF核的核感知器分类器。我知道内核技巧将特征映射到更高的维度,这样就可以构造一个线性超平面来分离这些点。例如,如果您有特征(x1,x2)并将其映射到三维特征空间,您可能会得到:K(x1,x2)=(x1^2,sqrt(x1)*x2,x2^2) 如果您将其插入感知器决策函数w'x+b=0,您将得到:w1'x1^2+w2'sqrt(x1)*x2+w3'x2^2,这将为您提供一个循环决策边界 虽然内核技巧本身非常直观,但我无法理解这方面的线性代数。有人能帮助我理解我们如何能够

我已经成功地实现了一个使用RBF核的核感知器分类器。我知道内核技巧将特征映射到更高的维度,这样就可以构造一个线性超平面来分离这些点。例如,如果您有特征(x1,x2)并将其映射到三维特征空间,您可能会得到:
K(x1,x2)=(x1^2,sqrt(x1)*x2,x2^2)

如果您将其插入感知器决策函数
w'x+b=0
,您将得到:
w1'x1^2+w2'sqrt(x1)*x2+w3'x2^2
,这将为您提供一个循环决策边界

虽然内核技巧本身非常直观,但我无法理解这方面的线性代数。有人能帮助我理解我们如何能够映射所有这些附加功能,而不显式地指定它们,只使用内部产品吗


谢谢

我不确定我是否在回答你的问题,但我记得“诀窍”是你没有明确计算内积。感知器计算出一条分隔簇的直线。要获得曲线甚至圆,您可以更改包含簇的空间,而不是更改感知器。这是通过使用通常称为φ的变换来完成的,该变换将坐标从一个空间变换到另一个空间。感知器算法然后被应用到新的空间中,在那里它产生一条直线,但是当这条直线被转换回原始空间时,它可以被弯曲

诀窍在于,感知器只需要知道它试图分离的簇的点的内积。这意味着我们只需要能够计算变换点的内积。这就是内核所做的K(x,y)=其中<,.>是新空间的内在产物。这意味着不需要对新空间进行所有变换,甚至不需要明确知道变换phi()是什么。所需要的只是K在某个空间中定义了一个内积,并希望这个内积和空间对分离集群有用

我认为有一个定理表明,如果内核所代表的空间的维数高于原始空间,那么它很可能会更好地分离集群。

简单

给我一些x和y值的(x+y)^10的数值结果

你更愿意做什么,“欺骗”和x+y之和,然后将该值取10次方,或者将精确的结果展开写出

x^10+10 x^9 y+45 x^8 y^2+120 x^7 y^3+210 x^6 y^4+252 x^5 y^5+210 x^4 y^6+120 x^3 y^7+45 x^2 y^8+10 x y^9+y^10
然后计算每个项,然后把它们加在一起?显然,我们可以计算10次多项式之间的点积,而无需显式形成它们


有效核是点积,在点积中,我们可以“欺骗”并计算两点之间的数值结果,而不必形成它们的显式特征值。有很多这样的内核,尽管只有少数内核在论文/实践中被大量使用

其实没什么大不了的

较高空间中的权重为
w=sum_i{a_i^t*Phi(x_i)}

和较高空间中的输入向量
Phi(x)

因此,更高空间中的线性分类是

w^t*输入+c>0

所以如果你把这些放在一起

sum_i{a_i*Phi(x_i)}*Phi(x)+c=sum_i{a_i*Phi(x_i)^t*Phi(x)}+c>0

最后一个点积的计算复杂度与维数成线性关系(通常难以处理或不需要)

我们通过转到内核“点积的神奇答案”来解决这个问题

K(x_i,x)=Phi(x_i)^t*Phi(x)

sum_i{a_i*K(x_i,x)}+c>0