AI Technology Community
7つのポイントの機械学習の方法
機械学習の中には、一体どれだけの古典的なアルゴリズムがあるのでしょうか?この部分では、機械学習における古典的な代表的な手法について簡単に説明します。この部分での説明の重点は、これらの手法に内包される思想であり、数学的な詳細や実践的な詳細についてはここでは議論しません。
1、回帰アルゴリズム
ほとんどの機械学習の講義では、回帰アルゴリズムが最初に紹介されるアルゴリズムです。その理由は2つあります。一つは、回帰アルゴリズムは比較的簡単で、これを紹介することで、統計学から機械学習へとスムーズに移行することができます。二つは、回帰アルゴリズムは後のいくつかの強力なアルゴリズムの基礎となっており、回帰アルゴリズムを理解しなければ、それらの強力なアルゴリズムを学ぶことができません。回帰アルゴリズムには、線形回帰とロジスティック回帰という2つの重要なサブクラスがあります。
線形回帰は、先ほど述べた住宅価格の求解問題です。どのようにして、すべてのデータに最適な直線を当てはめることができるのでしょうか?一般的には、「最小二乗法」を使用して求解します。「最小二乗法」の考え方は、当てはめた直線がデータの真の値を表し、観測されたデータが誤差を持った値を表すと仮定します。誤差の影響をできるだけ小さくするために、すべての誤差の二乗和が最小になる直線を求める必要があります。最小二乗法は、最適化問題を関数の極値問題に変換します。関数の極値は、数学的には一般的に導関数が0になる点を求める方法を用います。しかし、この方法はコンピュータには適しておらず、解が求められない場合や計算量が多すぎる場合があります。
コンピュータ科学界には、「数値計算」という専門分野があり、コンピュータによる様々な計算の精度と効率を向上させることを目的としています。例えば、有名な「勾配降下法」や「ニュートン法」は、数値計算における古典的なアルゴリズムであり、関数の極値を求める問題を処理するのに非常に適しています。勾配降下法は、回帰モデルを解くための最も簡単で効果的な方法の一つです。厳密に言えば、後述するニューラルネットワークや推薦アルゴリズムにも線形回帰の要素が含まれているため、勾配降下法は後のアルゴリズムの実装にも応用されています。
ロジスティック回帰は、線形回帰に非常に似たアルゴリズムですが、本質的には、線形回帰が扱う問題のタイプとロジスティック回帰が扱う問題のタイプは異なります。線形回帰は数値問題を扱い、つまり、最後に予測される結果は数値です。例えば、住宅価格です。一方、ロジスティック回帰は分類アルゴリズムに属しており、つまり、ロジスティック回帰の予測結果は離散的な分類です。例えば、このメールがスパムメールかどうか、ユーザーがこの広告をクリックするかどうかなどです。
実装の面では、ロジスティック回帰は線形回帰の計算結果にSigmoid関数を適用するだけで、数値結果を0から1の間の確率に変換します(Sigmoid関数のグラフは一般的に直感的ではないので、数値が大きいほど関数が1に近づき、数値が小さいほど関数が0に近づくことを理解すれば十分です)。そして、この確率に基づいて予測を行うことができます。例えば、確率が0.5を超える場合、このメールはスパムメールであると判断したり、腫瘍が悪性かどうかを判断したりすることができます。直感的には、ロジスティック回帰は分類線を引いていると言えます。下図を参照してください。
図7 ロジスティック回帰の直感的な説明
ある腫瘍患者のデータがあるとします。これらの患者の腫瘍には、良性のもの(図の青い点)と悪性のもの(図の赤い点)があります。ここで、腫瘍の赤青はデータの「ラベル」と呼ばれます。また、各データには2つの「特徴」が含まれています。患者の年齢と腫瘍の大きさです。これらの2つの特徴とラベルを2次元空間にマッピングすることで、上図のようなデータが形成されます。
緑の点があった場合、この腫瘍が悪性か良性かをどのように判断すればよいでしょうか?赤青の点を用いてロジスティック回帰モデルを学習させることで、つまり、図の分類線を求めることができます。このとき、緑の点が分類線の左側にあるため、そのラベルは赤であると判断し、つまり、悪性腫瘍に属すると判断することができます。
ロジスティック回帰アルゴリズムが引く分類線は基本的に線形です(非線形の分類線を引くロジスティック回帰もありますが、そのようなモデルはデータ量が多い場合には効率が低くなります)。これは、2つのクラス間の境界が線形でない場合、ロジスティック回帰の表現能力が不十分になることを意味します。次の2つのアルゴリズムは、機械学習界で最も強力で重要なアルゴリズムであり、非線形の分類線を当てはめることができます。
2、ニューラルネットワーク
ニューラルネットワーク(人工ニューラルネットワーク、ANNとも呼ばれる)アルゴリズムは、80年代に機械学習界で非常に流行したアルゴリズムですが、90年代には一時的に衰退しました。現在、「ディープラーニング」の勢いを持って、ニューラルネットワークは再び登場し、最も強力な機械学習アルゴリズムの一つになりました。
ニューラルネットワークの誕生は、脳の働きのメカニズムに関する研究に端を発しています。初期の生物学者たちは、ニューラルネットワークを使って脳を模倣しました。機械学習の研究者たちは、ニューラルネットワークを使って機械学習の実験を行い、視覚や音声の認識において非常に良い結果が得られることを発見しました。BPアルゴリズム(ニューラルネットワークの学習過程を高速化する数値アルゴリズム)が誕生した後、ニューラルネットワークの発展は大きなブームに入りました。BPアルゴリズムの発明者の一人は、先ほど紹介した機械学習の大御所であるGeoffrey Hinton(図1の真ん中の人)です。
具体的には、ニューラルネットワークの学習メカニズムは何でしょうか?簡単に言えば、分解と統合です。有名なHubel - Wiesel実験では、学者たちは猫の視覚分析メカニズムを次のように研究しました。
図8 Hubel - Wiesel実験と脳の視覚メカニズム
例えば、正方形を4つの折れ線に分解して、視覚処理の次のレイヤーに送ります。4つのニューロンがそれぞれ1つの折れ線を処理します。各折れ線はさらに2本の直線に分解され、各直線は黒と白の2つの面に分解されます。すると、複雑な画像は大量の細部に分解されてニューロンに入り、ニューロンが処理した後に統合され、最後に正方形を見ているという結論が得られます。これが脳の視覚認識のメカニズムであり、ニューラルネットワークの働きのメカニズムでもあります。
簡単なニューラルネットワークの論理構造を見てみましょう。このネットワークは、入力層、隠れ層、出力層に分かれています。入力層は信号を受け取り、隠れ層はデータの分解と処理を行い、最後の結果は出力層に統合されます。各層の円は処理ユニットを表しており、ニューロンを模倣していると考えることができます。いくつかの処理ユニットが1つの層を構成し、いくつかの層がネットワークを構成します。つまり、「ニューラルネットワーク」です。
図9 ニューラルネットワークの論理構造
ニューラルネットワークでは、各処理ユニットは実際にはロジスティック回帰モデルであり、ロジスティック回帰モデルは上位層からの入力を受け取り、モデルの予測結果を次の層に出力として伝達します。このようなプロセスにより、ニューラルネットワークは非常に複雑な非線形分類を行うことができます。
下図は、ニューラルネットワークの画像認識分野での有名な応用を示しています。このプログラムはLeNetと呼ばれ、複数の隠れ層を持つニューラルネットワークです。LeNetを使って、様々な手書き数字を認識することができ、非常に高い認識精度と良好なロバスト性を持っています。
171
item of content
- 564hits
- 0replay
-
2like
- collect
- send report