Lesson 2 機械学習やディープラーニングには、どんな手法があるの?:機械学習&ディープラーニング入門(概要編)(2/3 ページ)
藍博士とマナブの会話から機械学習とディープラーニングの基礎の基礎を学ぼう。機械学習を始めるための最低限の基礎用語から、ディープラーニングの代表的な学習方法と代表的なアルゴリズムまでをできるだけシンプルに紹介する。
3つの代表的な学習方法
学習にもやり方がいくつかあって、代表的なものが次の3つになるよ。ちなみにこれ以外にも半教師あり学習(Semi-Supervised Learning)というのもあるけど、これはまだ覚えなくていいと思う。
- 教師あり学習(Supervised Learning): 正解が決まっているトレーニングデータを使って学習し、過去の正解にできるだけ近似(回帰/分類)する入出力パターンのモデルを構築すること
- 教師なし学習(Unsupervised Learning): 正解が決まっていないトレーニングデータを使って学習し、クラスタリングや次元削減によって本質的なデータ構造のモデルを構築すること
- 強化学習(Reinforcement Learning): プログラムの行動に対するフィードバック(報酬・罰)をトレーニングデータとして使って学習し、次に最も取るべき行動方針のモデルを構築すること
……、あーあー……何言ってるのか全く分からないよ。まずは、最初の教師あり学習を身近な例で教えてよ。
教師あり学習
例えば動物の写真を見て「犬か」「猫か」を判断する問題があるとするよね。子供の場合、両親から「これはワンワンですよ」「これはニャンニャンですよ」などと教えられながら、犬と猫の区別を学んでいく。これと同じように教師あり学習では、動物の写真ごとに「これは犬です」「これは猫です」などの正解ラベル(labels=教師データ:labeled training data)と一致するかをフィードバックされながら、犬と猫の区別を学んでいくということよ(図5)。
名前のとおり、教師がいるときの学習ということだね。
先ほど「フィードバック」と言ったのは、学術的には「ネットワークに誤差信号を戻す」という意味で、バックプロパゲーション(Backpropagation、誤差逆伝播)と呼ばれているよ。
バックプロパゲーション、長いけど覚えた! あと、回帰とか分類とか言ってたけど、これは何なの?
回帰は「連続的なデータ」の問題を、分類は「離散的なデータ」の問題を解決するために使うよ。
回帰
連続的なデータ?
例えばマナブは毎日体重計に乗っているよね。1日1日ちょっとずつ値が変わりながら体重の線が推移していくでしょ。こういう点々にフィットする線を引いていける(=学習できる)のが連続的なデータ(図6)。ちなみにこの場合、正解ラベル(教師データ)は、次の日の体重になる。他には、毎日の温度とか、株価の推移とか、そういうものが例として挙げられるよ。
なるほど。確かに毎日、体重が減っていっていれば、今日の体重から連続した翌日の体重はこれくらい減っていると予測できるね。じゃあ離散的なデータは?
分類
例えばさっきの犬・猫の分類判断がまさにそれ。動物の顔の特徴(耳・目・鼻・口など)を何らかの方法で数値化してグラフ上に点としてプロットすると、これは体重のように綺麗に連続するデータとはならないで、ばらばらの点になってしまうのよね。写真に対する正解ラベル(「これは犬です」「これは猫です」)は分かっているので、「犬の点の集まり」と「猫の点の集まり」があれば、その集まりの中間に線を引いていける(=学習できる)よね。そうやって線で区分けされるのが離散的なデータ(図7)。他には、手書きで書いた数字画像を0〜9の数値に分類するとか、そういうものが例として挙げられるよ。
新しいデータを与えたときに、その点が「犬側に入るか」「猫側に入るか」が予想(判断)できるということか。何となく分かった。
「次の値を予測する、もしくは分類を予想(判断)する」というのがポイントで、これが教師あり学習の目的となっているわけ。回帰と分類の用途を学術的な言葉でまとめると、次のようになるよ。
- 回帰(regression): 連続する入力値に対する次の値を予測し、その結果を出力したい場合に使う
- 分類(classification): 離散的な入力値を、事前に定義された複数のクラスに分類し、その結果を出力したい場合に使う
教師なし学習も具体的な例をお願い。
Copyright© Digital Advantage Corp. All Rights Reserved.