Python學習筆記之羅吉斯迴歸

來源:互聯網
上載者:User

標籤:

 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Apr 22 17:39:19 2015 4  5 @author: 90Zeng 6 """ 7  8 import numpy 9 import theano10 import theano.tensor as T11 import matplotlib.pyplot as plt12 rng = numpy.random13 N = 400 # 400個樣本14 feats = 784 # 每個樣本的維度15 D = (rng.randn(N, feats), rng.randint(size=N, low=0, high=2))16 training_steps = 1000017 18 # Declare Theano symbolic variables19 x = T.dmatrix("x")20 y = T.dvector("y")21 22 # 隨機初始化權重23 w = theano.shared(rng.randn(feats), name="w")24 # 偏置初始化為 025 b = theano.shared(0.0, name="b")26 print "Initial model:"27 print w.get_value(), b.get_value()28 29 # Construct Theano expression graph30 p_1 = 1 / (1 + T.exp(-T.dot(x, w) - b))   # Probability that target = 131 prediction = p_1 > 0.5                    # The prediction thresholded32 xent = -y * T.log(p_1) - (1-y) * T.log(1-p_1) # Cross-entropy loss function33 lost_avg = xent.mean()34 cost = xent.mean() + 0.01 * (w ** 2).sum()# The cost to minimize35 gw, gb = T.grad(cost, [w, b])             # Compute the gradient of the cost36                                           # (we shall return to this in a37                                           # following section of this tutorial)38 39 # Compile40 train = theano.function(41     inputs=[x,y],42     outputs=[prediction, lost_avg],43     updates=((w, w - 0.1 * gw),(b, b - 0.1 * gb)),44     )45 predict=theano.function(46     inputs=[x], 47     outputs=prediction, 48     )49 50 # Train51 err = []52 for i in range(training_steps):53     pred, er = train(D[0], D[1])54     err.append(er)55 56 print "Final model:"57 print w.get_value(), b.get_value()58 print "target values for D:", D[1]59 print "prediction on D:", predict(D[0])60 61 # 畫出損失函數圖62 x = range(1000)63 plt.plot(x,err[0:1000])

 損失函數隨著迭代次數變化,運行結果:

Python學習筆記之羅吉斯迴歸

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.