Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonによる偏微分の実装 | 数理解析
Pythonによるデータサイエンスのための数学

bookPythonによる偏微分の実装

メニューを表示するにはスワイプしてください

このビデオでは、Python を用いて多変数関数の偏微分を計算する方法を学習します。偏微分は、最適化、機械学習、データサイエンスにおいて、他の変数を一定に保ちながら、ある変数に関して関数がどのように変化するかを分析するために不可欠です。

1. 多変数関数の定義

x, y = sp.symbols('x y')
f = 4*x**3*y + 5*y**2
  • ここでは、xxyy を記号変数として定義;
  • 次に、関数 f(x,y)=4x3y+5y2f(x, y) = 4x^3y + 5y^2 を定義。

2. 偏微分の計算

df_dx = sp.diff(f, x)  
df_dy = sp.diff(f, y)  
  • sp.diff(f, x)yy を定数として扱いながら fx\frac{\raisebox{1pt}{$\partial f$}}{\raisebox{-1pt}{$\partial x$}} を計算;
  • sp.diff(f, y)xx を定数として扱いながら fy\frac{\raisebox{1pt}{$\partial f$}}{\raisebox{-1pt}{$\partial y$}} を計算。

3. 偏導関数の (x=1, y=2) での評価

df_dx_val = df_dx.subs({x: 1, y: 2})  
df_dy_val = df_dy.subs({x: 1, y: 2})
  • .subs({x: 1, y: 2}) 関数は、計算された導関数に対して x=1x=1 および y=2y=2 を代入;
  • これにより、特定の点で導関数を数値的に評価可能。

4. 結果の出力

元の関数、その偏導関数、および (1,2)(1,2) での評価値を出力。

12345678910111213141516
import sympy as sp x, y = sp.symbols('x y') f = 4*x**3*y + 5*y**2 df_dx = sp.diff(f, x) df_dy = sp.diff(f, y) df_dx_val = df_dx.subs({x: 1, y: 2}) df_dy_val = df_dy.subs({x: 1, y: 2}) print("Function: f(x, y) =", f) print("∂f/∂x =", df_dx) print("∂f/∂y =", df_dy) print("∂f/∂x at (1,2) =", df_dx_val) print("∂f/∂y at (1,2) =", df_dy_val)
copy
question mark

与えられた関数に対して、sp.diff(f, y) は何を返しますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  8

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  8
some-alt