前提・実現したいこと
python初心者なので初歩的な質問かもしれません.
実現したいことを簡潔に述べると,X=(x_1,x_2,...),Y=(y_1,y_2,...)という
データがあり,複数の(X,Y)を学習させたいということです.
1つの(X,Y)で学習させることは可能ですが,複数の場合それぞれの(X,Y)についてしか学習を行う
ことができないため,まとめて学習させる方法を知りたいです.
以下,複雑な設定(飛ばしてもらっていいです)
波長と振幅がランダムに選ばれた1周期分のsin波がいくつかあるとします.
sin波は,位置X=(x_0,x_1,...,x_n),変位Y=(y_0,y_1,...,y_n),
ただし,x_n=a*n(aは定数)のX,Yで表せるものとします.
複数のsin波,すなわち(X_0,Y_0),(X_1,Y_1),...を学習(train)させ,X_mを入力(test)した
ときにY_mを出力させたいです.(多入力1出力)
質問内容だけでは意味のないことをしていますが,方法を知りたいです.
該当のソースコード
#ニューラルネットワーク class MyChain(Chain): def __init__(self): super(MyChain, self).__init__( l1=L.Linear(None,5), l2=L.Linear(5,1), ) def __call__(self, x, y): return F.mean_squared_error(self.fwd(x), y) def fwd(self, x): h1 = F.sigmoid(self.l1(x)) h2 = self.l2(h1) return h2
試したこと
Xのデータ数が異なるためデータ数を揃えましたが,そもそもの学習のさせ方に問題があると感じました.
kerasや追加学習も調べました.
あなたの回答
tips
プレビュー