长话短说:
没有用于回归任务的神经网络,是的,抱歉——没有ANN 将永远——能够合理地预测y_target
此类问题域,这些问题域主要与 NN 模型的已实现数学不匹配。
试图通过(一个几乎)输入层状态向量的分量(特征的观察)的线性组合来预测y_target
(s)(那,好吧,确实得到了一些非线性处理向下求和它们各自的网络标量放大)必须并且将无法保持精确。X[:]
阅读起来太复杂?
让我举个例子。
人们可以使用人工神经网络来训练这种输入的线性组合,以最好地近似三次(本质上)问题域行为。最小搜索的数学将产生这样的 ANN 系数,这将提供所有其他系数设置的最低惩罚。
到现在为止还挺好。
但是,这种“调整过的”-ANN 永远不会更接近潜在(现实世界)现象的立方性质。不是因为我把它放在这里,而是因为线性组合,但是非线性因素的调整在重新计算所有层直到最终总和和输出转换发生的过程中被纳入了道路 - 所有这些主要不能在输入的整个域范围内引入三次行为(大自然母亲在问题域的现实世界行为中自然会这样做——这就是隐藏的魔鬼及其无法获得的原因这种方式更好——创建一个简单的模拟这个主要失败来满足代码中的立方现实并不难)。
一个与问题域无关的通用 ANN 可能是一个不错的愿望,
但实施起来
会有点过头,而尝试
.fit()
是的,你是对的,可以花费一些创造力,以便在 ANN 输入层前面创建和连接一个 pre-ANN-black-box,其中所有可能的数学都超过 native-X[: ] 进行特征观察,从而为 ANN 输入层提供所有可能的派生特征半积,从而允许 ANN 学习任何类型的实际问题域行为。
这似乎是一种方法,直到您实现这样一个魔术通用行为模型黑盒并意识到它将在背靠背连接器上强制执行的比例,因此使输入层和所有隐藏层在静态尺度上增长得如此之宽,以至于最终O( N^k )
缩放的现实很可能将这种尝试钉在以太等待中,独立于任何可以想象的并行计算努力,这正是由于[PTIME,PSPACE]
复杂性和一个事实,没有图灵- SEQ-computing complex-taxonomy-member 将变得更好,即使成功地完全转化为 PAR 计算域(对于这个 C2 边界问题背后的推理,请参阅此处的评论和引用)。
即使有人提出索赔,通用量子计算机(参考 U-QC-device)将使这种情况实现可行的结果,[CTIME,CSPACE]
因为我会保留期望这种 U-QC-device 很快就能合理地用于实际部署(仅供参考:目前最大的非 U-QC 设备CSPACE
量表在 2016 年约为 1024 qbits,2017 年约为 2048+ qbits,如果这一进展可以永远保持这样的速度,但这样的CSPACE
限制将保持魔法通用行为模型-Black-box piggy-backed-ANN 相当小,以满足您上述表达的期望:
已发布的恒定速率CSPACE
问题扩展
扩展至本世纪末
截至 EoM-2017/07 之前公布的技术细节,当前可用的(非)-U-QC 设备似乎不允许[CSPACE]
限制问题具有超过 11 个输入层神经元,所以想象一下只有 11 个2017 年可能的特征输入,对于这种开创性、有吸引力和有前途的技术[CTIME]
ANN-answers,但此处仅对实际 R^m-连续域最小化问题进行了 QUBO 简化(由于额外的复杂性,有意排除了细节超出 QC 窗帘)。
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
现实检查:
鉴于上述技术限制(无论是a 、 where或问题规模约束的[PTIME,PSPACE]
永恒),创建这样的神圣黑盒超级通用 ANN 设备并没有太大优势(然后还必须等待几十年,如果不是几个世纪,它就可以用来从 ANN-on-steriods 获得第一个答案)。O(N^k)
.fit()
k >= 2
[CTIME,CSPACE]
恰恰相反,更接近现实。
人们可以并且应该引入所有应有的问题域分析工作,以便正确识别原生现实行为(参考技术控制论:系统识别),以便提前了解如何设计一个功能丰富的输入层(对于合成特征 - 高阶幂和叉积、和、积、谐波、log-/exp-s、复数/离散魔法等将发生,只是在需要满足的地方(不是超过 ) 执行的系统识别 ),因为 ANN 模型缩放可以通过这种方式保持适当大小的结构,并具有以下一对系统确定性:
a)删除任何单个部分都会损坏模型(缺少一些必不可少的特征将主要导致预测无法满足系统识别的行为多样性)。
b)添加任何单个部分都不会改进模型(添加任何未包含在已识别系统行为的多样性中的特征会为当前的预测能力增加零新功率)
刚刚足够复杂的特征工程 + 调整大小
是要走的路:
|>>> 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
因此,人们可能会对一个刚好够用的 ANN 感到满意,它可以在经典计算领域进行训练和操作,而无需等待接下来的 20 年,直到万能量子计算设备(s ) 开始变得能够在短时间内产生和交付结果[CTIME]
,一旦当前的[CSPACE]
约束将停止阻止这些有前途的服务。