検索
連載

Lesson 2 機械学習やディープラーニングには、どんな手法があるの?機械学習&ディープラーニング入門(概要編)(2/3 ページ)

藍博士とマナブの会話から機械学習とディープラーニングの基礎の基礎を学ぼう。機械学習を始めるための最低限の基礎用語から、ディープラーニングの代表的な学習方法と代表的なアルゴリズムまでをできるだけシンプルに紹介する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

3つの代表的な学習方法


藍:厳しく教える

学習にもやり方がいくつかあって、代表的なものが次の3つになるよ。ちなみにこれ以外にも半教師あり学習Semi-Supervised Learningというのもあるけど、これはまだ覚えなくていいと思う。

  • 教師あり学習Supervised Learning): 正解が決まっているトレーニングデータを使って学習し、過去の正解にできるだけ近似(回帰/分類)する入出力パターンのモデルを構築すること
  • 教師なし学習Unsupervised Learning): 正解が決まっていないトレーニングデータを使って学習し、クラスタリングや次元削減によって本質的なデータ構造のモデルを構築すること
  • 強化学習Reinforcement Learning): プログラムの行動に対するフィードバック(報酬・罰)をトレーニングデータとして使って学習し、次に最も取るべき行動方針のモデルを構築すること

マナブ:がくっ

……、あーあー……何言ってるのか全く分からないよ。まずは、最初の教師あり学習を身近な例で教えてよ。

教師あり学習


藍:優しく教える

例えば動物の写真を見て「犬か」「猫か」を判断する問題があるとするよね。子供の場合、両親から「これはワンワンですよ」「これはニャンニャンですよ」などと教えられながら、犬と猫の区別を学んでいく。これと同じように教師あり学習では、動物の写真ごとに「これは犬です」「これは猫です」などの正解ラベルlabels教師データlabeled training data)と一致するかをフィードバックされながら、犬と猫の区別を学んでいくということよ(図5)。

図5 教師あり学習のイメージ
図5 教師あり学習のイメージ


マナブ:にんまり

名前のとおり、教師がいるときの学習ということだね。


藍:にっこり

先ほど「フィードバック」と言ったのは、学術的には「ネットワークに誤差信号を戻す」という意味で、バックプロパゲーションBackpropagation誤差逆伝播)と呼ばれているよ。


マナブ:質問

バックプロパゲーション、長いけど覚えた! あと、回帰とか分類とか言ってたけど、これは何なの?


藍:優しく教える

回帰は「連続的なデータ」の問題を、分類は「離散的なデータ」の問題を解決するために使うよ。

回帰


マナブ:理解不納

連続的なデータ?


藍:厳しく教える

例えばマナブは毎日体重計に乗っているよね。1日1日ちょっとずつ値が変わりながら体重の線が推移していくでしょ。こういう点々にフィットする線を引いていける(=学習できる)のが連続的なデータ(図6)。ちなみにこの場合、正解ラベル(教師データ)は、次の日の体重になる。他には、毎日の温度とか、株価の推移とか、そういうものが例として挙げられるよ。

図6 連続的なデータによる回帰の例
図6 連続的なデータによる回帰の例


マナブ:質問

なるほど。確かに毎日、体重が減っていっていれば、今日の体重から連続した翌日の体重はこれくらい減っていると予測できるね。じゃあ離散的なデータは?

分類


藍:厳しく教える

例えばさっきの犬・猫の分類判断がまさにそれ。動物の顔の特徴(耳・目・鼻・口など)を何らかの方法で数値化してグラフ上に点としてプロットすると、これは体重のように綺麗に連続するデータとはならないで、ばらばらの点になってしまうのよね。写真に対する正解ラベル(「これは犬です」「これは猫です」)は分かっているので、「犬の点の集まり」と「猫の点の集まり」があれば、その集まりの中間に線を引いていける(=学習できる)よね。そうやって線で区分けされるのが離散的なデータ(図7)。他には、手書きで書いた数字画像を09の数値に分類するとか、そういうものが例として挙げられるよ。

図7 離散的なデータによる分類の例
図7 離散的なデータによる分類の例


マナブ:にっこり

新しいデータを与えたときに、その点が「犬側に入るか」「猫側に入るか」が予想(判断)できるということか。何となく分かった。


藍:優しく教える

「次の値を予測する、もしくは分類を予想(判断)する」というのがポイントで、これが教師あり学習の目的となっているわけ。回帰と分類の用途を学術的な言葉でまとめると、次のようになるよ。

  • 回帰regression): 連続する入力値に対する次の値を予測し、その結果を出力したい場合に使う
  • 分類classification): 離散的な入力値を、事前に定義された複数のクラスに分類し、その結果を出力したい場合に使う

マナブ:質問

教師なし学習も具体的な例をお願い。

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る