第3次AIブームの記事中でも紹介した通り、機械学習というのは機械が自ら学習する仕組みのことです。英語ではML(Machine Learning)とも呼ばれます。別の言い方をすると、データから学習して自動で改善していくモデルのことです。モデルというのは、機械学習のプログラムのことです。
第3次AIブームについては以下の記事を参照下さい。
今回は、機械学習にはどんな手法があるのか紹介します。
機械学習の3つの手法
機械学習には大きく分けて3つの手法があります。
教師あり学習
機械学習と聞いて最もイメージされるのが教師あり学習です。教師あり学習というのは、入力と出力のペアのデータを機会に学習させて、どのような入力の時に、どのような出力になるのかを予測するルールを見つけ出す仕組みです。
例えば気温という入力からアイスクリームの販売量という出力を予測したり、花びらの大きさから花の種類を予測したりします。
出力を正解と捉えた時に、正解を与えてくれる教師が存在するような学習方法だと理解すればよいでしょう。
教師なし学習
教師なし学習の場合には、正解を与えてくれる教師が存在しません。データの持つ構造や特徴を機械が学習することで、正解がないデータをグルーピングします。例えば様々な種類の花の花びらの大きさについてのデータを機械に学習させ、データの分布から花の種類ごとにグルーピングします。ECサイトのレコメンド機能は、この教師なし学習を利用しています。
教師なし学習には大きく2つの目的があります。1つは、正解のないデータの構造を理解できるようにすることです。例えば同じ花びらでも、既知の花の種類の花びらのデータは教師あり学習として扱えますが、見たことのない未知の花の大量の花びらのデータを扱うときは教師なし学習が適用されます。そういった場合で、かつ人間の認識ではそのデータの中に規則性を見つけられないようなケースで、教師なし学習を適用することによって規則性や構造に気づくことができる場合があります。
もう1つの目的は教師あり学習の前準備です。既知の花の種類の花びらであっても、データに対して”これはXXの花びら、これはOOの花びら”といったラベリングがされていないことがあります。そういったケースで大量のデータに1つずつラベリングをするのは非現実的であるため、教師なし学習を適用して分類してから、教師あり学習を実行することができるのです。
強化学習
強化学習は、報酬を最大化するための行動を学習する仕組みです。教師あり学習と異なり事前に正解が与えられていませんが、行動の結果に対して状態が変化し、報酬を得ることで学習を進めていきます。
イメージとしては、学校(環境)で生徒(エージェント)が試験を受けた(行動)時に、点数(状態)と合否(報酬)が学校から返ってくる、というイメージです。エージェントにとっては、報酬を最大化することが目的となります。
よく例で出されるのはボードゲームです。将棋であれば、プレイヤー(エージェント)の打ち手に応じてボード上の駒の位置(状態)が変わると同時に、どちらの方が優位かという報酬が変わります。この報酬を最大化することで、勝利に近づくようにします。
強化学習は、報酬をどのように定義するのかが難しく、ボードゲームなどで顕著な成果が出るようになるには、ディープラーニングを用いた深層強化学習の登場を待たなくてはなりません。
説明変数と目的変数
それぞれの手法について具体的に紹介する前に、機械学習を知るうえで避けて通れない、説明変数と目的変数について説明します。今後の説明でも、この2つの用語は説明なしで使っていきますので、理解を深めましょう。
説明変数
“入力と出力”でいうと入力のこと、”データと正解”ではデータのことを指します。他に、独立変数、予測変数、特徴量などとも呼ばれることがあります。
当日の気温と湿度という入力(データ)を元にアイスクリームの販売数量という出力(正解)を求める問題であれば、気温と湿度が説明変数です。
目的変数
“入力と出力”でいうと出力のこと、”データと正解”では正解のことを指します。他にラベル、応答変数、従属変数とも呼ばれます。
上述のアイスクリームの例でいえば、販売数量が目的変数です。
教師あり学習
教師あり学習の問題の種類
教師あり学習は、さらに2種類に分けられます。
回帰問題
回帰問題というのは、連続値を予測する問題です。売上金額・販売台数・気温・株価などが該当します。
分類問題
反対に、離散値(非連続な値)を予測するのが分類問題です。手書きの数字0-9を分類するとか、花の種類を予測する、犬と猫を分類するような問題が挙げられます。
教師あり学習のアルゴリズム
教師あり学習のアルゴリズムとしては、以下のようなアルゴリズムが存在します。
他のアルゴリズムは今後解説記事を掲載しますので、少々お待ちください。
教師なし学習
教師なし学習のアルゴリズムとしては、クラスタリング、協調フィルタリング、主成分分析などが挙げられます。今後、解説記事を掲載しますので、少々お待ちください。
強化学習
強化学習のアルゴリズムとしては、バンディットアルゴリズム、Sarsa、Q学習、REINFORCEなどがあります。今後、解説記事を掲載しますので、少々お待ちください。
コメント