【動画付き】Pythonで挿入ソートのアルゴリズムを実装する方法

Pythonで学ぶアルゴリズム、ソート第3段は「挿入ソート」です。挿入ソートは遅いソートに分類されますが、データの初期配置によって処理途中でbreakが効く分バブルソートよりも速くなる可能性があります。ここでは挿入ソートの図解と1からの実装によりそのアルゴリズムを学びます。

続きを読む
Advertisements

機械学習で回帰した2つの応答曲面を多目的最適化で探査してみた

単一の応答曲面上を遺伝的アルゴリズムで探査するコードを書いたので、次はトレードオフ関係を持つ2つの応答曲面間の多目的最適化に挑戦します。ここではPyTorchによる応答曲面の作成からPlatypusによる多目的最適化、結果の可視化まで全てPythonで書いた内容を紹介します。

続きを読む
Advertisements

最小二乗法で円をカーブフィットするPythonプログラム

最小二乗法は実験データに曲線をフィットさせる有効な手段です。直線や多項式が有名ですが、円状に分布したデータにカーブフィットさせたい時もあるでしょう。今回は最小二乗法を円の方程式に対して適用してカーブフィットするPythonコードを紹介します。

続きを読む
Advertisements

Pythonで2進数/8進数/16進数の基数変換を行うコード

Pythonで手を動かしながら基本情報技術者試験対策を行います。ここではコンピュータ内部の数値表現である2進数を始め、情報技術分野で重要となる8進数と16進数の概要を説明し、各基数変換を自由に計算できるようになる事を目標とします。

続きを読む
Advertisements

1つの応答曲面を遺伝的アルゴリズムで探査するPythonコード例

機械学習で応答曲面を求めた後、その曲面(学習済モデル)の最小値や最大値を探査したい場合があります。ここではPythonによる実現の例として、とりあえずPyTorchで機械学習→PlatypusのNSGA-IIで探査といった方法を試してみます。

続きを読む
Advertisements

PyTorchモデルをcloudpickleで保存・読み込みする方法

scikit-learnではpickleを使って学習済のモデルを保存したり読み込んだりできていましたが、PyTorchのモデルが読み込めない問題に直面したので解決方法をメモします。ここでは最も簡単だと感じたcloudpickleを使った方法を紹介します。

続きを読む
Advertisements

Pythonで二項係数を理解してベジェ曲線描画コードを実装する

ベジェ曲線はコンピュータグラフィックスの分野で曲線を描く時によく使われています。描画に使う数式を理解して自分で実装する事ができれば、自動作図や画像処理の幅が広がります。ここではベジェ曲線の数式を解説しながらPythonコードを紹介します。

続きを読む
Advertisements

Platypusで多目的最適化からパレートフロントを求める方法

多目的最適化とは、2つ以上のトレードオフ関係にある複数の目的関数を同時に最適化する方法の事です。ここではPythonライブラリであるPlatypusを使って簡単な多目的最適化を行い、パレートフロントを求めるコードを紹介します。

続きを読む
Advertisements

Google ColabでPyTorch開発環境を構築する方法

ブラウザ上でGPUを使ったPython開発ができるGoogle Colaboratoryを使ってみます。ここでは知識ゼロから始められるようにGoogle Colabの概要から説明し、PyTorchによる機械学習を行うための環境構築を行います。

続きを読む
Advertisements