神经网络特征组合学

时间:2017-08-14 23:24:58

标签: machine-learning neural-network deep-learning feature-engineering

假设我们的神经网络具有足够多的隐藏层,每层隐藏单元和迭代,这样这些参数不会影响网络的预测。

给定特征x1,x2,...,xn,可以(证明)在给定此特征子集(x1到xn)的情况下,一系列潜在特征是否是冗余的。也就是说,鉴于这些特征(x1到xn),神经网络可以识别其他特征,例如:

  • 差异或增加(x1-x49,或x17 + xn)?
  • 产品和比率(x1 * x1,或x47 / xn)
  • 高阶多项式(或Π等序列的乘积(x1 通过xn))
  • 基于原始特征的三角函数(sin(x1 * xn)+) X17)
  • 对数函数(ln(x2 * x4)/ x6)

正是在这一系列的调查中,我想知道是否存在使用神经网络的情况,您需要为网络添加更高阶或不同的函数以准确预测。

一般来说,如果有足够数量的功能,网络是否可以建模 ANY 图形,如果没有,神经网络无法预测哪些功能域?

此外,有没有人可以指出参考这个主题的研究?

谢谢!

2 个答案:

答案 0 :(得分:1)

长话短说:

没有回归任务的神经网络,对不起 - ANN EVER - 能够合理预测 y_target (s)针对此类问题域,主要与NN模型的已实现数学不匹配。

尝试通过(几乎)预测y_target(s)只是{{}中输入层状态向量组件(特征观察)的线性组合1}}(那么,确实得到一些非线性处理网络,它们各自的标量放大的总和)必须并且将无法保持精确。

阅读太复杂了?
让我举个例子。

可以使用ANN来训练这种输入的线性组合,以最佳地近似立方(本质上)问题域行为。最小化搜索的数学将产生这样的ANN系数,这将提供所有其他系数设置的最低惩罚。

到目前为止一切顺利。
但是,这样的"调整" -ANN将永远不会更接近潜在(现实世界)现象的立方性质。不是因为我把它放在这里,而是因为线性组合,然而非线性化因素的调整结合在路上,在重新计算所有层直到最终总和和输出转换发生 - 所有这些主要是不能在输入的整个域范围内引入一个立方行为(大自然,本质上,在问题域现实世界中的行为) - 这里是隐藏的魔鬼和原因,为什么它不能得到任何更好的方式 - 不是很难创建一个简单的模拟这个主要的失败来满足代码中的立方现实。)

一个与问题领域无关的通用人工神经网络可能是一个很好的愿望,但是对于实施这种做法来说是一种矫枉过正,而对于{{1 }}

是的,你是对的,你可以花一些创造力,以便在ANN输入层前面创建和连接一个前ANN黑框,其中所有可能的数学超过原生 - X [:]特征观察发生,从而为ANN输入层提供所有可能的衍生特征半产品,以便ANN可以学习任何类型的实际问题域行为。

这似乎是一种方式,直到你实现这样一个魔术 - Universal-Behavior-Model-Black-box并实现它将在背对背连接器上强制实施的比例,因此制作输入层并且所有隐藏层都会在静态尺度上变得如此宽,以至于生成的 X[:] 缩放的现实很可能会将这种尝试钉在等待中,而与任何可以想象的并行 - 无关由于 .fit() 的复杂性和事实,计算工作,即使成功完全翻译成PAR计算,也没有图灵-SEQ计算复杂性 - 分类法成员会更好域( for reasoning behind this C2-boundary problem ref. comments and citations from here )

即使提出索赔,通用量子计算机(参考U-QC设备)也会使这种情况在O( N^k )中实现可行的结果。我将保留期望这样的U-QC设备成为很快就可以进行实际部署( FYI:当前最大的非U-QC设备 [PTIME,PSPACE] 规模在2016年约为1024 qbits,约为2048+ qbits在2017年,如果这个进步可以永远保持这样的速度,但这样的[CTIME,CSPACE]约束将保持神奇 - 通用 - 行为 - 模型 - 黑盒子背驮式ANN相当小,以满足您的上述表达的期望:

发布的恒定费率CSPACE - 问题扩展问题直到本世纪末

截至EoM-2017/07发布的技术细节,目前的(非)-U-QC设备似乎不允许CSPACE - 约束问题有更多而不仅仅是11 -input-Layer神经元,所以想象一下,2017年只有11个特征输入可用于这种开创性,有吸引力和有前途的技术CSPACE ANN-answers ,但实际上只有QUBO简化了R ^ m-连续域最小化问题(故意排除细节,由于QC幕外的其他复杂性)。

[CSPACE]

现实检查:

考虑到上述技术限制([CTIME]缩放 2011: 128-neurons -- ( from 1x "extended"-input-L, 2015: 1,024 across all many or few hidden-Ls, 2016: 2,048 up to the .. output-L ) 2017: 4,096 2019: 8,192 2021: 16,384 2023: 32,768 2025: 65,536 2027: 131,072 2029: 262,144 2031: 524,288 2033: 1,048,576 - neurons - - IN[300] features 2035: 2,097,152 - first able to compute a trivial ANN 2037: 4,194,304 with just an elementary architecture of 2039: 8,388,608 QuantFX.NN_mapper( ( 300, # IN[300] 2041: 16,777,216 1200, # H1[1200] 2043: 33,554,432 600, # H2[600] 2045: 67,108,864 300, # H3[300] 2047: 134,217,728 - neurons - - IN[ 3096] feat. 1 ),# OUT[1] 2049: 268,435,456 .. ) 2051: 536,870,912 2053: 1,073,741,824 2055: 2,147,483,648 2057: 4,294,967,296 - neurons - - IN[17520] features 2059: 8,589,934,592 2061: 17,179,869,184 2063: 34,359,738,368 2065: 68,719,476,736 2067: 137,438,953,472 - neurons - - IN[99080] features 2069: 274,877,906,944 2071: 549,755,813,888 2073: 1,099,511,627,776 2075: 2,199,023,255,552 2077: 4,398,046,511,104 2079: 8,796,093,022,208 2081: 17,592,186,044,416 2083: 35,184,372,088,832 2085: 70,368,744,177,664 2087: 140,737,488,355,328 2089: 281,474,976,710,656 2091: 562,949,953,421,312 2093: 1,125,899,906,842,624 2095: 2,251,799,813,685,248 2097: 4,503,599,627,370,496 2099: 9,007,199,254,740,992 - neurons - - IN[25365000] features [PTIME,PSPACE]O(N^k)问题,可以.fit()永恒规模限制)创建这样的神圣黑盒超级通用神经网络设备然后然后必须等待几十年,如果不是几个世纪,才能使用它从ANN-on-steriods获得第一个答案。

恰恰相反,更接近现实。

可以并且将引入所有应有的问题域分析工作,以便正确识别本机现实行为(参考技术控制论:系统识别)以提前知道,如何设计一个足够的功能丰富的功能输入层(合成特征 - 高阶幂和交叉积,和,产品,谐波,log- / exp-s,复杂/离散魔法等将发生,只需 - 在哪里必要的满足(不超过)执行的系统识别),因为ANN模型缩放可以这样保持一个正确大小的结构,具有以下一系列系统确定性:

a)删除任何单个部分会损坏模型(缺少一些必不可少的功能主要会导致预测无法满足系统识别的行为多样性)。

b)添加任何单个部分都不会改进模型(添加任何未包含在已识别系统行为的多样性中的任何功能会为当前预测功能增加零功率)

足够复杂的特征 - 工程+正确尺寸是可行的方法:

k >= 2

因此,人们可能会对一个刚刚足够的人工神经网络感到高兴,这对于经典计算领域的培训和操作是可行的,而不需要等待接下来的20年,直到和如果,通用 - 量子计算 - 一旦当前 [CTIME,CSPACE] - 约束将停止,设备即可在 |>>> nnMAP, thetaVEC, thetaGRAD, stateOfZ, stateOfA, biasIDX = QuantFX.NN_mapper( ( 300, 1200, 600, 300, 1 ), True ) INF: NN_mapper has found: 5 Layers in total ( 3 of which HIDDEN ), 300 INPUTs, 1 OUTPUTs INF: NN_mapper has found: 300 Neurons in INPUT-Layer INF: NN_mapper has found: 1200 Neurons in HIDDEN-Layer_1 INF: NN_mapper has found: 600 Neurons in HIDDEN-Layer_2 INF: NN_mapper has found: 300 Neurons in HIDDEN-Layer_3 INF: NN_mapper has found: 1 Neuron in OUTPUT-Layer INF: NN_mapper : will return a COMMON-block for nn_MAP__VEC INF: NN_mapper : will return a COMMON-block for ThetaIJ_VEC having 1262401 cells, being all random. INF: NN_mapper : will return a COMMON-block for ThetaIJGRAD having 1262401 cells, INF: NN_mapper : will return a COMMON-block for Z_state_VEC having 2405 cells, INF: NN_mapper : will return a COMMON-block for A_state_VEC having 2405 cells, with BIAS units == +1 INF: NN_mapper : will return BIAS units' linear addresses in biasIDX vector : for indirect DMA-access to : {Z|A}_state_VEC[biasIDX[LayerN]] : cells, representing the LayerN's BIAS unit 中快速生成并投放结果阻止这些有前途的服务。

答案 1 :(得分:1)

  

给定特征x1,x2,...,xn,可以(证明)在给定此特征子集(x1到xn)的情况下,一系列潜在特征是否是冗余的。也就是说,鉴于这些特征(x1到xn),神经网络能否识别其他特征

似乎您正在寻找使用神经网络降低维数的方法。自动编码器可以做到这一点:

  • 您有输入x1,x2,...,xn。
  • 您创建一个获取这些输入的网络(n个输入节点)。它有一些隐藏的层,一个瓶颈(k个节点,k
  • 目标是重新创建输入。

训练完成后,在输出后丢弃图层。如果网络能够从瓶颈中恢复输入,则不需要后面的层。

  

一般来说,如果有足够数量的特征,网络是否可以对任何图形进行建模,如果没有,神经网络可以预测哪些功能域?

我猜您正在寻找Universal approximation theorem。简而言之:只要你给它们足够的节点和至少一个隐藏层,神经网络可以近似任意关闭的紧凑子集上的任何连续函数