ホーム » TensorFlow スニペット » TensorFlow: snippet: 線形回帰

TensorFlow: snippet: 線形回帰

y = x * 0.1 + 0.3 となる、ダミーのデータポイント x_data, y_data を NumPy で作成します。
そして y_data = W * x_data + b となる W と b の適正値を TensorFlow に見つけさせます。

import tensorflow as tf
import numpy as np

x_data = np.random.rand(100).astype("float32")
y_data = x_data * 0.1 + 0.3

W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

init = tf.initialize_all_variables()

sess = tf.Session()
sess.run(init)

for step in xrange(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))

sess.close()

4-5 行目: y = x * 0.1 + 0.3 となる、ダミーのデータポイント x, y を NumPy で作成します。

7 行目: random_uniform は一様分布から乱数生成。第一引数は shape。
8 行目: zeros は全ての要素を 0 に設定したテンソルを作成。第一引数は shape。

11, 13 行目: 平均二乗誤差を最小化します。
12 行目: アルゴリズムは勾配降下法。第一引数は学習率。

15 行目: 開始前に変数を初期化します。これを最初に’実行’します。

17 行目: グラフを launch します。

20-23 行目: 直線を最適化します。ベストフィットが W: [0.1], b: [0.3] と学習します。

25 行目: セッションはリソースを解放するために閉じるべきです。

 

【参考】
(翻訳/解説)TensorFlow : GET STARTED : 序説

【補遺】
* CPU モードで動作確認済み。

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com