使用tensorflow的多項式回歸的例子(一)

多項式回歸

1

%matplotlib inline

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

trX = np.linspace(-1, 1, 101)

num_coeffs = 6

trY_coeffs = [1, 2, 3, 4, 5, 6]

trY = 0

for i in range(num_coeffs):

trY += trY_coeffs[i] * np.power(trX, i)

trY += np.random.randn(*trX.shape) * 1.5

plt.scatter(trX, trY)

plt.show()

trX=tf.cast(trX,tf.float32)

trY=tf.cast(trY,tf.float32)

#y_model = model(X, w)

def model(X, w):

??? terms = []

??? for i in range(num_coeffs):

??????? term = tf.multiply(w[i], tf.pow(X, i))

??????? terms.append(term)

??? return tf.add_n(terms)

def loss(x, y,w):

??? err = model(x,w) - y

??? return tf.reduce_mean(tf.square(err))

def grad(x,y,w):

??? with tf.GradientTape() as tape:

??????? loss_ = loss(x,y,w)

??? return tape.gradient(loss_,[w])

learning_rate = 0.01

training_epochs = 200

W = tf.Variable(np.random.randn(6),dtype=tf.float32)

loss_list_train = []

optimizer = tf.optimizers.Adam()

for i in range(training_epochs):

??? for (x, y) in zip(trX, trY):

??????? grads=grad(trX, trY,W)

??????? optimizer.apply_gradients(zip(grads,[W]))

??????? loss_train =loss(x,y,W).numpy()

??????? loss_list_train.append(loss_train)

??? if i % 20 == 0:

?????????? print("Iteration {}, loss: {}".format(i, loss_train))

w_val = W

print(w_val.numpy())

plt.scatter(trX, trY)

trY2 = 0

for i in range(num_coeffs):

??? trY2 += w_val[i] * np.power(trX, i)

plt.plot(trX, trY2, 'r')

plt.show()

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

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

相關文章

STM32F103C8T6基于HAL庫驅動NB-IoT模塊BC26通信詳 解

一、引言: NB-IoT技術與應用場景NB-IoT( Narrow Band Internet of Things )作為低功耗廣域網( LPWAN )的核心技術,以其廣覆 蓋、低功耗、大連接、低成本的特性,廣泛應用于智能表計、環境監測、…

iOS 性能測試工具全流程:主流工具實戰對比與適用場景

在iOS開發中,性能優化往往被安排到開發后期,甚至上線前才臨時補救。但性能瓶頸通常是架構設計、資源加載、動畫機制等多方面共同作用的結果,僅憑肉眼感知和log輸出,難以精準定位。 一套合適的性能測試工具組合,不僅能幫…

目標檢測:視覺系統中的CNN-Transformer融合網絡

一、背景 無人機(UAVs)在城市自動巡邏中發揮著重要作用,但它們在圖像識別方面面臨挑戰,尤其是小目標檢測和目標遮擋問題。此外,無人機的高速飛行要求檢測系統具備實時處理能力。 為解決這些問題,我們提出了…

揭示宇宙的隱藏對稱性:群論-AI云計算拓展核心內容

通過利用云計算,借助群論對宇宙對稱性的探索,從離散群和李群等基礎概念,逐步深入到量子力學和更高自旋系統中的高級應用。 對稱性遠不止是美學上的吸引力;它是編織在宇宙結構中的一個基本原則。從雪花的復雜圖案到控制粒子的基本定…

前端項目vue3項目集成eslint@9.x跟prettier

tips: 這些涉及編輯器的修改不一定能及時生效,如果沒有生效,可以試試重啟編輯器窗口 編輯器集成 我的編輯器是vscode,需要安裝這兩個編輯器插件eslint prettier我這個配置主要是通過eslint提供的配置cli命令生成,在里面加入了對pr…

登錄超時問題的排查方法與預防經驗分享

??一、排查方法????檢查網絡連接??確保網絡穩定,嘗試重啟路由器或切換網絡(如從WiFi切換到移動數據)。使用命令(如 ping 或 traceroute)測試網絡連通性,排查是否存在丟包或高延遲。??驗證服務端狀…

uniapp,Anroid10+版本如何保存圖片并刪除

Android 10系統開始 進一步增強了平臺功能,為外部存儲設備上的應用和用戶數據提供了更好的保護。作為這項工作的一部分,平臺引入了進一步的改進,以簡化向分區存儲的轉換。 為了讓用戶更好地控制自己的文件,保護用戶隱私數據&#…

Jenkins Pipeline 語法

Pipeline 簡介 Jenkins2.x 的核心是使用 pipeline 來構建項目,也就是流水線,將 Jenkins1.0 版本中基于表單的配置信息比如 JDK/SVN 以及參數的配置都轉變成了代碼,即 pipeline as Code。 傳統的表單方式有以下缺點: 需要大量的 web 表單交互,有時候需要進行很多次的切換…

搭建滲透測試環境

一、基于docker搭建靶場 #此步驟需要科學上網 #從軟件源中下載 docker.io 和 docker -compose 軟件包及其依賴項。 sudo apt-get install docker.io docker-compose #查看docker版本 docker -v #查看docker信息 docker info #重啟docker服務 sudo systemctl daemon-reload sudo…

(一)OpenCV——噪聲去除(降噪)

高斯濾波器(針對高斯噪聲) 高斯噪聲是指它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。常見的高斯噪聲包括起伏噪聲、宇宙噪聲、熱噪聲和散粒噪聲等等。 高斯濾波(Gaussian filter) 包含許多種,包括低通、帶…

百度開源文心 4.5 系列開源大模型 GitCode 本地化部署,硅基流動:文心 vs. DeepSeek vs. Qwen 3.0 深度測評

百度開源文心 4.5 系列開源大模型 GitCode 本地化部署,硅基流動:文心 vs. DeepSeek vs. Qwen 3.0 深度測評 文章目錄百度開源文心 4.5 系列開源大模型 GitCode 本地化部署,硅基流動:文心 vs. DeepSeek vs. Qwen 3.0 深度測評背景百…

「日拱一碼」022 機器學習——數據劃分

目錄 基于單次隨機劃分的方法 普通單次隨機劃分(train_test_split) 分層單次隨機劃分(使用 train_test_split 的 stratify 參數) 基于多次隨機劃分的方法 普通多次隨機劃分(ShuffleSplit) 分層多次隨機劃分(StratifiedShuffleSplit…

lora網關

所需配置的引腳,SPI傳輸,PG13復位(輸出引腳,推挽輸出),PE2忙碌(輸入引腳,浮空輸入)PE6PE5輸出。若利用延時處理按鍵消抖,hal庫里用systick中斷實現延時&#…

5G IMS注冊關鍵一步:UE如何通過ePCO獲取P-CSCF地址

看似簡單的P-CSCF地址傳遞,背后是5G核心網控制面與用戶面的精密協作。ePCO作為高效的信令載體,承載著IMS業務觸達的第一把鑰匙。 在5G網絡中建立IMS PDN連接時,UE(用戶設備)獲取P-CSCF(Proxy-Call Session Control Function)地址是IMS業務(如VoLTE、VoNR)成功注冊和運…

JVM方法區的運行時常量區到底存儲哪些數據?

JDK8以后,運行時常量池邏輯上屬于方法區;但: 其中的字符串常量池實際位置移至到了java堆;其中一些符號引用也存儲到了元空間;字符串常量池,元空間,運行時常量區的具體關系請看這篇博客&#xf…

Go defer(二):從匯編的角度理解延遲調用的實現

Go的延遲調用機制會在當前函數返回前執行傳入的函數,它會經常被用于關閉文件描述符、關閉數據庫連接以及解鎖資源。之前的文章( Go defer(一):延遲調用的使用及其底層實現原理詳解 )詳細介紹了defer的使用以…

Android 12系統源碼_分屏模式(一)從最近任務觸發分屏模式

前言 打開MainActivity,然后進入最近任務觸發分屏,可以成功進入分屏模式。 本篇文章我們來具體梳理一下這個過程的源碼調用流程。 一 launcher3階段 1.1 源碼 //packages/apps/Launcher3/quickstep/src/com/android/quickstep/views/TaskView.java publi…

Flask 入門教程:用 Python 快速搭建你的第一個 Web 應用

文章目錄前言一、什么是 Flask?📌 Flask 的優勢1. 輕量靈活2. 易于上手3. 可擴展性強4. 自由度高5. 社區活躍,資料豐富Flask 主要用來做什么?二、Flask快速入門1.創建一個Flask項目2.開啟debug,修改host,端…

實習第一個小需求樣式問題總結

Vue2 vxe-table Element UI 表頭下拉詳情實現總結一、核心功能實現表頭下拉按鈕交互初始嘗試 expand-change 事件無法滿足需求&#xff0c;改用 vxe-table 的 toggle-row-expand 事件&#xff1a;<vxe-table toggle-row-expand"handleExpandChange"><temp…

Linux中LVM邏輯卷擴容

在Linux系統中對根目錄所在的LVM邏輯卷進行擴容&#xff0c;需要依次完成 物理卷擴容 ? 卷組擴容 ? 邏輯卷擴容 ? 文件系統擴容 四個步驟。以下是詳細操作流程&#xff1a;一、確認當前磁盤和LVM狀態# 1. 查看磁盤空間使用情況 df -h /# 2. 查看塊設備及LVM層級關系 lsblk# …