まったりAI勉強記

AI(人工知能)について、特にゆかりがあるわけでもない社会人が、まったりとAIについて勉強していく勉強日記です。

【ひとり読書会】PyTorch&深層学習プログラミング(第22回)

どうも、カタミチです。

さて、なんだかバタバタしてて少し間が空いてしまいましたが、今日も「最短コースでわかる PyTorch&深層学習プログラミング」のひとり読書会、やっていきますかねー。

前回で既に、線形回帰の繰り返し計算まで終わっています。あとは結果評価だけ…!というところですね。ということで、見てみましょう。

 

3-11. 結果評価

まずは、最終的な重みの値と、損失の数値の最初と最後を見てみましょう。

Wは、約1.82あたりですね。で、Bは0.37あたり。どんどんと値が収束していって、最終的にここに落ち着いた…という感じですね。data関数とnumpy関数を噛ませて数値として表示できるようにする、という点が注意点ですかね。

で、損失。こちらは、過程がすべてhistory変数に格納されているので、それを拾って見ています。初期状態で13.4付近だったのが、最終状態では4.7付近まで低下していますね。ひとまず、低下していてヨカッタ。最終状態の呼び出し方に[-1,1]って感じで-1がありますが、-1が最後の項目を表すという性質を使っていますね。

 

さて、次に学習曲線です。損失が回数とともにどう低下していっているか…?というやつですね。見てみましょう…

どん!

うん、ちゃんと順調に落ちていっていますね。初期状態の数値と最終状態の数値は、グラフにしても先ほどと同じ数値になっているのが分かります(当たり前や)

 

ということで、出来上がったモデル(回帰直線)を書いてみましょう。

どん!

おー、5点しかなくてもそれっぽくサマになってますねー。で、このグラフを書いたコードはこんな感じ。

書籍には後半部分しか掲載されておらず、ひとまずそれだけ書いて実行してみた「x_rangeが定義されてないよ!」実行時エラーになってしまいました(汗)

scatterで点を打って、plotで直線を引いてる感じですね。pyplotも、使いこなすとまだまだ色々表現できそうです。

で、これが最終形かと油断していたんですが、よく考えると最初に「データ前処理」をしてましたね。やったのは、データの平均値に引き寄せるって処理でした。これをもとに戻すと…

実行してみましょう…

どん!

できました!

 

ということで

これで無事に線形回帰問題の例は完了…と、思いきや、まだあと1節残っているようですね。さて、どんな内容になっているのか?次回見てみますかねー。

ではまた。