2014-阿里竞赛的一些问题总结

====2014-05====================================================================

1,多层的逻辑回归会比LR好吗?或者说MLP到底能模拟输入层的哪些关系?

    在做这竞赛的时候,打算先用简单trival的特征加LR来试试。在处理的时候,我想如果这些简单特征

之间不是线性的怎么办呢?感觉MLP至少会模拟特征之间的一些非线性关系吧,比如两个特征的乘积、多项式项等。于是就把那个任意层MLP改成了任意层LR——就是把输出层改成只有一个输出unit,相应地把cost function和梯度公式也改了。但是实验结果并不好,比正常的LR略低。

    不知是多层的LR并不能模拟足够的多项式关系?还是这些训练数据的简单特征之间并无多余的多项式关系?还是我的代码和实现思路有误?当时没深究,现在也没弄明白。

 

====其实就是多层MLP的二分类与多分类器

====问题就是多层MLP如何拟合特征的多项式呢(假设数据具有多项式关系)?也就是MLP的拟合能力函数问题,暂时没深入探索

 

 

----update 2014-08-03------------------------------------------------------------------------------

关于MLP(单隐层或双隐层)拟合多项式能力的简易小实验设计:

1,随机生成x^2 + y^2 <=2 内的400个点,标为正类;

      随机生成4<=x^2 + y^2 <=5 内的400个点,标为负类。

2,输入层单元个数为2,输出层单元个数为1,隐层单元个数可变(vary)

3,检查训练结束后的相应参数,看看隐层unit个数与多项式阶数的关系。

 第1步的数据示意图:

 

----update 2014-08-06------------------------------------------------------------------------------

关于MLP(单隐层或双隐层)拟合多项式能力问题的一篇文章:

    今天在check ICML‘14 accepted papers 时发现一篇讲神经网络学习多项式函数的文章-Learning Polynomials with Neural Networks,链接地址为 http://jmlr.org/proceedings/papers/v32/andoni14.pdf

    公式好多,也没有示意图哭,得抽空看看

 

----update 2014-08-11------------------------------------------------------------------------------

实验结果简单记录:

layer = [2,1,1]和layer=[2,2,1] 结果达不到100%

隐含层单元个数>=3的话,MaxIterationNum =500,lambda=1

    分类Accuracy都是100%

PS:最近看了些论文,太数学了,很头大,不过基本上可以知道MLP和RBF网络都是通用逼近器

那么还是回到最初的问题——你有几个基本特征后,假设你并不知道它们之间的多项式关系,如何用MLP

试出大致的关系呢,比如小实验中的平方和(x1^2+x2^2)?

貌似有篇中文论文说MLP的逼近能力与隐层的激活函数和聚集函数无关,只与隐层的单元个数有关,那这样是不是又得去逐个试the number of hidden layer unit呢?看来还是少不了手动调啊,看网上说深度学习可以无监督地学习些高层特征,但是目前对DL没多少了解。

 

老老实实地手动调吧,不能总是靠自动化啊,不能太懒啊吐舌头

猜你喜欢

转载自eaststone.iteye.com/blog/2101117