機械学習

Shannon-labでは様々な機械学習を駆使したサービスを開発しております。

機械学習とは、人工知能における研究課題の一つで、人間の学習機能を数理的に再現しようとする手法のことです。ここでは、機械学習の代表的な手法について紹介します。

 

■勾配法

なめらかな二次関数について、与えられた初期値から、少しずつ移動して関数の値を最大化する点を探す手法です。最大値となる関数の頂点では、傾きはなくなり(f’(X)=0)になり、傾きは正(f’(X)>0)の点では、関数値が増加するので右に進みます。一方で傾きは負(f’(X)<0)の点では、関数値が減少するので左に進みます。ここで進む距離が大きすぎると最大値を通り越してしまいますが、少しだけだとなかなか最大値に到達しません。よって進む幅は関数値が必ず増加し、かつなるべく大きくとるのが望ましいことだと考えられます。

たとえは、初期値の点の傾きが正(f’(X)>0)の場合は、①最初は+hだけ右に進み、②初期値よりもその点が大きければさらに+2hだけ進み、進む幅を2倍にし続けます。しかし、③進んだ先が進む一つ手前の点よりも小さな値をとった場合は最大値を通り越してしまっているので、④一つ手前の点に戻り、再び小さな+hだけ進みます。これを繰り返して十分最大値に近づく手法を勾配法と呼びます。これにより与えられたデータを探し続け、最適な解を見つけだすことができます。

■SVM

サポートベクターマシンは、2種類のデータが与えられた際に、2種類のデータを最もうまく分離する超平面(ここでは直線)を探す方法です。ここでのうまく分類するとは,予め与えられたデータをうまく分類することではなく,学習に用いなかった未知のデータをうまく分類させることです。

では分類のためのうまい分け方とはどのようなものでしょうか?図2に示すように,分離超平面(直線)と,2種類のデータとの間の距離(これをマージンと呼ぶ)が最大になるような分離超平面(直線)が,最も分類に適しています。