インフォマティクス・機械学習|【Python・R・エクセル統計学・統計解析】
インフォマティクス・機械学習
インフォマティクスの定義
近年,様々な分野で人工知能(AI:Artificial Intelligence)の技術に期待が寄せられているが,このAIの情報処理技術をフルに活用し開発を進めていく分野は,インフォマティクスと呼ばれている。
インフォマティクスの中でも材料開発を進めていく分野は,マテリアルズ・インフォマティクスと呼ばれていたり,ロボット工学ではロボティクスと呼ばれていたり様々である。
そして,インフォマティックにおける情報処理技術の中核をなすものが,機械学習と呼ばれる統計数理に基づいた技術である。
機械学習の定義
機械学習にはいくつか定義があるが,初期段階から広く定義されているのが,1959年のサミュエル・アーサー氏による以下の定義である。
機械学習とは,ある学習データEからクラス分けをするタスクTがあり,そのパフォーマンスをPとする。そして,学習データEから学習することによって,パフォーマンスPを向上させるコンピュータープログラムのこと。
A computer program is said to learn from experience E with respect to some class of tasks T and performance
measure P if its performance at tasks in T, as measured by P, improves with experience E
インフォマティクス・機械学習で最近注目されているプログラミング言語Python
最近,インフォマティクス・機械学習の世界で用いるプログラミング言語として,Pythonが人気があり注目されている。
Pythonは汎用のスクリプト言語で,多くのプログラミング言語の中でも多目的で使用でき,簡単であるという特徴がある。
データ解析においてはR言語も機械学習系ではよく使われるが,処理をシステムとしてくみ上げるという点ではPythonの方が有利である。
Pythonの中でも,scikit-learn(サイキットラーン)は機械学習パッケージとして非常に汎用性の高いモジュールである。
Pythonを用いた機械学習
決定木分析とアンサンブル学習
決定木分析は,例えばクラス分類問題の場合は,ある信頼スコア(ジニ係数など)が一定の値を超えるか超えないかで,木が幹から葉に分岐するように,線引きして分類する手法である。
幹では重要度に応じて精度よく識別できるが,葉に至る分岐ではその精度は低下しがちである。
実際には,この決定木のアルゴリズムをさらに発展させたアンサンブル学習が主に利用される。
アンサンブル学習は,集合学習とも呼ばれ,複数の決定木分析から集計し多数決をとり,最終的な分類判定をする。
手法には,バギング,アダブースティング,ランダムフォレストなどがある。
アンサンブル学習は単一の決定木分析に比べモデルが頑健で分類性能が高い。
Pythonを用いた機械学習の進め方
インフォマティクス・機械学習は計算過程が複雑であるから,0から自分で関数を構築しようとすると大変な手間がかかる。
多くの場合,既存のモジュールを活用してプログラム作成の手間をなるべく省くようにすることが多い。
これはどのプラグラミング言語も同じであるが,用いるプログラミング言語としてPythonを推奨する。
無料という点も魅力であるが,何より簡易でありモジュールが充実しているので初心者でも以下に挙げた参考文献等を活用し1週間程度のプログラミング学習で多種類の機械学習手法をマスターできるので是非お試し頂きたい。
文献
1)岩崎悠真,マテリアルズ・インフォマティクス 材料開発のための機械学習超入門,日刊工業新聞社,初版第1刷(2019)
2)長橋賢吾,図解入門よくわかる最新機械学習の基本と仕組み,株式会社秀和システム,第1版第1刷(2019)
3)Pythonによる機械学習入門 株式会社システム研究所編,株式会社オーム社(2019)
4)https://hira03.hatenablog.com/entry/RandomForestClassifier(2021年3月31日時点アクセス)
関連記事