機械学習は「教師あり学習」と「教師なし学習」に大別されます。
この記事では、これから機械学習の勉強を始めたい人向けに、「教師あり学習」について基本的な説明を行います。
この記事の内容
- 教師あり学習とは
- 教師あり学習のおおまかな流れ
- 教師あり学習の種類と使い道
教師あり学習とは
教師あり学習とは、「コンピュータに予め正解を教える」機械学習の手法です。
例えば、顔の画像によって男女を区別するプログラムを考えてみましょう。
このようなプログラムを作成する場合、まずは大量の男女の写真をコンピュータにインプットさせます。「この顔は男性!」「この顔は女性!」といった具合です。
このように「予め正解を教える」ことによって、コンピュータは「彫りが深い系の顔は男性なんやな」とか「髪が長いのは女性なんやな」って感じで、知識を蓄えていきます。
その結果、新しい人の写真を与えると、「教えた正解に基づいて」男性か女性かを判定してくれるようになるわけです。
教師あり学習のおおまかな流れ
0. データの収集
教師あり学習を行うには、「正解」として与えるための大量のデータを収集する必要があります。
「何を明らかにしたいのか」を明確にし、その目的にあったデータを入手します。
今回の場合、数万枚の男女の顔写真を用意するところからスタートです。
1. 目的変数と説明変数を設定する
予測したい情報のことを目的変数といいます。
一方、予測に使う情報のことを説明変数といいます。
先ほどの例だと、「男性か女性か」という結果が目的変数にあたります。顔写真のデータが説明変数、「男性か女性か」という結果が目的変数にあたります。説明変数と目的変数の設定を適切に行わないと、学習を行っても効果を得られないので要注意です。
2. 学習に使うアルゴリズムを選ぶ
どのような計算方法によって「説明変数→目的変数」を導くかという仕組みを学習アルゴリズムといいます。用いるデータの特徴や用途によって、適したものを選ぶ必要があります。
学習アルゴリズムについて全て触れることは省略しますが、この記事にまとめられてます。
https://qiita.com/t-yotsu/items/1a6bf3a4f3242eae7857
3. 訓練データを与える
アルゴリズムを決めたら、正解付きのデータを与えて、パターンを学習させます。
これを訓練データといいます。
訓練データは時に数万個に上りますが、数よりも質が重要です。
質の悪い訓練データを与えると、判定基準が曖昧になってしまったり(学習不足)、逆に厳格になりすぎてしまったりする(過学習)ので注意が必要です。
4. テストデータで結果をみる
訓練データによる学習が終わったら、正しく学習が行われたかを検証します。
テストデータを作成したプログラムに判定させ、正解率などを算出することによって、性能の評価を行います。
この時、訓練データとテストデータは事前に分けておき、異なるものを使う必要があります。
先ほどの例だと、訓練データで与えたものとは別の男性と女性の写真を使って判定を行い、正しく評価できた割合を調べることになります。
教師あり学習の種類
教師あり学習は、主に二種類の用途によって使われます。
分類問題
与えたデータをいくつかの種類のラベルに分類する場合には、教師あり学習が使われることが多いです。
冒頭で紹介した男女の画像判別の例もこちらの分類問題にあたります。
例)
- 画像データを「犬」と「猫」に分類する
- 手書きの数字を判読する
- 似ている芸能人
【訓練データ】ラベル付き訓練データ
【目的変数】分類ラベル(「犬」と「猫」など)
回帰問題
実験データや測定データなどの過去に起こったデータを学習させ、数値データを予測するものを回帰問題とよびます。回帰問題でも教師あり学習が使われることが多いです。
例)
- 日照量から農作物の収穫量を推定する
- 株価の変動から毎日の終値を予想する
- 買い物パターンからその人の貯金額を推定する
【訓練データ】結果となる数値付きの実測データ
【目的変数】数値
まとめ
- 「教師あり学習」はあらかじめ訓練データを与える学習方法
- 訓練データとは異なる「テストデータ」を用いて性能を評価する
- 目的変数が「分類ラベル」の分類問題と、「数値」の回帰問題に分かれる