RUVIDEO
Поделитесь видео 🙏

最適化アルゴリズムのテストに使えるベンチマーク関数の紹介とPythonによるコード例【プログラミング】 смотреть онлайн

湯どうふと申します。
本チャンネルでは、化学に関する動画を配信しています。

音声:湯どうふ

キーワード:
最適化アルゴリズム、ベンチマーク、Python、プログラムコード

【コード例】
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

def sphere(x, y):
return np.sum(x ** 2 + y ** 2)

def ackley(x, y):
d = 2.0 # 2 dimension
t1 = 20
t2 = - 20 * np.exp(- 0.2 * np.sqrt(1.0 / d * np.sum(x ** 2 + y ** 2)))
t3 = np.e
t4 = - np.exp(1.0 / d * np.sum(np.cos(2 * np.pi * x) + np.cos(2 * np.pi * y)))
return t1 + t2 + t3 + t4

def styblinski(x, y):
t1 = np.sum(x ** 4 + y ** 4)
t2 = - 16 * np.sum(x ** 2 + y ** 2)
t3 = 5 * np.sum(x + y)
return 0.5 * (t1 + t2 + t3)

def schwefel(x, y):
return - np.sum(x*np.sin(np.sqrt(np.abs(x))) + y*np.sin(np.sqrt(np.abs(y))))

if __name__ == "__main__":

#sphere
n = 50
x = np.linspace(-100, 100, n)
y = np.linspace(-100, 100, n)
Z = np.zeros((len(x), len(y)))
for i0 in range(n):
for i1 in range(n):
Z[i1, i0] = sphere(x[i0], y[i1])
X, Y = np.meshgrid(x, y)

fig = plt.figure(figsize = (8, 8))
ax = fig.add_subplot(111, projection="3d")
ax.set_xlabel("x", size = 16)
ax.set_ylabel("y", size = 16)
ax.set_zlabel("z", size = 16)
ax.plot_surface(X, Y, Z, alpha=0.3, cmap='jet')
ax.contour(X, Y, Z, colors = "black", offset = -1)
fig.savefig("benc00_sphere.png")

#ackley
n = 50
x = np.linspace(-32.768, 32.768, n)
y = np.linspace(-32.768, 32.768, n)
Z = np.zeros((len(x), len(y)))
for i0 in range(n):
for i1 in range(n):
Z[i1, i0] = ackley(x[i0], y[i1])
X, Y = np.meshgrid(x, y)

fig = plt.figure(figsize = (8, 8))
ax = fig.add_subplot(111, projection="3d")
ax.set_xlabel("x", size = 16)
ax.set_ylabel("y", size = 16)
ax.set_zlabel("z", size = 16)
ax.plot_surface(X, Y, Z, alpha=0.3, cmap='jet')
ax.contour(X, Y, Z, colors = "black", offset = -1)
fig.savefig("benc00_ackley.png")

#styblinski-tang
n = 100
x = np.linspace(-5, 5, n)
y = np.linspace(-5, 5, n)
Z = np.zeros((len(x), len(y)))
for i0 in range(n):
for i1 in range(n):
Z[i1, i0] = styblinski(x[i0], y[i1])
X, Y = np.meshgrid(x, y)

fig = plt.figure(figsize = (8, 8))
ax = fig.add_subplot(111, projection="3d")
ax.set_xlabel("x", size = 16)
ax.set_ylabel("y", size = 16)
ax.set_zlabel("z", size = 16)
ax.plot_wireframe(X, Y, Z, color='blue', linewidth=0.3)
#ax.plot_surface(X, Y, Z, alpha=0.3, cmap='jet')
ax.contour(X, Y, Z, colors = "black", offset = -1)
fig.savefig("benc00_styblinski.png")

#schwefel
n = 100
x = np.linspace(-500, 500, n)
y = np.linspace(-500, 500, n)
Z = np.zeros((len(x), len(y)))
for i0 in range(n):
for i1 in range(n):
Z[i1, i0] = schwefel(x[i0], y[i1])
X, Y = np.meshgrid(x, y)

fig = plt.figure(figsize = (8, 8))
ax = fig.add_subplot(111, projection="3d")
ax.set_xlabel("x", size = 16)
ax.set_ylabel("y", size = 16)
ax.set_zlabel("z", size = 16)
ax.plot_wireframe(X, Y, Z, color='blue', linewidth=0.3)
#ax.plot_surface(X, Y, Z, alpha=0.3, cmap='jet')
ax.contour(X, Y, Z, colors = "black", offset = Z.min())
fig.savefig("benc00_schwefel.png")

【追加情報】
Styblinski-Tang関数(2次元)の極小点の座標
MIN1: (2.7486, 2.7486)
MIN2: (-2.9035,-2.9035)
MIN3: (2.7486, -2.9035)
MIN4: (-2.9035, 2.7486)

【その他の動画】
Pythonで相関関係をヒートマップとして可視化しランダムフォレスト法による重要度と比較:Bostonデータセットへ適用
https://youtu.be/LsUulmC1Fqs

Pythonによる行列の特異値分解と低ランク近似を行う手順:画像ファイルへの適用
https://youtu.be/s4K3wTOgHTU

pythonによる階層的クラスタリングとデンドログラム(樹形図)の作成: ward法をirisデータセットへ適用
https://youtu.be/I1YLk8pbs-Y

PythonプログラムによるExcelファイルの入出力
https://youtu.be/xNVh_WZfb1A

pythonによるウェブスクレイピング:Google Scholarから論文検索の結果を取得して表にする
https://youtu.be/2xWKr7MzzbQ

Cythonプログラムの動かし方と速度: pythonの高速化に向けて
https://youtu.be/T-ddo2V1HZE

pythonプログラムでyoutube-dlを使ってyoutube動画をダウンロードする方法
https://youtu.be/PcXM_Ay43gQ

pythonで画像中の文字認識をする方法(tesseract-OCR、pyocr)
https://youtu.be/STZt2HJJArE

Pythonプログラムによるプロットアニメーション
https://youtu.be/toPtylx-qfU

Pythonプログラムによるwordファイルの入出力とGoogle翻訳自動化作業
https://youtu.be/Sj1fbM0VVZ4

Pythonプログラムで3次元グラフを作成し保存する手順
https://youtu.be/2GQakHn4fTk

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «最適化アルゴリズムのテストに使えるベンチマーク関数の紹介とPythonによるコード例【プログラミング】» бесплатно и без регистрации, вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.