返回第119章 高中课程里有这些?(第1/3页)  重生学神有系统首页

关灯 护眼     字体:

上一章 目录 下一页

    他当初刚写第一篇论文的时候,就拟好了这个题目,只是由于数学基础不够,一直停留在构思阶段。

    这两天他利用碎片时间,稍微补了补高数知识,这才真正动笔。

    江寒将近期一些想法整理了一下,罗列了个大纲出来。

    很多机器学习分类算法,都要求假设数据线性可分,“感知机”也不例外。

    如果数据不是线性可分的,就必须采用一些特殊的方法,把数据非线性地投射到更高的维度上。

    在高维空间里,数据更有可能变成线性可分的,这就是所谓的cover定理。

    对于感知机来说,处理线性不可分的问题,有个最简单的解决办法,那就是把单层感知机拓展为多层感知机。

    多层感知机的关键,在于如何训练各层之间的连接权值。

    一种常用的办法是只训练某两层间的连接权值,而将其它连接权值进行固定。

    可以从数学上证明,对于所有非线性可分的样本集,这种方法都是收敛的。

    也可以采用bp技术,也就是另一个世界里,大名鼎鼎的“反向传播神经网络”。

    当然,这个世界里,“感知机”都还没正式登场,说这些还有点早。

    至于bp技术什么时候问世,基本上是江寒自己说了算……

    此外,还可以将数据带到核空间,再进行分类。

    在另一个世界里,有很多着名的算法,例如支持向量机(svm)、径向基神经网络(rbfnn)等等,都采用了所谓的“核方法”。

    核方法的核心,是核函数。

    工业生产中,常用的核函数有线形核、多项式核、高斯核等等。

    所谓核空间,百度百科上说:“核型空间是一类局部凸空间。”

    具体来说:如果对零元的任何均衡凸邻域v,存在另一零元的均衡凸邻域u?v,使得典型映射t:xv→xu是核映射,则局部凸空间x称为核型空间。

    这里,xu是商空间(x,pu(·)){x|pu(x)=0},而xv是商空间(x,pv(·)){x|pv(x)=0}的完备化空间,pu(·)及pv(·)是由u和v各自产生的闵可夫斯基泛函。

    嗯,江寒刚开始看到这个的时候,还真有点懵逼。

    所以,再加强一点数学素养,还是很有必要的说……

    当然,就算不懂上面的数学表达,一样可以理解核函数的功能。

    核函数主要做的事情,就是将样本映射到更高维的空间。

    但是,这样做虽然能使样本变得可分,但却会造成维数过高,使得计算量急遽增大。

    这就是“高维np难”问题。

    所谓np难(np-hard),是指:非确定性多项式问题的大型实例,不能用精确算法求解,只能寻求有效的近似算法。

    而解决的办法,也有很多……

    好,先回到一开始的问题:如何判断数据是线性可分的?

    最简单的情况,比如数据向量是一维、二维或者三维的,只要把图像画出来,直观上就能判断出来。

    但如果数据向量的维度变得很高,又该怎么办?

    答案是检查凸包(convexhull)是否相交。

    所谓凸包,简单的说,就是一个凸的闭合曲线(曲面),它刚好包住了所有的数据。

    以二维的情况为例,如果我们的数据训练集有两类:m+和m-。

    当我们画出两个类的凸包,如果两者不重叠,那么两者线性可分,反之则线性不可分。

    靠画出图形,然后用眼睛来判断是否线性可分,虽然比直接看数据更加容易了

『加入书签,方便阅读』

上一章 目录 下一页