パーセプトロンとは



機械学習

分類(classification)

ニューラルネットワーク(NN)

クラスタリング

強化学習

敵対的生成ネットワーク

公開日:2019/11/9          

前提知識
 ・ステップ関数
 ・シグモイド
 ・論理回路


パーセプトロンとは、機械学習で使われる最も重要な考え方の一つで、ノードに入力した信号を元に所定の関数を経て出力するという計算の仕組みのことです。 人間の脳内にある情報伝達システムであるニューロンに模していることから、この人工ニューロンのことをパーセプトロンといいます。 その中でも以下は最も簡単な構成となっていることから単純(単層)パーセプトロンといいます。丸はノード(node)、ノードを繋ぐ線をエッジ(edge)、係数wを重みといいます。

  

wは重みといい、一つ一つのノードの値xに乗じます。cは定数ノードといい1を設定し、定数ノードに対する重みw0の事をバイアスといいます。各ノードの値を足し合わせた結果がuとなり上式で表されます。

■活性化関数
活性化関数(activation function)とはuの値に対して出力値を返す関数で、ステップ関数シグモイド関数などがあり以下で表します。 入力が大きくなるに従い値が大きくなっていく状態を"活性化した"と表現するのでそのように呼ばれています。なおその状態を"発火した"ともいいます。



■活用例
パーセプトロンは主に、データをある特徴によって分類する二項分類ニューラルネットワークに主に使用されます。 ここでは簡単な分類問題の例を紹介します。

AND回路
単層パーセプトロン、活性化関数にステップ関数を用い、wを以下の様に設定すると入力xに対するAND回路を表現できます。例えば、x1=1、x2=1としたときの出力結果は1となります。

 

その他x1とx2の組み合わせの計算結果をまとめると以下となります。



このAND回路を図で示すと以下になります。確かに上記式どおりに分類されていることが解ります。

 

確率を求める
シグモイド関数を使った例として、今週末Aさんが山登りに行く確率を求めます。

 1, 天気は良いか
 2, 気温が高いか
 3, 誘った友達が一緒に行けるか

各条件に対して山登りに行く確率を、重みwによって表現します(重みそのものが確率になる訳ではありません)。 次はシグモイド関数を使って最終的な出力値(この場合においては山登りに行く確率)を求めてみます。



■多重パーセプトロン
パーセプトロンを組み合わせたものを多重パーセプトロンといい、単純パーセプトロンでは表現できなかったことも表現可能になります。

XOR回路
XOR回路は以下のような論理となり、入力のどちらかのみが1で、1を出力します。これは単純パーセプトロンでは表現できません。


ここでXOR回路は、NAND回路とOR回路の出力結果をAND回路に通した結果となります。



これを多重パーセプトロンで表現すると以下の様になります。












サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



機械学習

分類(classification)

ニューラルネットワーク(NN)

クラスタリング

強化学習

敵対的生成ネットワーク