VSCodeのShortCutKeys

概要 VSCodeのShortCutKeysを忘れてしまうのでメモする。 環境 VSCode 1.40.2 移動系 key command when ctrl+h workbench.action.focusSideBar editorTextFocus ctrl+j workbench.action.terminal.focus editorTextFocus ctrl+l workbench.action.focusFirst…

bitsetの使い方

概要 bit演算子を勉強しようしよう思っていたのですが、以下の問題にぶち当たってようやくやる気になりました。bitsetの使い方がわかればbit演算子の威力がご理解いただけると思う。自分は思い知った。。。 問題 https://atcoder.jp/contests/abc147/tasks/a…

ABC147 D - Xor Sum 4 をPythonで考える

概要 題ではPythonで考えると書きましたが、正確にはPythonではなくPyPy3でACでした。Pythonで通らなくてもPyPyで通ることがたまにある。。。bitsetの有用性に気付いた初めての問題でした。 問題 ABC147 D - Xor Sum 4 方針 dpでとく。dp[i][j]にはA_i番目ま…

Support Vector Regressorの実装(sklearn)

概要 sklearnのSupport Vector Regressor(SVR)は主にSVR, NuSVR, LinearSVRの三種類がある。LinearSVRの方がSVRより計算が若干早く、NuSVRはSVRとLinearSVRと実装の仕方が若干違う。詳しくはこちら。今回は一般的なSVRを使用する。 注意点 今回の実装ではskl…

汎関数微分と鎖則

概要 汎関数微分の定義 ある関数を与えると、実数を与えるような関数を考える。代表的なものに以下のような関数が考えられる。 上記の式では任意に成り立つ。ここで、と変化したとすると関数がどのように変化するのかを考える。これが汎関数微分である。まず…

VSCodeのkeybindings.jsonを編集してより便利に

概要 VSCodeは便利であるが、さらに便利にするためにkeybindings.jsonを編集する。自分用のメモとして残しておく。 環境 vscode 1.40.2 keybindings.jsonを開く こちらを参考する。 vscodeでVimを導入し、インサートモードを設定する keybindings.jsonを編集…

vscodeでVimを導入し、インサートモードを設定する

概要 vscodeにvimを導入したものの、下に移動するコマンドjが使えなくて試行錯誤したのでメモする。 環境 vscode 1.40.2 Vim 1.12.2 keybindings.jsonファイルを開く code => Preferences => Keyboard Shortcutsへ移動 ここのextension.vim_escapeコマンドを…

機械学習の回帰分析の評価関数

概要 回帰分析の評価関数がいくつかあるので、それらをまとめる。 はそれぞれ、正解値、予測値を表す。今回は、全データが個あるとしている。 R2 (決定係数) 機械学習でよく用いられる。次元がなく、比べられる値。 RMSE (Root Mean Squared Error) 直感的に…

Ornstein-Zernike(OZ)方程式の導出

概要 研究で3D-RISM理論を扱うことになり、3D-RISMはOZ式から導出されるので、OZ式の導出をやってみた。カノニカル分布、グランドカノニカル分布、デルタ関数の概要を理解している前提で進める。 1. 分布関数 粒子の座標を、ポテンシャル関数をと定義すると…

ニューラルネットワークの用語

概要 ニューラルネットワークに関連する用語の意味をまとめる。 勾配降下法 バッチ勾配降下法 全ての訓練データを使用して重みを更新する。 時間がかかる 局所解に陥るとなかなか脱出できない 確率的勾配降下法(SGD、Stochastic Gradient Descent) 1つの訓…

Bashスクリプト

概要 Bashスクリプト作成の時にいつも調べてしまうのでまとめておく。 環境 macOS Mojave 10.14.5 変数の扱い a='aaa' echo ${a} 計算の仕方 two=$((3-1)) echo $(two) if bashの比較演算子は文字列と数値とで大きく異なる 文字列比較 =で比較する a='aaa' i…

Amberで力場パラメータを作成する

概要 リガンド-タンパク質の複合体の力場パラメータ(拡張子が.prmtop 、.inpcrd)を作成する。 環境 AmberTools19 タンパク質の準備 タンパク質についてはパラメータを作成する前にいくつか注意点がある 解像度は十分高いか 欠損残基はあるか:キャップを形…

Ridge回帰の実装

概要 実装はsklearnを利用する。 環境 sklearn 0.21.2 matplotlib 3.1.1 実装 データ ボストンデータを利用する。 from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.preprocessing import Stan…

VMDで水素結合を解析する (GUI, CUI)

VMD

概要 vmdで水素結合の解析をする。GUIとCUIでの方法を紹介する。 環境 macOS Mojave 10.14.5 vmd 1.9.3 GUIでの方法 まずは構造ファイルとトラジェクトリ ファイルを読み込む。読み込み方はこちら → VMDの使い方の基本 (Mac) 水素結合の数をプロット VMD Mai…

VMDで分子の画像をきれいに保存する

VMD

概要 vmdで画像をきれいに保存する方法を紹介する。しかし、ここでは必要最低限のことしか触れない。さらにオプション等細かく知りたい方はこちらの記事が非常によくまとまっている。 VMD(Visual Molecular Dynamics)でMDシミュレーションの綺麗なスナップシ…

VMDでRMSDを計算する (GUI, CUI)

VMD

概要 vmdでのRMSDの計算する方法をまとめる。今回は水素以外のタンパク質でアラインし、タンパク質の主鎖のRMSDを計算する。0フレーム目を基準としてそれぞれ計算する。 環境 macOS Mojave 10.14.5 vmd 1.9.3 macOS Catalinaではアプリが64bitにしか対応して…

XGBoostのパラメータ解説(回帰問題):数式、図から理解する

概要 XGBoostのパラメータをまとめる。ただし、回帰分析を行う際に重要なパラメータのみを考える。基本的には公式に書かれていることをまとめるが、わかりずらいところも多く適宜補足を加える。パラメータの説明を数式を行うので、XGBoostの原理を先に勉強し…

VMDでMDシミュレーションのトラジェクトリ の変換とアライン

VMD

概要 シミュレーション中の原子の軌跡を保存するトラジェクトリ ファイルの種類が多く混乱したのでメモする。さらに、トラジェクトリ の拡張子を変換しつつ人にとって見やすいようにタンパク質でアライン(中心に固定して動かなくする)する。 環境 macOS Mo…

Pythonでサーバー構築

概要 ブログを書いているとJavaScriptを勉強したくなったのでそのための環境を整えるためにpythonでサーバーを構築する。 参照記事 python でお気楽Webサーバを構築してCGIのテスト。 環境 macOS Mojave 10.14.5 python 3.7.4 htmlを書く index.htmlを作成す…

VMDの使い方の基本 (Mac)

VMD

概要 VMD (Visual Molecular Dynamics) とは分子構造、シミュレーションの可視化ソフト。無料で手に入る。無料の可視化ソフトは他にもPyMolがあるので使い分けられるとよい。個人的にはPyMolの方がGUI機能が豊富だが、シミュレーション等のトラジェクトリを…

pandasの基本

概要 pandasはテーブルデータの分析をする上で非常に便利なモジュール。テーブルデータの可視化もjupyter-notebookと合わせて非常に見やすくなる。自分がよく使うものを並べていきます。 環境 macOS Mojave 10.14.5 インストール pythonのデフォルトモジュー…

VMDのスクリプトの書き方

VMD

概要 vmdのスクリプトの書き方について、日本語の記事が少なかったのでまとめておきます。vmdのスクリプトはTCL言語で記述できます。 環境 macOS Mojave 10.14.6 vmd 1.9.2 スクリプトの読み込み方 まずは、vmdのパスを通してください。file.tclというスクリ…

RandomizedSearchCV

概要 グリッドサーチでのパラメータチューニングしか行ったことがなかったので試してみた。 環境 データの準備 import xgboost as xgb from sklearn import datasets from sklearn.model_selection import train_test_split, KFold, RandomizedSearchCV impo…

Pythonの環境構築方法のまとめ (Mac)

概要 Pythonを使ってみたい!と言ってもPythonの環境構築方法には色々あり混乱しがちなのでまとめる。主にMacについてまとめる。 Pythonの種類 Pythonには2系と3系の2種類が存在する。 2系:古いソフトウェアを使う場合、2系でないと動かないときもある。 3…

XGBoost:学習曲線と検証曲線

概要 学習曲線とは学習の進行過程を数量的にプロットしたもの。DeepLearning等の 勾配法を利用した機械学習アルゴリズムを利用する際に、ステップ数毎の評価をするために使われる。同様に、検証データに対しては検証曲線(validation curve)と言われる。そ…

pyenvの基本

概要 pyenvの使い方を説明する。pyenvとはpythonの複数のバージョンをインストール、管理できる便利なツールである。pyenvの他にもanacondaでバージョン管理ができるが、Macの場合はanacondaを使用するとhomebrewが競合してしまうのでpyenvを使うと良い。Mac…

anacondaからPythonの環境構築 ( Mac )

概要 MacでPythonの開発環境を整える。pyenvからanacondaをインストールし、仮想環境を構築する。Macにはデフォルトでpythonがインストールされているが2系なので3系をインストールする。また、機械学習ライブラリを使用する予定なのでanacondaを導入する。 …

初めてのXGBoost

概要 xgboostの使える環境を構築し、必要最低限の流れを確認する。pythonの環境が整っていない場合はこちら。 環境 macOS Mojave 10.14.5 pyenv 1.2.13 anaconda3-5.3.0 conda 4.5.11 python 3.7.4 XGBoostのインストール 公式サイトではpipを使用してのイン…

GitHub:クローンの仕方

概要 GitHub上のプライベートリポジトリをクローンする際には鍵認証を設定する必要がある。その手順をメモする。 環境 macOS mojave 10.14.5 git 2.23.0 sshキーの作成 こちらを参照した。 公開鍵と秘密鍵の作成 sshディレクトリへ移動 $ cd ~/.sh 下記コマ…

XGBoostのfeature_importantの計算方法

概要 xgboostのfeature_importantについて。公式サイトに詳しく書かれれておらず、検索してもなかなかヒットしなかったので、メモ。 環境 macOS Mojave 10.14.5 python 3.7.4 xgboost 0.90 feature_importantの分類 feature_importantの計算方法は大きく分け…