Machine learning 神经网络特征组合

Machine learning 神经网络特征组合,machine-learning,neural-network,deep-learning,feature-engineering,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

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

给定特征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)
正是在这一系列的研究中,我想知道是否有使用神经网络的情况下,您需要添加更高阶或不同的函数,以便网络准确预测

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

此外,是否有任何研究可以指出,参考这个主题

谢谢

长话短说: 没有用于回归任务的神经网络将永远,是的,对不起--没有ANN将永远--能够合理地预测此类问题领域的
y_目标
,这些问题领域主要与NN模型的实现数学不匹配

X[:]
中,试图通过输入层状态向量分量(特征观测值)的(几乎)线性组合来预测
y_目标(这确实会在求和各自标量放大的网络中得到一些非线性处理)必须而且将无法保持精确性

太复杂而无法阅读?
让我举个例子

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

到目前为止还不错。
但是,这种“调优”的人工神经网络永远不会更接近潜在(现实世界)现象的立方性质。不是因为我把它放在这里,而是因为线性组合,不管怎样,非线性因素的调整,在重新计算所有层的过程中,直到最终的求和和和输出转换发生——所有这些基本上不能在输入的整个域范围内引入立方行为(自然之母,在现实世界行为的问题领域,自然之母,确实如此——这是隐藏的魔鬼和原因,为什么它不能以这种方式变得更好——不难创建一个简单的模拟这个主要的失败,以满足代码中的立体现实)


一个问题域不可知的通用ANN可能是一个不错的愿望,
但是
对于实现
来说是一个过分的想法,
对于尝试
.fit()
是的,你是对的,一个人可以花费一些创造力,以便在ANN输入层前面创建并连接一个预ANN黑匣子,其中所有可能的数学都在native-X上[:]特征观察发生,从而为ANN输入层提供所有可能的衍生特征半产品,从而允许ANN学习任何类型的实际问题域行为

这似乎是一种方法,直到你实现了这样一个神奇的通用行为模型黑匣子,并意识到它将在背对背连接器上实施的尺度,从而使输入层和所有隐藏层在静态尺度中增长得如此之广,从而使所产生的
O(N^k)
扩展很可能会将这种尝试钉入以太等待,独立于任何可想象的并行计算工作,这正是由于
[PTIME,PSPACE]
复杂性和一个事实,即图灵SEQ计算复杂性分类法成员即使成功地完全转化为PAR计算领域,也不会变得更好

即使有人提出主张,通用量子计算机(参考U-QC-device)将使这一场景在
[CTIME,CSPACE]
中实现可行的结果,我将保留期望这种U-QC-device能够在不久的将来合理地用于实际部署的权利(FYI:目前最大的非U-QC-device
CSPACE
规模在2016年约为1024个Qbit,2017年约为2048个Qbit,如果这一进展能够永远保持这样的速度,那么这种
CSPACE
约束将使神奇的通用行为模型黑箱背驮ANN保持相当有限为满足您的上述期望:

已出版的恒速
CSPACE
-问题缩放
一直延续到本世纪末 截至2017/07年EoM发布的技术细节,目前可用的(非-U-QC-设备似乎不允许
[CSPACE]
-约束问题具有比11个输入层神经元更多的,因此想象一下2017年可能只有11个特征输入,用于此类开创性、有吸引力和有前途的技术
[CTIME]
ANN回答
,但这里仅对实际的R^m-连续域最小化问题进行了QUBO简化(由于QC窗帘之外的额外复杂性,有意排除细节)


现实检查: 鉴于上述技术限制(无论是
[PTIME,PSPACE]
永恒的
O(N^k)
缩放
.fit()
,其中
k>=2
,或
[CTIME,CSPACE]    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
|>>> 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