yu9824's Notes

マテリアルズインフォマティクスに関わっていると、MDなど、計算科学的シミュレーションに関する話を聞くことも多い。

このとき、しばしばモンテカルロ法という言葉を聞いた。しかし、自分は実験系の出身で計算科学の知識に乏しく、手法のイメージがつかなかった。

これについて調べてみたところとても面白く、概念としてはわかりやすものだったので、ここに記しておく。


ある材料の物性を予測して最適化したい場合、物性を一つだけ予測して済むケースは少ない。

たとえば簡単な例では、ある性能を高めたいけれど、値段が高くてはお客様に買ってもらえないので、価格を抑えたいケースを考える。このとき、価格とその材料の性能の二種類の最適化したい対象が存在し、両方ができる限り最適になるようにしていく、いわば、パレート解の探索を行う。

ここでは、ハイパーパラメータの探索などに用いられるブラックボックス最適化ライブラリoptunaで多目的最適化を行い、パレート解を列挙する方法や、それを図示する方法について記す。


最近jupyter notebookをnbconvertコマンドでmarkdownに変換してここの投稿を行うことがある。

そのときに勝手に、Pythonのスクリプト結果にもコードブロックを適用してくれるのだが、hightlight.jsの言語自動判別機能によりよくわからないハイライトをされてしまうことがある。

Pythonのセルにはpythonであることを明示してくれるので、highlight.jsの自動判別機能をオフにすれば解決すると考え、この方法を行った。


optunaのv3のベータ版(v3.0.0b1)が公開された。リリース情報を見ていて個人的に気になったのがSHAP値の計算機能の追加であった。

SHAPは調べるといろいろな人が「使ってみた」や解説記事を書いているので詳細な説明はそれに譲るが、簡単に言えばどの特徴量やパラメータが予測に対してどのくらい寄与しているかを評価することができる。

これをoptunaに実装し、ハイパーパラメータチューニングの最中にどれくらいどのパラメータが影響を与えたかを簡単に確認することができる機能が実装されたので使ってみる。


以前から自分で作成したPythonパッケージをPyPIにリリースしていた。

https://note.yu9824.com/howto/pypi-package-release/

したがって、pip install <package-name>とすることでインストールできた。しかし、この度conda install -c conda-forge <package-name>でインストールしたいという要望をいただいたのでanaconda cloudにパッケージをアップロードする方法を学んだ。

https://github.com/yu9824/kennard_stone/issues/5

このときの手順をメモした。


最近の投稿

Llama 3.1 Swallow と Ollama・MCP・LangChain でローカルエージェントを動かす
Gemini 3.0 や ChatGPT 5.2 といった最新のクローズドモデルは、性能が年々向上し、多くのタスクで高い精度を発揮している。一方で、オープンウェイトの LLM も、商用 API には及ばないまでも、特定用途では十分に実用的な水準に達しつつある。とくに、データを外部に送らずにローカルだけで動かせる点...
【2025年版】自作のPythonライブラリを `pip install` できるようにする
Pythonプログラムを pip install できるようにする方法をリポジトリにまとめた。
KP41を解決した件
KP41を克服したときの備忘録
Cloudflare WARPをセットアップしてインターネット通信を保護する
WSL2内のUbuntuに外部PCからsshする【2. WAN編】
Windows 11にインストールしたWSL2のUbuntuに、外部PCからsshでアクセスできるようにするための方法をメモ。今回は自宅外のネットワークからアクセスする方法について。