機械学習ってなに?
AIとどう違うの?
わかりやすく教えてほしい!
こういった疑問にこたえます。
エンジニアの僕がわかりやすく解説します。
機械学習とは?
機械学習はAI関連技術の一つです。物の特徴をコンピュータが自律的に学習する技術です。
機械学習では、特定のタスクにおいて予想することに主眼を置かれています。
タスクには、回帰・分類・自然言語処理・音声認識・画像処理などがあります。
これらのタスクは機械学習以外にもルールベースや統計的な分析で解くことも可能です。
ルールベースというのは人間が「こういう場合にはこうする」というように処理を記述していく方法です。
簡単なタスクの場合はルールベースでも良いですが複雑になってくるとルール設定が難しく、精度も悪くなることもあります。
統計的な分析はうまくモデリングできなかったり、計算量が膨大になったりしてしまうことがあります。
機械学習の基本的な発想は「タスクを解くためのモデルを作り、より良くなるようにモデルのパラメータをコンピュータに学習させていく」というものです。
近年では、多くのタスクにおいてルールベースや統計的な分析より機械学習の方が性能が良い事例が出てきたため注目されています。
機械学習の学習の方法
機械学習は学習の仕方によって大きく3つに分けられます。
- 教師あり学習
正解ラベルのついたデータを使って学習する方法 - 教師なし学習
正解ラベルなしで、データのみで学習する方法 - 強化学習
訓練データを用意するのではなく、行動と報酬を用いることで学習する方法
正解ラベルとはデータの答えにあたるものです。
スパムメールを分類するとすると学習データに普通のメールなのかスパムメールなのかを示す情報がラベルになります。
教師あり学習
教師あり学習は学習ようの入力データとそこから出力するべき正解ラベルを準備します。
教師あり学習でできる代表例は「分類」と「回帰」です。
分類とは、データをあらかじめ考えられたカテゴリーに分類するタスクです。
例えば、画像から写っている動物を判別する画像分類をするなら、用意するデータとしては動物が映った画像とそれが表す動物のラベルとなります。
回帰とは、データから定量的な値を予測するタスクです。回帰も学習データと予測値を用意することになります。
教師あり学習の難点は、正解ラベルを用意する難しさがあります。
ラベル付には手間や知識が要ります。多くの場合、人力で訓練データを作る必要があります。
そもそも訓練データが少ないと学習できない場合もあり、アルゴリズムにもよりますが、数百〜数千単位のデータが必要になります。
機械学習の中の学習アルゴリズムであるディープラーニングを用いる場合は、一般的に数万単位のデータがある方が良いと言われています。
教師なし学習
教師なし学習は、正解ラベルを用いずに学習します。
教師なしで学習できる主なタスクは、「データの変換」と「クラスタリング」です。
データの変換は、特徴量が多くあるデータを少ない特徴量に減らす次元削減が代表的です。
機械学習では、特徴量が多くあってもあまり意味のないデータが入っていると計算コストが大きくなり、性能に影響する場合があります。
データの前処理などに使われます。
クラスタリングはデータを似ているものをグルーピングします。
分類と異なる点はあらかじめカテゴリーを考えるのではなく、機械的にグループを作る点です。
強化学習
強化学習は、シミュレーターの中での「行動」と「報酬」を用意することで学習を進めます。
まずはシミュレーターと、戦略をもとに行動するプログラム(エージェント)を構築します。
そしてエージェントの「行動」に対して、結果の良し悪しをもとに「報酬」を与えます。
得られる報酬が最大化するようにエージェントの行動を学習させていきます。
機械学習とは?まとめ
解説の内容をまとめます。
- 機械学習はAI関連技術の一つ
- 物の特徴をコンピュータが自律的に学習する技術
- 教師あり学習、教師なし学習、強化学習の3つの学習方法がある
以上、お疲れ様でした。
コメント