windows10 tensorflow(二)原理實戰之迴歸分析,深度
TF基本原理與概念理解:
模型:
一個簡單的線性迴歸y = W * x + b,採用numpy構建完整迴歸資料,並增加干擾噪聲
import numpy as np#建立一個一元線性迴歸方程y=0.1x1+0.3 ,同時一個正太分佈偏差np.random.normal(0.0,0.03)用於見證TF的演算法num_points=1000vectors_set=[]for i in range(num_points): x1=np.random.normal(loc=0.0,scale=0.66) y1=x1*0.1+0.3+np.random.normal(0.0,0.03) vectors_set.append([x1,y1]) x_data=[v[0] for v in vectors_set] y_data=[v[1] for v in vectors_set]12345678910
Graphic display出資料分佈結果
import matplotlib.pyplot as plt#https://www.cnblogs.com/zqiguoshang/p/5744563.html##line_styles=['ro-','b^-','gs-','ro--','b^--','gs--'] #set line styleplt.plot(x_data,y_data,'ro',marker='^',c='blue',label='original_data') plt.legend() plt.show()123456
透過TensorFlow程式碼找到最佳的引數W與b,使的輸入資料x_data,生成輸出資料y_data,本例中將會一條直線y_data=W*x_data+b。讀者知道W會接近0.1,b接近0.3,但是TensorFlow並不知道,它需要自己來計算得到該值。因此採用梯度下降法來迭代求解資料
import tensorflow as tf import math#一、建立graph資料#隨便構建一個一元迴歸方程的引數W與bW=tf.Variable(tf.random_uniform([1], minval=-1.0, maxval=1.0)) b=tf.Variable(tf.zeros([1]))y=W*x_data+b#定義下面的最小化方差#1.定義最小化誤差平方根loss=tf.reduce_mean(tf.square(y-y_data))#2.learning_rate=0.5optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.5)#3.最最佳化最小值train=optimizer.minimize(loss)#二、初始化變數init=tf.global_variables_initializer()#三、啟動graphsess=tf.Session() sess.run(init) for step in range(8): sess.run(train) print("step={},sess.run=(W)={},sess.run(b)={}".format(step,sess.run(W),sess.run(b)))1234567891011121314151617181920212223242526
以下是迭代8次的結果。梯度就像一個指南針,指引我們朝著最小的方向前進。為了計算梯度,TensorFlow會對錯誤函式求導,在我們的例子中就是,演算法需要對W和b計算部分導數,以在每次迭代中為前進指明方向。
下面是每次迭代的視覺化效果圖:
#Graphic display # print(sub_1+'41') #注意:各引數可以用逗號,分隔開。第一個引數代表子圖的行數;第二個引數代表該行影像的列數; 第三個引數代表每行的第幾個影像,從左致右,從上到下一次增加。 plt.subplot(4,2,step+1) plt.plot(x_data,y_data,'ro') plt.plot(x_data,sess.run(W)*x_data+ sess.run(b),label=step) plt.legend() plt.show()123456789
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4560/viewspace-2803283/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習入門實戰(二)- 用 TensorFlow 訓練線性迴歸深度學習
- 機器學習實戰之Logistic迴歸機器學習
- TensorFlow實現線性迴歸
- Tensorflow教程(前二)——多項式迴歸
- Python TensorFlow深度學習迴歸程式碼:DNNRegressorPython深度學習DNN
- Maven實戰與原理分析(二):maven實戰Maven
- Logistic迴歸、softmax迴歸以及tensorflow實現MNIST識別
- 線性迴歸實戰
- 利用TensorFlow實現多元線性迴歸
- 利用TensorFlow實現多元邏輯迴歸邏輯迴歸
- 利用TensorFlow實現線性迴歸模型模型
- 利用Tensorflow實現邏輯迴歸模型邏輯迴歸模型
- Python TensorFlow深度神經網路迴歸:keras.SequentialPython神經網路Keras
- 量化交易 實戰之迴歸法選股 part 2
- 機器學習-邏輯迴歸:從技術原理到案例實戰機器學習邏輯迴歸
- 深度學習TensorFlow基本資料型別及迴歸演算法深入實踐-Coding技術進階實戰深度學習資料型別演算法
- 深度學習:TensorFlow入門實戰深度學習
- 深度學習之tensorflow2實戰:多輸出模型深度學習模型
- 《深度學習之TensorFlow:入門、原理與進階實戰》PDF+原始碼+李金洪深度學習原始碼
- 機器學習之迴歸分析--預測值機器學習
- 2-7實戰迴歸模型模型
- 機器學習實戰(一)—— 線性迴歸機器學習
- 【TensorFlow篇】--Tensorflow框架初始,實現機器學習中多元線性迴歸框架機器學習
- python實現線性迴歸之簡單迴歸Python
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 基於TensorFlow的深度學習實戰深度學習
- 《深度學習原理與Pytorch實戰》(第二版)深度學習PyTorch
- Tensorflow教程(前三)——邏輯迴歸邏輯迴歸
- 數值分析:最小二乘與嶺迴歸(Pytorch實現)PyTorch
- 偏最小二乘(pls)迴歸分析 matlabMatlab
- Redis GEO & 實現原理深度分析Redis
- 【Java面試題】之CAS原理深度分析Java面試題
- Java: 實現自迴歸分析/線性迴歸分析/基金各項指標計算等Java指標
- [機器學習實戰-Logistic迴歸]使用Logistic迴歸預測各種例項機器學習
- 前言以及迴歸分析
- 迴歸分析類別
- 【深度學習 01】線性迴歸+PyTorch實現深度學習PyTorch
- [Python人工智慧] 二.theano實現迴歸神經網路分析Python人工智慧神經網路