tensorflow一元二次函數擬合

先看下要做的內容,創建一元二次函數y=x平方-0.5,其中為了更符合散點圖模擬需要,在方程加噪點,以標準方差0.05行駛,如圖所示

折線圖

散點圖

下面我們要做的,是要計算機自動擬合出該散點圖的函數,畫出圖樣,如圖

下面,就通過TensorFlow來看如何做出這個樣子

在TensorFlow中,首先定義

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
?
#定義隱藏層
def add_layer(inputs,in_size,out_size,activation_function=None):
? ? Weights=tf.Variable(tf.random_normal([in_size,out_size])) ?#權值
? ? biases=tf.Variable(tf.zeros([1,out_size])+0.1) #偏置
? ? Wx_plus_b=tf.matmul(inputs,Weights)+biases ?#z=wx+b
? ? if activation_function is None:
? ? ? ? outputs=Wx_plus_b
? ? else:
? ? ? ? outputs=activation_function(Wx_plus_b)
? ? return outputs
?
#make up some real data
x_data=np.linspace(-1,1,300)[:,np.newaxis]#加維度
noise=np.random.normal(0,0.05,x_data.shape)#加噪點,標準方差0.05
y_data=np.square(x_data)-0.5+noise ? ?#y=square(x)-0.5+noise
?
#train_step所要輸入的值
xs=tf.placeholder(tf.float32,[None,1])
ys=tf.placeholder(tf.float32,[None,1])
###建立第一,二次隱藏層layer
###add_layer(inputs,in_size,out_size,activation_function=None)
l1=add_layer(xs,1,10,activation_function=tf.nn.relu)#激勵函數(activation_function)ReLU
prediction=add_layer(l1,10,1,activation_function=None)
?
#創建損失函數
loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),
? ? ? ? ? ? ? ?reduction_indices=[1]))
train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss)#梯度下降優化器,減少誤差,學習效率0.1
?
#important step
init=tf.initialize_all_variables()
sess=tf.Session()
sess.run(init)
?
#繪圖部分
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.scatter(x_data,y_data)
plt.ion()#不暫停
plt.show()
?
#學習1000步
for i in range(1000):
? ? sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
? ? if i%50==0:
? ? ? ? #print(sess.run(loss,feed_dict={xs:x_data,ys:y_data})) #輸出誤差
? ? ? ? try:
? ? ? ? ? ? ax.lines.remove(lines[0])
? ? ? ? except Exception:
? ? ? ? ? ? pass
? ? ? ? ? ??
? ? ? ? prediction_value=sess.run(prediction,feed_dict={xs:x_data})
? ? ? ? lines=ax.plot(x_data,prediction_value,'r',lw=5)
? ? ? ? plt.pause(0.1)
輸出誤差截圖,每50次輸出一次,截圖如下


誤差逐漸遞減的截圖

這樣就完成了

---------------------?
作者:QianLingjun?
來源:CSDN?
原文:https://blog.csdn.net/wsljqian/article/details/77754878?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386885.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hibernate緩存機制與N+1問題

在項目中遇到的趣事 本文基于hibernate緩存機制與N1問題展開思考&#xff0c; 先介紹何為N1問題 再hibernate中用list()獲得對象&#xff1a; 1 /**2 * 此時會發出一條sql&#xff0c;將30個學生全部查詢出來3 */4 List<Student> …

lambda函數 RUNOOB python練習題49

用來練手的python練習題&#xff0c;原題鏈接python練習實例49 該練習題主要是關于lambda函數的使用方法&#xff0c;本文就python中的lambda函數做出一點總結。 1. lambda函數的定義與調用 在python中&#xff0c;我們都知道使用def關鍵詞來定義一個函數, 例如一個最簡單的…

kubernetes(k8s)安裝部署

Kubernetes是一個開源的&#xff0c;用于管理云平臺中多個主機上的容器化的應用&#xff0c;Kubernetes的目標是讓部署容器化的應用簡單并且高效,Kubernetes提供了應用部署&#xff0c;規劃&#xff0c;更新&#xff0c;維護的一種機制。 Kubernetes一個核心的特點就是能夠自主…

react typescript 子組件調用父組件

//父組件 import * as React from reactimport { Input } from antdconst Search Input.Searchimport "./index.less"import Child from "./compon/list" interface IProps { MakeMoney?: () > void //暴露方法} export default class ProjectLis…

python random隨機數 RUNOOB python練習題50

用來練手的python練習題&#xff0c;原題鏈接: python練習實例50、 該練習題主要包含了random模塊隨機數的應用&#xff0c;下面給出幾個常用的模塊內函數。 1. 生成浮點型隨機小數 最簡單的&#xff0c;就是用random函數&#xff0c;生成 [0.0,1.0)[0.0, 1.0)[0.0,1.0)范圍…

Spring Cloud Eureka Consul使用和對比

Spring Cloud簡介 最大的區別是Eureka保證AP, Consul為CP。 Consul強一致性(C)帶來的是&#xff1a; 服務注冊相比Eureka會稍慢一些。因為Consul的raft協議要求必須過半數的節點都寫入成功才認為注冊成功 Leader掛掉時&#xff0c;重新選舉期間整個consul不可用。保證了強一致…

符號 RUNOOB python練習題 51

用來練手的python練習題&#xff0c;原題鏈接: python練習實例51 python中的 & 和 | 使用過程中&#xff0c;變量類型不同&#xff0c;這兩個符號的作用也不同。 1. 對于數字變量&#xff0c;&\&& 和 ∣|∣ 用于逐位運算 # 二進制逐位邏輯與門運算 a 0b110…

Eclipse里的快捷鍵

MyEclipse 快捷鍵1(CTRL) ------------------------------------- Ctrl1 快速修復 CtrlD: 刪除當前行 CtrlQ 定位到最后編輯的地方 CtrlL 定位在某行 CtrlO 快速顯示 OutLine CtrlT 快速顯示當前類的繼承結構 CtrlW 關閉當前Editer CtrlK 快速定位到下一個 CtrlE 快…

Python打印楊輝三角形 RUNOOB python練習題61

用來練手的python練習題&#xff0c;原題鏈接: python練習實例61 題干: 打印出楊輝三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 實現代碼如下: import numpy as nptable…

使用Docker快速搭建Tensorflow開發環境

當我剛開始學習使用scikit-learn時&#xff0c;總是會出現各種各樣的包依賴問題&#xff0c;兜兜轉轉了一遍才全部安裝好&#xff0c;現在的機器學習算法開發者大都使用tensorflow、pytorch來實現自己的想法&#xff0c;但依然會面臨各種包版本和依賴的問題&#xff0c;有一段時…

Java服務GC參數調優案例

這段時間在整理jvm系列的文章&#xff0c;無意中發現本文&#xff0c;作者思路清晰通過步步分析最終解決問題。我個人特別喜歡這種實戰類的內容&#xff0c;經原作者的授權同意&#xff0c;將文章分享于此。原文鏈接&#xff1a;Java服務GC參數調優案例&#xff0c;下面為轉載此…

RUNOOB python 67 數組的元素互換

用來練手的Python練習題&#xff0c;原題鏈接:python練習實例67 題干: 輸入數組&#xff0c;最大的與第一個元素交換&#xff0c;最小的與最后一個元素交換&#xff0c;輸出數組 代碼如下: import numpy as nptable np.array([10,4,9,3,11,25,37,15,2,231,672,22]) #定義sw…

11.13 ethtool:查詢網卡參數

ethtool命令用于查詢或設置網卡參數。ethtool [devname][rootlinuxprobe ~]# ethtool eth0Settings for eth0:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: NoSupports au…

微信小程序、微信公眾號、H5之間相互跳轉

一、小程序和公眾號 答案是&#xff1a;可以相互關聯。 在微信公眾號里可以添加小程序。 圖片有點小&#xff0c;我把文字打出來吧&#xff1a; 可關聯已有的小程序或快速創建小程序。已關聯的小程序可被使用在自定義菜單和模版消息等場景中。 公眾號可關聯同主體的10個小程…

數組元素前移后移 RUNOOB python練習題 68

用來練手的python練習題&#xff0c;原題鏈接: python練習實例68 題干: 有 n 個整數&#xff0c;使其前面各數順序向后移 m 個位置&#xff0c;最后 m 個數變成最前面的 m 個數 代碼如下: import numpy as np # 構造一個儲存了n個整數的numpy數組 def numbers_input(n):a n…

LRU緩存簡單實現

緩存接口定義 /*** 緩存接口* * author zhi**/ public interface ICache<K, V> {/*** 添加緩存數據* * param key* param value*/void put(K key, V value);/*** 獲取緩存數據* * param key* return*/V get(K key);/*** 刪除緩存數據* * param key* return*/V remove(K k…

Mac Eclipse安裝lombok

Lombok是一個可以通過注解的形式可以幫助消除一些必須但是顯得很臃腫的Java代碼的工具&#xff0c;通過使用對應的注解&#xff0c;可以在進行編譯源碼的時候生成對應的方法&#xff0c;比如類屬性的get/set/toString()/類的構造方法等. 下面記錄一下在Mac Eclipse是如何安裝Lo…

tf.reduce_sum()方法深度解析

首先看一下reduce_sum及其參數的注釋 : def tf.reduce_sum(input_tensor, axisNone, keepdimsFalse, nameNone) Computes the sum of elements across dimensions of a tensor. Reduces input_tensor along the dimensions given in axis. Unless keepdims is true, the rank o…

主成分分析(PCA)原理詳解_轉載

一、PCA簡介 1. 相關背景 在許多領域的研究與應用中&#xff0c;往往需要對反映事物的多個變量進行大量的觀測&#xff0c;收集大量數據以便進行分析尋找規律。多變量大樣本無疑會為研究和應用提供了豐富的信息&#xff0c;但也在一定程度上增加了數據采集的工作量&#xff0c;…