機械学習とは

machinelearning
AI

機械学習とは

機械学習とは、人工知能自身が学習する仕組みです。コンピューターは与えられたサンプルのデータを通してそのデータに存在するパターンを学習します。サンプルとなるデータの数が多ければ多いほど、望ましい学習結果が得られます。例えば、犬と猫を区別できるように学習する場合、コンピューターに与える犬と猫のサンプル画像(サンプルデータ)が多ければ多いほど、学習後のテストで犬かネコかを間違える可能性が減ります。
これらの例からもわかるように、機械学習を実用的な制度に押し上げるには十分なデータが必要になるわけです。1990年、インターネットに初めてウェブページが作られましたが、昨今その数は爆発的に増加しています。このページもその一つです。その増加とともにさまざまなデータが蓄積され、機械学習はそれらのデータを利用できるようになりました。そのように背景から、2000年以降、機械学習はビックデータ(インターネットの成長とともに蓄積された大容量のデータ)というワードとともに注目を集めるようになりました。
ただ一口に機械学習といってもその手法は一つだけではありません。どのような問題を解くかによって、機械学習には様々な手法が有るわけです。課題の数は膨大ですが。実はそれぞれの課題の、構造は似通っている場合がほとんどです。機械学習が対象とする問題の種類は下の三つにまとめられます。

AI

教師あり学習

入力データと出力データがセットになったものを用います。与えられたデータ(入力)をもとに、そのデータがどんなパターン(出力)になるのか識別・世臆するというものです。例としては ・過去の売り上げから将来の売り上げを予測したい(回帰問題) ・与えられた画像がなんの動物であるかを識別したい(分類問題) などが挙げられます。
先ほども出てきましたが過去~未来というような連続値を予測する問題のことを回帰問題、後者のような離散値(連続していない値)を予測する場合は分類問題と言います。
ⅰ)線形回帰
その名の通り、回帰問題に対して用いられる。最もシンプルなモデルの一つであるといえる。データの分布をもとに、そのデータに最も近似した直線を考えるというもの。二次元のデータの場合、横軸(x軸)と縦軸(y軸)の関係から回帰直線を求めることで、新しく追加されたx軸(y軸)データに対するもう片方のデータの値を求めることができる。
ⅱ)ロジスティック回帰
回帰とついているがロジスティック回帰は、分類問題に対して用いられる。分類問題であるため、出力データが存在する。出力に使われるのはシグモイド関数呼ばれるものが多く使われる
ⅲ)ニューラルネットワーク
人間の脳内の構造を模したネットワークである。数十億個ある人間のニューロンは互いに結びついており、神経回路という大きなネットワークを形成している。人間の情報を受け取るとニューロンに信号が伝わるという特徴を再現しようとしたものがニューラルネットワークである。単純なニューラルネットワークのモデルに単純パーセプトロンというものがある。これは入力を受け取る入力層と、出力を行う出力層で構成されている。入力層と出力そうの間は’重み’と表され、どれぐらいの量の電気信号を伝えるかを調節している。

AI

教師なし学習

教師あり学習に対して、出力データがないのが教師なし学習です。つまりここでの”教師”は出力データのことを指します。教師なし学習では入力データが持つ特徴などが学習の対象となります。例としては
・入力データの各項目間にある関係性を把握したい。
などが挙げられます。
ⅰ)k-means
あるデータをデータ間の距離が近い(デートの類似性が高い)もの同市でまとめて、K個のデータ郡に分けることを目的とする。つまり、元のデータからグループ構造を見つけだし、それぞれをまとめるという手法である。また、このグループのことをクラスタ(cluster)と呼ぶことからk-meanを使った分析をクラスタ分析と呼ぶ。以下がクラスタ分析の大まかな流れである。
1、各データをkこのクラスタに分類する。
2、各クラスタの重心を求める。
3、もとまったk個の重心と各データとの距離を求め各データを最も距離が近い重心に対応するクラスタに振り分けなおす。
4、重心の位置がほぼ確定するまで2、3、を繰り返す。
この過程により得られたクラスタがどういった性質を持つのか知ることができる。
ⅱ)主成分分析
k-meansと違い、データ間の送還を分析することで、データの構造をつかむ手法である。特徴量の多い場面でよく使われ、相関を持つ多数の特徴量を利用して、少数の特徴量に次元を減らすことが主な目的になる。

AI

強化学習

一言でいえば、「行動を学習する仕組み」といえるでしょう。行動に対して与えられる報酬(スコア)を最大化するためにはどのような行動を取るべきか学習していくのが強化学習です。例としては
・ロボットを二足歩行させるという目的に対して歩けた距離が長い程高いスコアを与える。
ロボットはスコアを最大化するために歩幅、関節の角度、歩行速度を学習する、というものが挙げられます。