MNIST-自己学習ニューラルネットワーク:パイソン

質問:どのようにデジタル識別「5」?O(∩_∩)O〜

                                 例えば「5」の手書きの数字:書かれたが、様々な変化します

プログラム:画像から特徴量が抽出される -----学習技術によってモデルの特徴量を学習

使用ニューラルネットワークを学習指標と呼ばれる損失関数

損失関数は、多くの機能として使用することができる、最も有名なのはある平均二乗誤差(平均二乗誤差)。

  二乗誤差式を意味:

    

    Y K   -----------ニューラルネットワークの出力

    T K   -----------管理データ、ワンホット表現

  ここでは、ニューラルネットワークの出力yは出力ソフトマックス関数ですソフトマックス出力機能として解釈することができる確率

  Pythonはによって達成平均二乗誤差:   

デフ mean_squared_error(YT ):
     返す 0.5 * np.sumを((YT)** 2)

平均二乗誤差に加えて、クロスエントロピー誤差(クロスエントロピー誤差)もしばしば損失関数として使用されます。
  表現のクロスエントロピー誤差:

    

    「2」は、出力が0.1に相当する場合には、クロスエントロピー誤差は、例えば、対応するニューラルネットワークの出力は0.6であると、その後、クロスエントロピー誤差が-log 0.6 = 0.51、インデックスのタブの正解が「2」であると仮定-log 0.1 = 2.30。すなわち、クロスエントロピー誤差の値がある正解ラベル出力対応する決定

 

 

図自然対数に示す画像。

1  インポートPLT AS matplotlib.pyplot
 2  インポートNP AS numpyの
 。3  
。4  データを生成した
。5 X = np.arange(0.01,1.01,0.01 。6 Y = np.log(X)
 。7  
。8  描画画像
。9  plt.plot(X 、Y)
 10 plt.xlabel(' X ' 。11 plt.ylabel(' Y ' 12である(plt.show)

クロスエントロピーエラーコードについて:

デフcross_entropy_error(Y、T):
    デルタ = 1E-7
     戻り -np.sumさ(t *のnp.log(Y +デルタ))

 

おすすめ

転載: www.cnblogs.com/taoyuxin/p/11441692.html