logo

機械学習

機械学習machine learningとは、機械既に持っているデータセットから特徴featureを把握する方法を学び、新しいデータの特徴もよく把握できるようにすることである。

上記の定義は特に厳密なものではなく、定義が厳密である必要もない。機械とは簡単に言えばコンピュータ、つまりプログラムコードと理解すればよい。既に持っている、すなわち学習に使われるデータセットをトレーニングセットtraining set、訓練データセットと呼ぶ。機械学習を試験勉強をする学生に例えると以下のようになる。

  • 機械:学生
  • トレーニングセット:過去問題
  • 特徴:出題傾向
  • 新しいデータ:実際の試験問題
  • 学習:過去問題を解くことで実際の試験問題を解けるようにすること

2021年現在、機械学習を実装するのに最も多く使われている方法は、人工ニューラルネットワークの隠れ層を増やすディープラーニングdeep learning、深層学習である。人工ニューラルネットワークは最近になって飛躍的に性能が向上し、最高の性能を誇ることもある。ディープラーニングが満足のいく性能を示す前までは、機械学習の主流は統計的理論に基づいたモデルであった。

機械学習を扱える人になるためには、数学統計学プログラミングができなければならない。理論を理解するために数学、統計学の知識が要求され、これを実装するためにはプログラミングができなければならないからである。特に機械学習理論を深く学ぶためには、行列に関する線形代数学の知識だけでなく、測度論関数解析学なども必要である。また最近では、幾何学グラフ理論偏微分方程式などと人工知能を連携した研究も進められている1

また、以下の文章はできるだけ数学専攻者が読みやすいように作成された。

基礎

学習概念

最適化

サンプリングsampling、標本抽出

古典的機械学習

線形回帰モデル

線形分類モデル

  • 線形分類モデル
    • 最小二乗法
  • フィッシャー線形判別器 Fisher’s Linear Discriminant
  • ネイマン-ピアソン二値分類 Neyman-Pearson Criterion for Binary Classification
  • ベイズリスク分類器 Bayes Risk Classifier

クラスタリング

細分野

強化学習

コンピュータビジョン

ディープラーニング理論

ディープラーニングフレームワーク

Python PyTorch

ニューラルネットワーク

テンソル

トラブルシューティング

Julia

Flux

主要な参考文献

  • Christoper M. Bishop, Pattern Recognition annd Machine Learning (2006)
  • Simon Haykin, Neural Networks and Learning Machines (3rd Edition, 2009)
  • Trevor Hastie, The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd Edition, 2017)
  • 오일석, 기계 학습(MACHINE LEARNING) (2017)
  • Richard S. Sutton, Reinforcement Learning: An Introduction (2nd Edition, 2018)

全體ポスト