LoginSignup
0
0

More than 3 years have passed since last update.

学習記録 その26(30日目)

Posted at

学習記録(30日目)

勉強開始:12/7(土)〜

教材等:
・大重美幸『詳細! Python3 入門ノート』(ソーテック社、2017年):12/7(土)〜12/19(木)読了
・Progate Python講座(全5コース):12/19(木)〜12/21(土)終了
・Andreas C. Müller、Sarah Guido『(邦題)Pythonではじめる機械学習』(オライリージャパン、2017年):12/21(土)〜12月23日(土)読了
Kaggle : Real or Not? NLP with Disaster Tweets :12月28日(土)投稿〜1月3日(金)まで調整
・Wes Mckinney『(邦題)Pythonによるデータ分析入門』(オライリージャパン、2018年):1/4(水)〜1/13(月)読了
・斎藤康毅『ゼロから作るDeep Learning』(オライリージャパン、2016年):1/15(水)〜1/20(月)
François Chollet『PythonとKerasによるディープラーニング』(クイープ、2018年):1/21(火)〜

『PythonとKerasによるディープラーニング』

p.94 第3章 ニューラルネットワークまで読み終わり。

kerasによる回帰モデル
from keras import models
from keras import layers

def build_model():

    #addで層を追加できる。今回は2層で構成
    model = models.Sequential() 

    #入力(input_shape)に対し64個のユニットで隠れ層を作成、活性化関数はReLU
    model.add(layers.Dense(64, activation = 'relu',
                           input_shape=(train_data.shape[1],)))

    #2層目
    model.add(layers.Dense(64, activation = 'relu'))

    #最終層 スカラー回帰問題であることから活性化関数は適用しない。(数字幅が固定されてしまう。)
    model.add(layers.Dense(1))

    #重み調整のオプティマイザーはrmsprop、損失関数はmse、指標はmae
    model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])

    return model

第1層における第3引数input_shapeのshape[1]の後ろのカンマが何を意味しているのかさっぱりわからず、不要と思ってカンマを外したらエラーを吐くわで、色々と探しまわっていたところ以下のような記事を見つけた

What does TensorFlow shape (?,) mean? (stackoverflow)

どうやら、カンマは任意の次元をとるテンソルを取得するために使用するとのこと。

と、ここまでやった後、

train_data.shape[1] = 13

input_shape(13, )

であることに気が付いた。
スライシングのような感じで、リスト[]の外にカンマを置く特別な処理なんだろうという意味のわからない勘違いをしてました。

行き詰まったら、まずは慌てず構造を読み解いて、一つ一つ細分化し理解するのが大事ですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0