わかりやすい深層学習:第3回 回帰問題と分類問題

前回は、機械学習の教師あり学習と教師なし学習の概要をお話ししてきました。
今回は、教師あり学習の続きとして、回帰問題と分類問題について説明していきます。

回帰問題

回帰問題とは、入力データから数値の予測を行う問題のことです。例えば人の顔画像からその人の年齢を予測や、住宅の面積から市場の値段の予測が回帰問題にあたります。

ここでは単純な一次関数で予測できるも想定して、数式も導入しながら来客数からコーヒー売り上げを予測するケースを考えます。入力データをカフェの来客数、目的関数をコーヒーの売り上げ個数とします。目的関数とは連続値を扱うときのラベルのことです。

このデータが一次関数で(y=a×x+b)で表現できるとしたときその一次関数の重さ(ここでいうaとb)をデータから学習していくことで図6のようにデータがある直線に沿ってプロットされているように見ることができます。この学習された関数を利用することで、今回でいうと来客数からその日のコーヒーの売り上げ個数が予測できることになります。

このように一次関数を仮定してその係数を決めいくような問題を線形回帰問題といいます。
珈琲の売上
図1 珈琲の売り上げと来客数

分類問題

では次にもう一つのカテゴリである分類問題について扱っていきます。分類問題は離散的データを予測する問題です。例えば、第2回で例に挙げた手書きの数字データがどの数字に識別するかという問題も分類問題ですし、体重と身長のデータから男か女かを識別する問題も分類問題です。

この問題はよくシグモイド関数といわれる関数を使って行われます。シグモイド関数は下の図のような関数になっています。式は
シグモイド関数となります。

シグモイド関数
図2 シグモイド関数

具体的にどのように分類されているか、どのようにシグモイド関数が使われているのかを、身長と体重から男女の性別を分類するところから考えてみます。今回は身長と体重という2つの変数を扱う問題になります。データは図1のものを使用します。

ここで線形的に分けられる問題を想定すると2変数なのでx=ay+bz+cを仮定することになります。yを体重、zを身長として入力していきa,b,c,の重みを最適化していきます。ただここではxの値をそのまま利用するのではなく先ほど紹介したシグモイド関数に入力します。この関数を使用することでh(x)の値が0.5より大きければ男、小さければ女と分類できます。

体重と身長と性別のデータ
図3 体重と身長と性別のデータ

このシグモイド関数は活性化関数としても使用されています。活性化関数については次の回でもう少し詳しく説明する予定です。

ここまで、第1回 では、深層学習を学ぶ前の必須知識を3回にわけてお話してきました。少しでも理解していただき、お役に立ってればたらいいなと思おもいます。次回は
・活性化関数
・損失関数
・ニューラルネットワークのさわり
についてです。

お読みいただきありがとうございました。次回も読んでもらえれば幸いです。

4.2 10 votes
Article Rating

カテゴリー: Tips

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments