关于overfitting

2017-10-18  本文已影响0人  zizon

中午翻到篇论文,讲模拟人脑神经网络结构的.
其中有个地方提到了一个delay的概念.
大意就是神经网络力有个比较重要的特性就是信号传达的延时.

一个马上的联想就是artificial neural network/ANN.

把某一个粒度的神经网络信号传播延迟考虑一个time frame/tick之类的东西.
那么每一个信号的释放和响应就存在一个t的延时.
对应于ANN就是一个activation delay了几个cycle/batch之后再参与进来.

类比LSTM的话就是类似于
c_t = \sum_i f_i(c_{t-1}*W_i)的形式.

但是拆开来动态一点想的话.
在每一个cycle其实就是一个确定的graph的dataflow的东西.

而不过把不同delay按照某种基本cycle单元分组的话.
也就是做类似周期频率的等价意义的话.
最终的实际dataflow就可以考虑为各种周期的graph形态的dataflow composite而成的.

类似于傅立叶变换.

反过来说,每一个简单的dataflow就代表了某种类似feature或者说决策的东西.

于是把ANN的结构考虑为一组并列的decision tree的形态的话.
每一个cell其实还是类似于某种策略选择.
只不过具体意义是相对隐式的.

那么,如果把已知的一些可解释的描述变量放到一个傅立叶变换里,拟合出对应的参数的话呢?

一种结果可能就是跟样本的多样性有关.

因为毕竟拟合代表是某个集合的summary特征.
除非说涵盖了多数情况,不然overfitting是难免的.

于是一个问题就是表达式的外延性或者说类似out of vocabulary/generalization的问题如何定义呢?

generative adversarial的考虑是negative sampling.
直觉上这是类似于bounding/constrain的做法.

即是定义出一个类似函数边界的东西.

某种意义上来说可以理解为是一种定向的prune.

underfitting的问题可以从拟合的准确度来比较直观地看到.

overfitting本质上来说是过多地capture了training set的一些细微的差异.

考虑实际上是存在一个确定的多项表达式描述预期函数的.
对于一个ture negative的input来说,实际上对于这个具体的表达式而言应该是被接受的.
而拟合函数给予拒绝的话说明从表达构成来说,比真实预期函数多了一些不必要的余项.

形式上来说,regularization/bias是有可能去掉这些项目的.
当并不确切.

因为理论上上说,这个效用只在于不同的拟合之间可以作为一个参考.
在一个拟合内,其实是可以理解为多input的一定程度的transform而已.
实际还是存在某种deterministic的.

如果是一个符合某种分布的区间值呢?
也就是bias是一个每次regression的时候是概率性的有一定范围bound的值呢?

因为服从一个既定概率分布,所以期望应该还是确定的.
对于单个update的收敛性的性质应该不会有什么影响.

对于整体呢?

如果真实的表达式是

G=\sum_i g_i(x)
的话
拟合为
F = G+Bias
->
G = F - Bias
->
G = \sum_i f_i(x) - p_i*bias

从形式上来说,跟不用概率分布是一样的.

所以这也不能用来衡量是否过度表达.

实际上,把negative sampling换个思路理解的话,其实是某种副作用在减少overfiting.
因为包含的bounding约束,可能一定程度上会使得出来的余项相对较小.

如果不能减小的话,说明negative sample里也能capture到这些余项所代表的特征.
因为形式上是
maximize(positive) + minimize(negetive)
->
w*x_n + b_n + n_p
->
reminder = b_n + n_p

reminder不减小的话,就因为这b_n和n_p都有贡献.

上一篇下一篇

猜你喜欢

热点阅读