如何在Keras中实现这种本地连接的体系结构?

如何在Keras中实现这种本地连接的体系结构?,keras,Keras,我的输入数据如下所示: > x <- rnorm(10*9, sd = 10) %>% matrix(10) %>% round > colnames(x) <- c(paste0(2014, c("a","b", "c")), paste0(2015, c("a","b", "c")), paste0(2016, c("a","b", "c"))) > x 2014a 2014b 2014c 2015a 2015b 2015c 2016a

我的输入数据如下所示:

> x <- rnorm(10*9, sd = 10) %>% matrix(10) %>% round
> colnames(x) <- c(paste0(2014, c("a","b", "c")), paste0(2015, c("a","b", "c")), paste0(2016, c("a","b", "c")))
> x
      2014a 2014b 2014c 2015a 2015b 2015c 2016a 2016b 2016c
 [1,]     1   -11     3     3     6     5    17     5    15
 [2,]     9     8     0    -1    10     8    -3   -11     6
 [3,]    -6    22    -3     1    -1    -4    -3    11    -9
 [4,]    10   -15     0    -2     4    14    11   -11     3
 [5,]     5     4     5     5    15    -9     2     5     1
 [6,]   -24    16     9    -7     2   -12     1    18    -2
 [7,]     1    13     5   -14     1   -10    15    -1    14
 [8,]    -8     4     4   -15    -1   -20    -6    14     5
 [9,]    10    19   -15    15    -4     3    -1   -11     8
[10,]    10   -11    -9    -1    16     3    24    -8     4
>x%矩阵(10)%%>%四舍五入
>colnames(x)x
2014a 2014b 2014c 2015a 2015b 2015c 2016a 2016b 2016c
[1,]     1   -11     3     3     6     5    17     5    15
[2,]     9     8     0    -1    10     8    -3   -11     6
[3,]    -6    22    -3     1    -1    -4    -3    11    -9
[4,]    10   -15     0    -2     4    14    11   -11     3
[5,]     5     4     5     5    15    -9     2     5     1
[6,]   -24    16     9    -7     2   -12     1    18    -2
[7,]     1    13     5   -14     1   -10    15    -1    14
[8,]    -8     4     4   -15    -1   -20    -6    14     5
[9,]    10    19   -15    15    -4     3    -1   -11     8
[10,]    10   -11    -9    -1    16     3    24    -8     4
我的结果变量是连续的(即:这是一个回归问题)

我想让一个模型具有如下的体系结构:

> x <- rnorm(10*9, sd = 10) %>% matrix(10) %>% round
> colnames(x) <- c(paste0(2014, c("a","b", "c")), paste0(2015, c("a","b", "c")), paste0(2016, c("a","b", "c")))
> x
      2014a 2014b 2014c 2015a 2015b 2015c 2016a 2016b 2016c
 [1,]     1   -11     3     3     6     5    17     5    15
 [2,]     9     8     0    -1    10     8    -3   -11     6
 [3,]    -6    22    -3     1    -1    -4    -3    11    -9
 [4,]    10   -15     0    -2     4    14    11   -11     3
 [5,]     5     4     5     5    15    -9     2     5     1
 [6,]   -24    16     9    -7     2   -12     1    18    -2
 [7,]     1    13     5   -14     1   -10    15    -1    14
 [8,]    -8     4     4   -15    -1   -20    -6    14     5
 [9,]    10    19   -15    15    -4     3    -1   -11     8
[10,]    10   -11    -9    -1    16     3    24    -8     4

基本上,我从不同年份获得了颗粒数据,这些数据聚集起来形成了一系列年度现象,这些现象本身可能会相互影响。如果我有足够的数据,我就可以安装一组完全连接的层。但是,如果我的样本量不大,这将是低效的

这不完全是一个conv网络,因为我不希望“瓷砖”重叠

我还想申请退学和全球L2处罚

我不熟悉Keras,但不熟悉神经网络。如何实现这一点,以及在Keras术语中如何引用它?

您可以使用具有多个输入并创建该计算图。大致如下:

inputs=[输入(形状=(3,))用于范围(3)]
latents=列表()
对于范围(3)中的i:
潜在=密集(3,激活='relu')(输入[i])
潜伏=密集(3,激活='relu')(潜伏)
附加(潜在的)
合并=合并(最新)
输出=密集(4,激活='relu')(合并)
out=密集(4,激活='relu')(out)
out=密集(1)(out)
架构图假设您有固定的年份输入,在本例中为3年。如果年数可变,则必须使用共享密集层,并在合并前每年使用wrapper将密集层应用于:

in=input(shape=(3,3))#这一次我们有3年的2d数组
潜伏期=时间分布(密集型(3,activation='relu'))(in)#每年应用相同的密集型
潜伏期=时间分布(密集(3,激活='relu'))(潜伏期)
合并=展平()(潜在)
out=。。。

这一次,密集层是跨年份共享的,它们的权重基本相同。

您使用的是R吗?如果您对KRAS(和R)是新手,考虑一下Python,还有更多的问题、答案和教程可用。用Python实现这一点很容易,但我不知道R是如何工作的。我是一个R用户,但我能理解足够多的Python,能够用这种语言找到一个例子。AFAIK R for Keras可以实现所有Keras。对,固定的年限。看起来相关术语是
最新者
,然后有一个
串联
函数。非常有用,谢谢。潜在的只是中间隐藏的特性,在这种情况下它只是一个变量名。哦,对了,很明显。因此,当将
concatenate
函数应用于一堆“潜在者”时,将创建一个架构,使“子网”保持分离。是的,我还更新了一个模型,该模型每年共享密集层。