見出し画像

scikit-learn機械学習①イントロダクション

この記事からscikit-learnで機械学習を学ぶシリーズを始めます。

このシリーズでは、主にニューラルネットワーク以外の機械学習アルゴリズムの紹介をしていく予定です。ディープラーニングにより関心がある方は、「PyTorchで始める深層学習」シリーズを参照してください。

今回は、機械学習の概要を紹介します。


機械が学習するとは

トム・ミッチェルが書いた機械学習の本では、コンピュータ・プログラム(機械)が学習することを次のように定義しています。

定義: 経験Eを与えられることで、あるタスクTにおける評価値Pが向上している場合、コンピュータ・プログラムは学習しているということができます。

Definition
: 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.

Machine Learning textbook (cmu.edu)

つまり、学習しているかどうかを知るためには、タスクと評価値と経験(訓練)が必要ということです。

例えば、将棋プログラムにとって、タスクは指すことです。評価値は、勝率などで測れます。そして、経験は、将棋の勝負の訓練を繰り返すことによって得られます。

  • T: 将棋を指す

  • P: 本番における勝率など

  • E:練習試合

同じロジックを適用すると、画像分類などは次のように定義できます。

  • T: 画像のクラスを予測する

  • P: 評価用のデータセットによる正解率、Precision、Recallなど

  • E: 訓練用のデータセットによる訓練

このように、機械が学習するようにするためには、タスク、評価値、経験をうまくデザインし準備する必要があります。

トム・ミッチェル(Tom Mitchell)はコンピューター科学者であり、カーネギーメロン大学の教授です。 1997年に出版された機械学習の分野を包括的に紹介する著書『Machine Learning』で最もよく知られています。 この本は、上級の学部生や大学院生、さらにはこの分野の開発者や研究者を対象に書かれています。

次にタスクの種類を見ていきましょう。

タスクの種類

もちろんタスクにはさまざまな種類があります。しかし、大きく分けると次の3つに分類できます。

  • 教師あり学習(Supervised Learning)

  • 教師なし学習(Unsupervised Learning)

  • 強化学習(Reinforcement Learning)

最近では、教師あり学習と教師なし学習を合わせたような自己教師あり学習(Self-supervised Learning)あるいは、半教師あり学習(Semi-supervised Learning)という分類も登場していますが、このシリーズでは上述の分類を主に扱います。

また、内容としては、教師あり学習と教師なし学習の解説に集中します。強化学習に興味がある方は、「強化学習を理解して実践する」シリーズを参照してください。

それでは、教師あり学習と教師なし学習の違いを解説します。

教師あり学習は、訓練用のデータセットの中に正解データが用意されているものです。よって、学習中に答え合わせを行うことができます。なお、正解データのことを「ラベル」とか「教師データ」とも呼びます。

例えば、メールを「スパム」または「非スパム」と分類するシステムを考えてみましょう。このシステムを訓練するために、既に「スパム」または「非スパム」とラベル付けされたメールのデータセットを用意して使用します。

学習するアルゴリズムを機械学習モデルとか単にモデルと呼んだりします。モデルは、これらの例から学習して、新しいメールがスパムかどうかを識別できるようになります。

モデルが学習するとは、訓練用のデータセットを使うことでアルゴリズムが予測の判断を計算するために使うパラメータの値を調節することです。よって、アルゴリズムがよく設計されたものであることと、使われるパラメータが訓練データに合わせてうまく調節できる必要があります。

一方、教師なし学習には、正解データはありません。

アルゴリズムの目的は、データ内のパターンや構造を自己学習することです。たとえば、顧客の購買データを分析して、類似の購買行動を示す顧客のグループを識別することができます。

このプロセスはクラスタリングと呼ばれ、特定のカテゴリに属する明示的なラベルがなくても、類似の特性を共有するデータポイントをグループ化します。

簡単に言うと、教師あり学習は明確な答えが与えられた問題を解決するのに使われ、教師なし学習はデータ内の隠れたパターンや構造を探るのに使われます。

また機械学習では、教師の有無に関わらず、問題によってさまざまなアルゴリズム(モデル)があります。

次回予告

次回は、線形回帰の仕組みを解説します。

お楽しみに!

ここから先は

0字

キカベン・読み放題

¥1,000 / 月
初月無料
このメンバーシップの詳細

この記事が気に入ったらサポートをしてみませんか?