首页 > 编程知识 正文

数据有效性中如何输入函数,excel相关性分析函数

时间:2023-05-03 11:14:20 阅读:173934 作者:3207

转自: http://www.cnblogs.com/内向的旅人/archive/2011/03/18/1988406.html 3358 www.Sina.com /

让我们考虑一下我们最初在“线性回归”中提出的问题。 特征是房子的面积x,这里的x是实数,结果y是房子的价格。 假设根据样本点的分布发现x和y与三次曲线一致,我们想用x的三次多项式逼近这些样本点。 那么,首先需要将特征x扩展到三维,寻找特征和结果之间的模型。 这种特征变换被称为特征映射。 映射函数在本例中是

希望将映射了所获得的特征的特征应用于SVM分类,而不是最初的特征。 这样,必须将上一个表达式的内积从映射到。

为什么需要映射后的特征而不是最初的特征参与计算,一个原因是上述“为了更好地拟合”,另一个重要的原因是,虽然可能不能对样本进行线性分离,但是在将特征映射到高维空间时可以进行分离(《数据挖掘导论》踏实的战斗机-冰淇谭等人写的《支持向量机》章节有很好的例子)

将核函数形式化定义,如果原特征内积为,映射后为,则核函数Kernel定义为

至此,我们可以得出结论,要实现本节开头的效果,先计算再计算就可以了,但这种计算方式效率非常低。 例如,第一个特征是n维,将其映射到维上进行计算所需的时间。 有没有减少计算时间的方法?

让我们看一个例子。 假设x和z都是n维,

展开后获得

此时,可知只要计算原特征x和z的内积的平方(时间复杂度为o(n ) ),就可以等价计算与映射后的特征的内积。 也就是说,我们不需要花时间。

现在,如果观察映射函数(n=3的情况),则根据上式可以得到

也就是说,核函数只有在选择了这样的映射函数的情况下,才与映射后的特征的内积等价。

再看一个核函数

对应的映射函数(当n=3时)

更一般地,与核函数对应的映射后的特征量纲是。 (解决方法见http://zhidao.Baidu.com/question/16706714.html )。

因为计算内积,所以可以用IR考虑余弦相似度,x和z向量所成的角越小核函数值越大,反之则越小。 因此,核函数值是和的相似度。

让我们看看另一个核函数

此时,如果x和z非常接近,则核函数值为1,如果x和z相差很大,则核函数值约为0。 该函数因其与执着的电话分布相似,又称为执着的电话核函数,又称径向基函数(Radial Basis Function简称RBF )。 可以将原始特征映射到无限维。

既然执着的内核函数可以比较x和z的相似度,并从0映射到1,请记住逻辑回归。 sigmoid函数很好,所以还有sigmoid内核函数等。

下图显示了低维线性且不可时分,映射到高维的话就可以分割,使用执着的核函数。

来自Eric Xing的幻灯片

使用核函数后,如何对新样本进行分类? 线性时使用SVM学习w和b,用于在新来的样品x后,判断值为1以上时为正类,以下为负类。 认为两者之间,无法确定。 如果使用了核函数,会先找到再预测吗? 答案是不同的。 找很麻烦。 请回忆起之前说的话

核函数(Kernels)

只是将替换为,对值的判断是相同的。

问题:给定某个函数k,可以用k代替计算吗? 也就是说,对于所有的x和z,都能找到一个吗?

例如,指示了k是否被认为是有效的内核函数。

为了解决这个问题,给出m个训练样本,分别对应特征向量。 那么,可以把任意两个和带入k进行计算。 I从1到m,j从1到m,这样可以计算m*m的核函数矩阵(Kernel Matrix )。 为了方便,用k表示核函数矩阵和都。

假设k是有效核函数,则由核函数定义

可以看出,矩阵k应该是对称数组。 得出更强的结论吧。 首先,用符号表示映射函数的第k维属性值。 那么,对于任意向量z,得到

最后一步与上一次计算时类似。 从这个公式可以看出,如果k是有效的核函数(也就是等价的),那么在训练集中获得的核函数矩阵k应该是半正规化的)。

这样就得到了核函数的必要条件:

k是有效的核函数==核函数矩阵k是对称半正定的。

幸运的是,这个条件也很充分,通过Mercer定理来表达。

8 核函数有效性判定

如果函数k是上面的映射,也就是说从2个n维开始

向量映射到实数域)。那么如果K是一个有效核函数(也称为Mercer核函数),那么当且仅当对于训练样例,其相应的核函数矩阵是对称半正定的。

Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找,而只需要在训练集上求出各个,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。

许多其他的教科书在Mercer定理证明过程中使用了范数和再生zqdsg空间等概念,但在特征是n维的情况下,这里给出的证明是等价的。

核函数不仅仅用在SVM上,但凡在一个模型后算法中出现了,我们都可以常使用去替换,这可能能够很好地改善我们的算法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。