オライリーの『ゼロから作るDeep Learning』偏微分のグラフをだす!

1 min 460 views
https://aiai-beginners.com/wp-content/uploads/2019/11/yami-sen.jpg

『ゼロから作るDeep Learning』プログラムサンプルがなかったので、紹介しますよ。

ディープラーニングを学ぶのに一番良いのはゼロから作ってみることだ。
ってことでPythonの勉強も兼ねて上記書籍を1冊丸ごと実践してみることにしました。
サンプルコードは書籍に書いてあるし、GitHubからもダウンロードが可能なのですが、
物によってはサンプルコードがない場合もあります。

今回は第4章「ニューラルネットワークの学習」から4.3.3の偏微分のグラフを表示するプログラムの実装例を紹介します。

4章 4.3.3 偏微分の計算式とグラフ

$$ f(x0,x1)=x0^2+x1^2$$

表示するのはこちらの式とグラフです。

Python サンプルコード

説明はコメント部分を参照してください。

【動作環境】
macbook pro(2017) Catalina 10.15.3
Python 3.7.6 (anaconda3)
VSCode

# 必要なライブラリをインポート
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 偏微分の関数
def function_2(x):
    return x[0]**2+x[1]**2

fig = plt.figure()
ax = Axes3D(fig)

X = np.arange(-3.0, 3.0, 0.25)
Y = np.arange(-3.0, 3.0, 0.25)

X, Y = np.meshgrid(X, Y)
Z = X ** 2 +Y ** 2

# 軸ラベル
ax.set_xlabel("x0")
ax.set_ylabel("x1")
ax.set_zlabel("f(x)")

# 表示する領域の範囲
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
ax.set_zlim(0, 18)

#角度
ax.view_init(25, -120)
ax.plot_wireframe(X, Y, Z)

# 表示
plt.show()
関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です