1. 程式人生 > >用tensorflow求解吳恩達的機器學習練習題(ex1)

用tensorflow求解吳恩達的機器學習練習題(ex1)

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf


a=np.loadtxt('ex1data1.txt',delimiter=',');    #載入txt資料
x=a[:,0]                                       #x為資料的第一列
y=a[:,1]                                       #y為資料的第二列
y=y.reshape(97,1)                              #這一步是確定y的列數,不然y的列數為空
m=y.shape[0]                                   #確定行數
temp=np.ones((m,1))                            
x=np.c_[temp,x]                                #在自變數左側增加一列1,這樣就不用b了
theta=tf.Variable([[0.0],[0.0]])               #初始化theta的值,2行1列
x=x.astype(np.float32)                         #使x與theta的變數型別一致
h=tf.matmul(x,theta)                           #矩陣相乘  [97,2]*[2,1]=[97,1],即Wi*Xi+b
loss=tf.reduce_mean(tf.square(h-y)/2)          #計算損失值
optimizer=tf.train.GradientDescentOptimizer(0.015)     #運用梯度下降演算法,學習率為0.015
train=optimizer.minimize(loss)                         #最小化損失值
init=tf.initialize_all_variables()                     #初始化tensorflow變數  
sess=tf.Session()                                      #開啟session
sess.run(init)                                         #初始化
for step in range(1000):                               #執行優化迴圈
    sess.run(train)                                    #訓練
    plt.plot(x[:,1],y,'rx')                            #原始資料點標記
    plt.plot(x[:,1],sess.run(h))                       #繪製優化曲線
    plt.show()                                         
    print(sess.run(loss))                              #列印當前損失值

相關推薦

機器學習筆記 —— 支持向量機SVM

次數 括號 圖片 最小 我們 支持向量機svm UNC 意思 strong 主要內容: 一.損失函數 二.決策邊界 三.Kernel 四.使用SVM 一.損失函數 二.決策邊界 對於: 當C非常大時,括號括起來的部分就接近於0,所以就變成了:

機器學習筆記,含作業及附加題答案連結

吳恩達機器學習筆記(一) 標籤(空格分隔): 機器學習 吳恩達機器學習筆記一 一機器學習簡介 機器學習的定義 監督學習 非監督學習

演算法工程師修仙之路:機器學習作業

吳恩達機器學習筆記及作業程式碼實現中文版 第一個程式設計作業:單變數線性迴歸(python程式碼實現) 一元線性迴歸 問題描述 在本練習的這一部分中,您將使用只有單變數的線性迴歸方法預測餐車的利潤。 假設你是一家連鎖餐廳的執行長,正在

機器學習筆記5—— 神經網路

本教程將教大家如何快速簡單的搭起一個自己的部落格,並不會系統的教會你如何建站,但是可以讓掌握建站的基礎對以後web學習有一定的幫助。 購買一個域名 域名就相當於地址,我們就是通過域名來訪問我們的網站,現在萬網和騰訊雲都有廉價域名賣,首年大概1-5元一年吧。

機器學習作業:支援向量機

目錄 1)資料預處理 2)Scikit-learn支援向量機 3)決策邊界比較 4)非線性SVM 5)最優超引數 6)垃圾郵件過濾器 在本練習中,我們將使用支援向量機(SVM)來構建垃圾郵件分類器。 我們將從一些簡單的2D資料集開始使用SVM來檢視它們的工作原理。

機器學習筆記-應用機器學習的建議

第十一章 應用機器學習的建議決定下一步做什麼    當要設計機器學習系統時,如何選擇一條最適合最高效的道路?    假設你已經實現了正則化的線性迴歸來預測房屋價格,然而,當在一組新的測試集上使用該假設時

機器學習課程之梯度下降原理

梯度下降法 對於線性迴歸分析,我們將假設函式定義為h(x)=θ0+θ1x1+⋯+θnxn 令x0=1,記x=(x0x1⋯xn),θ=⎛⎝⎜⎜⎜⎜θ0θ1⋮θn⎞⎠⎟⎟⎟⎟ 因為假設函式與引數θ有關,記hθ(x)=h(x)=xθ 對於每一

機器學習筆記附程式設計作業連結

吳恩達機器學習筆記(二) 標籤: 機器學習 一.邏輯迴歸(logistic regression) 1.邏輯函式&&S型函式(logistic function and sigmoid function) 線性迴歸的假設表示

tensorflow求解機器學習練習題ex1

# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import tensorflow as tf a=np.loadtxt('ex1data1.txt',delimiter=','); #載入txt資

機器學習筆記week 8----聚類

宣告:本文只用於學習交流,若不慎侵權,請及時聯絡我,立即予以刪除 一  聚類  監督學習與無監督學習 從上面可以看出,監督學習中training資料帶有標籤y,而無監督學習中training資料則沒有標籤y 2.  K-means 演算法 以下是該演算法的圖形演

機器學習筆記十五

原創部落格,轉載請註明出處! 1、目標I :資料壓縮 開始談論第二種型別的無監督學習問題,稱為降維。有幾個不同的的原因使你可能想要做降維。一是資料壓縮,後面我們會看了一些視訊後,資料壓縮不僅允許我們壓縮資料,因而使用較少的計算機記憶體或磁碟空間,它還能讓我們加快我們的學習演算法。 假設我

機器學習筆記十二-支援向量機

第十三章 支援向量機(SVM)優化目標支援向量機在學習複雜的非線性方程時能夠提供一種更為清晰個更加強大的方式。    先回顧一下邏輯迴歸的相關概念,看如何進行改動可以得到支援向量機。邏輯迴歸的假設函式為

機器學習程式設計題ex1下 多變數線性迴歸: (python版含題目要求、程式碼、註解)

在這部分中,你將使用多變數線性迴歸去預測房屋價格,假設你要賣掉房子而且你想知什麼是一個好的市場價格,去做的一個方式就是首先收集最近出售的房子資訊並製作房屋價格的模型,檔案ex1data2/txt包含了一個房屋價格在Portland的訓練集,第一列是房子大小,第二列是臥室的

機器學習程式設計題ex1上 單變數線性迴歸: (python版含題目要求、程式碼、註解)

不得不說安卓老師是真的用心良苦,給我們把程式設計題弄成了填空題,但是很可惜原版使用的是Octave和MATLAB所以作為初學者我就直接當程式設計題用python去做了 問題:讓你繪製一個5階單位陣 答案:   在本練習的這一部分,你將應用線性迴歸來實現通

機器學習筆記十六-推薦系統

第十七章推薦系統問題規劃    這一章中將討論推薦系統的有關內容,它是在機器學習中的一個重要應用。    機器學習領域的一個偉大思想:對於某些問題,有一些演算法可以自動地學習一系列合適的特徵,比起手動設

深度學習筆記 —— Batch Normalization

學習 bat 中括號 和平 一個 內容 batch 可能 加權 主要內容: 一.Batch Norm簡介 二.歸一化網絡的激活函數 三.Batch Norm擬合進神經網絡 四.測試時的Batch Norm 一.Batch Norm簡介 1.在機器學習中,我們一般

深度學習筆記 —— ResNets殘差網絡

con 一個 學習 ets str 帶來 圖片 梯度 就是 (好累……,明日在寫……) 主要內容: 一.殘差網絡簡介 二.identity block 和 convolutional block 一.殘差網絡簡介 1.深度神經網絡很大的一個優點就是能夠表示一個

深度學習筆記3-神經網路如何實現監督學習

神經網路的監督學習(Supervised Learning with Neural Networks) 關於神經網路也有很多的種類,考慮到它們的使用效果,有些使用起來恰到好處,但事實表明,到目前幾乎所有由神經網路創造的經濟價值,本質上都離不開一種叫做監督學習的機器學習類別,讓我們舉例看看。

深度學習筆記4-為什麼深度學習會興起?

為什麼深度學習會興起?(Why is Deep Learning taking off?) 本節視訊主要講了推動深度學習變得如此熱門的主要因素。包括資料規模、計算量及演算法的創新。(3個重點概念!請背書!) 深度學習和神經網路之前的基礎技術理念已經存在大概幾十年了,為什麼它們現在才突

深度學習總結15

自然語言處理與詞嵌入 詞彙表徵 基於遷移學習訓練word embedding 步驟 類比推理演算法 Embedding matrix skip gram CBOW 負取樣 GloVe