KATUBLO

PROFILE

プロフィール

@KATUO

法政大学理工学部電気電子工学科 現在3年生
趣味はプログラミング、ランニング、釣り、カフェ巡り。まだまだ初心者ですが, プログラミング系の記事を中心に書いていきます。

TWITTER

ツイッター

RELATED ARTICLE

関連記事

投稿日:2018年11月08日

【DeepLearning】Tensor-flowを使ってパーセプトロン出力予測を実装&解説する。

今回なぜ記事を書いたか?

半年ほどDeeplearingの本を読んだり、簡単な実装をしたが、あやふやなところが多く、基本が身についていないと感じた。この状況を打破する為に、原理や基礎をOUTPUTすることによって、不明確な部分を明確化することで、より理解を深めようと思ったから。

 

 

 

 

予想する対象

パーセプトロンの出力の正誤率

 

 

 

実装コード

 

 

コードは以下のリンクのgithubから引用した。

 

 

 

モデル定義-解説

 

 

tf.Variable

 

 

値が0の2行×1列の配列を生成します。

この配列はtensorflowが独自の型。

 

 

tf.placeholder

 

 

placeholderはデータが格納される入れ物。データは未定のままグラフを構築することができ、値は実行する時に与えるという関数。(Noneは実行時に決定)

 

 

シグモイド関数

 

 

シグモイド関数。NNの出力を0~1の間の値に変換する。

別記事に詳しくまとめる。

 

 

 

 

交差エントロピー

 

 

誤差のない最適な状態からどのくらい差があるのかを表す関数。損失関数と呼ばれる。

これも別記事に詳しくまとめる。

 

 

 

勾配降下法

 

 

損失関数のパラメータb、wで偏微分して0になる部分を求める。

これを実現するために用いる手法が勾配降下法である。

これも別記事に詳しくまとめる。

 

 

 

 

 

発火条件確定

 

 

yはパーセプトロンが発火するかどうかの確率を表している。

 

ORゲートは1と0の出力を持つ。つまりパーセプトロンの発火というのは

 

1:発火する

0:発火しない

 

と呼ぶことにする

 

このyが0.5以上であれば発火とみなす。というのが↑のコードで記述されている内容である。

 

 

 

 

 

出力結果

 

 

classifiedを見るとORゲートの学習が成功していることがわかる。

 

output probabilityは発火する可能性を表す。

つまり1行目の[0,0]以外は発火するという結果がわかり、理論と一致していた。

 

 

 

 

 

 

感想・気づき

 

まずは基本の基本を復習した。

つぎはkaggleの問題にチャレンジしてみようと思う。

 

最後まで読んで頂き
ありがとうございました。
SNS等でのシェアが頂ければ幸いです。