R 인터페이스를 통해 h2o를 탐색 중이며 이상한 가중치 행렬을 얻고 있습니다. 내 작업은 주어진만큼 간단합니다 : 주어진 x, y는 x + y를 계산합니다.
저는 3 개의 열이있는 214 개의 행이 있습니다. 첫 번째 열 (x)은 (-1000, 1000)에서 균일하게 그리고 두 번째 열 (y)는 (-100,100)에서 균일하게 그려집니다. 나는 그것들을 결합하여 하나의 뉴런을 가진 하나의 숨겨진 레이어를 가지고 싶습니다. 이 내 코드입니다 :h2o 깊은 학습 가중치 및 정규화
library(h2o)
localH2O = h2o.init(ip = "localhost", port = 54321, startH2O = TRUE)
train <- h2o.importFile(path = "/home/martin/projects/R NN Addition/addition.csv")
model <- h2o.deeplearning(1:2,3,train, hidden = c(1), epochs=200, export_weights_and_biases=T, nfolds=5)
print(h2o.weights(model,1))
print(h2o.weights(model,2))
과 결과가 Y에 대한 가중치 값이 0.055입니다 몇 가지 이유를 들어
> print(h2o.weights(model,1))
x y
1 0.5586579 0.05518193
[1 row x 2 columns]
> print(h2o.weights(model,2))
C1
1 1.802469
입니다 - X보다 10 배 낮은. 결국, 신경망은 x + y/10을 계산할 것입니다. 그러나 h2o.predict는 실제로 올바른 값을 반환합니다 (테스트 세트에서도).
나는 데이터를 어떻게 든 확장하는 전처리 단계가 있다고 생각합니다. 모델에 의해 생성 된 실제 가중치를 재현 할 수있는 방법이 있습니까? 꽤 간단한 신경망을 시각화하고 싶습니다.