深い学習ロジスティック回帰フィッティング2次元データの基礎知識

  今日から、私はここに正しく良い価値コード3Wマークされているほとんどが手元にありますが、目的は非常に簡単です、足跡の記録深度調査について学ぶことでしょう、あなたは最初から使用可能なモデルをトレーニングしたいです、

私は、関連するモデルやデモオンライン多くが、それでも彼らは個人的に出て使用可能に従事できることを非常に多くの希望を知っているが、学習の本である:李Jinhongの先生「Tensorflowの深さの原則の研究と高度な戦闘を入手」を参照してください。

また、私はまた、ソースコード、モデル、そしてほとんど訓練されたコードの認識モデルのうち、完全にオープンソースコード3Wを確認します。相互激励。

  

。1  !は/ usr / binに/ PythonのENV 
2  - * -コーディング:UTF-8 - * - 
。3  @time:2019年9月23日21:27 
。4  @author:SongSa 
。5  @Desc:
6  @ファイル:フィッティング二次元データの.py 
7。  @Software:PyCharm 
。8  
。9  インポートtensorflowのTF AS
 10  インポートNP AS numpyの
 11  インポートPLT AS matplotlib.pyplot
 12は 
13である " "" 
14  :深さ研究は4つのステップに分割される
 15は、     データを準備します
 16      建設モデル
 17      反復トレーニング
 18     使用モデル
 19  "" " 
20は 
21であり、 #1 データ########調製####### 
22で train_X np.linspace =(-1 ,. 1、100 23である train_Y = 2 * + np.random train_X .randn(100)0.3 *   Y = 2Xが、ノイズを加え
24 plt.plot(train_X、train_Y、' RO '、ラベル= ' オリジナルデータ'#は、アナログデータ点を示す
25 plt.legend()  は、ディスプレイを有しています凡例ラベル
26は plt.show()
 27  
28  
29 plotdata = { " のBatchSize " []:" 喪失":[]}
 30  DEF MOVING_AVERAGE(A、W = 10 ):
 31である     IF(A)<lenの:W
 32          リターンA [:]
 33は     戻り [ヴァルIF IDX <W 他の SUM([(IDX-W):IDX W])/ ため IDX、ヴァル列挙(A)]
 34である 
35  
36  ####### ########構造モデル
37  モデルは、2つの方向に分割されている:フォワードおよびリバース
38  モデルを作成して
39 X-tf.placeholder =(" フロート"#のプレースホルダ
40(Y = tf.placeholderを"フロート" 41である #1 モデルパラメータ
42は、 Wが= tf.Variable(tf.random_normal([1])、名前=される" 重量#1 Wは乱数、一次元デジタルの形状[1、-1]に初期化されます
43は B = tf.Variable(tf.zeros([1])、名前は= " バイアス"#とBを0に初期化されている
44ことである フォワード構造
45 = tf.multiply Z(X、Wは)+ Bの   #1 tf.multiply ()関数が乗算される* X-Wは、B = + Zさ
46は、 
47  #は逆構造モデル
48  二つの方向におけるニューラルネットワークのトレーニングデータフロー、正により生成された最初の値は、真の値が観察されギャップは、パラメータは、内部逆のプロセスにより調整、
49  実際の値の比較、そのサイクルで陽性予測値を生成する次に、我々は正しい値を取得するために調整されたパラメータを知って、パラメータの適切な調整を達成するためにバックプロパゲーションアルゴリズムを紹介します。
50費用= tf.reduce_mean - (tf.square(Y Z))  生成真値との差の二乗に等しいコスト値
51は、 #1 (tf.reduce_mean)指定された軸に沿って、テンソルの平均値を算出するための
52である #1 (tf.square )Yzと正方形を算出するための
53である learning_rate = 0.01   )学習率(調整のより大きな速度を示し、より高い数、正確ではなく、その逆
54は、オプティマイザ= tf.train.GradientDescentOptimizer(learning_rate).minimize(コスト)   カプセル化された勾配降下アルゴリズム
55  
56は 
57である #1 #######反復トレーニング######## 
58個の Tensorflowタスクがセッションによって行われる
59 INIT = tf.global_variables_initializer()  、すべての初期化変数
60  #のカスタムパラメータ
61は training_epochs = 20である
 62ことである 2 = display_stop
 63である セッション開始
64  セッション数AS)(tf.Sessionと:
 65      sess.run(INIT)
 66      plotdata = { " のBatchSize ":[]、" 損失":[] }   #のストアバッチ値と損失値
67      のためのエポックにおける範囲(training_epochs):
 68          用の(X、Y)ZIP(train_X、train_Y):
 69              sess.run(オプティマイザ、feed_dict = {X-:X、Y:Y })
 70  
71である         トレーニングの詳細表示
72          IFエポック%のdisplay_stopの== 0:
 73である、              損失= sess.run(コスト、feed_dict = {:train_X、Y train_Y X-})
 74              プリント" エポック:"。、+エポック1、" コスト= "損失、" Wは= "sess.run(Wである)、" B = "sess.run(B))
 75 IF ていない(損失== " NA ):
 76                  plotdata [ ' のBatchSize ' ]。
(エポック)追加77                  plotdataを[              " 損失" ] .append(損失)
 78  
79      プリント" 完成!" 80      プリント" コスト= "、sess.run(コスト、feed_dict = {X:train_X、Y:train_Y})、" W = "、 sess.run(W)、" B = " 、sess.run(B))
 81  
82      训练模型可视化
83      plt.plot(train_X、train_Y、' RO '、ラベル= " オリジナルデータ" 84      plt.plot( train_X、sess.run(W)* train_X + sess.run(b)は、ラベル=" Fittedline " 85      plt.legend()
 86      plt.show()
 87  
88      plotdata [ ' avgloss ' ] = moving_average(plotdata [ " 損失" ])
 89      plt.figure(1 90      plt.subplot(211 91      PLT .PLOT(plotdata [ " バッチサイズ" ]、plotdata [ ' avgloss ' ]、' b-- ' 92      plt.ylabel(" 損失" 93     plt.title(" RUNトレーニング損失対Minibatch FC " 94      plt.show()
 95  
96  
97  #######使用モデル######## 
98      印刷" モデルを使用します:\ n \ N- ' 99      プリント" X = 0.2、Z = "、sess.run(Z、X-feed_dict = {。} 0.2))

最後に、広告を作る:啓発のPython:私のマイクロチャネル公共番号を懸念皆を歓迎するクロール爬虫類の多数を得るために、Pythonのコンテンツクローラ、データ分析、データソースの詳細については

おすすめ

転載: www.cnblogs.com/ss-py/p/11575546.html