見出し画像

AI・機械学習について学んでみた -その1-

機械学習について学んだので、理解した内容をまとめていきたいと思います。プログラム言語は、Pythonとなります。


課題

xのデータとyのデータから両者を一致させるルールを機械学習により求めてもらいます。

xのデータ:-1,4,1,3,5
yのデータ:-4,11,2,8,14

補足:xとyの関係性は「y = 3x -1」となります。今回の課題ではこの傾き3と切片-1を求めることを目的としています。

Pythonコードについて

コードの中身と実行結果

pythonコードを次に示します。

import tensorflow as tf
import numpy as np
from keras import Sequential
from keras.layers import Dense

test = Dense(units=1, input_shape=[1])
model = Sequential([test])
model.compile(optimizer='sgd', loss = 'mean_squared_error')

xs = np.array([-1.0, 4.0, 1.0, 3.0, 5.0], dtype=float) 
ys = np.array([-4.0,11.0, 2.0, 8.0,14.0], dtype=float)  

model.fit(xs, ys, epochs=500)
print(model.predict([10,0]))
print("Answer:{}".format(test.get_weights()))

出力結果は、次のとおりです。

Answer:[array([[2.994015]], dtype=float32), array([-0.97511804], dtype=float32)]

正解の傾きと切片がそれぞれ「3」、「-1」に対し、得られた解が「2.994」、「-0.9751」なので、近しい値が得られました。

コードの中身の詳細

私が理解できる範囲で紹介したコードの中身を次の図に示します。

コードの中身の詳細

まとめ

如何だったでしょうか?私自身もpythonに慣れてもいませんし、書き方もよくわかりません。内容については誤りもあるかもしれませんが、とりあえず、適切に動作はしました。
今後、こうやって日々学習したことを発信していきたいと考えています。
最後までお読みいただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?