成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

免費Python機器學習課程一:線性回歸算法

人工智能 機器學習 算法
如今,可用的高級機器學習算法,庫和技術(shù)如此之多,以至于線性回歸似乎并不重要。但是,學習基礎(chǔ)知識總是一個好主意。這樣,您將非常清楚地理解這些概念。在本文中,我將逐步解釋線性回歸算法。

最基本的機器學習算法必須是具有單個變量的線性回歸算法。如今,可用的高級機器學習算法,庫和技術(shù)如此之多,以至于線性回歸似乎并不重要。但是,學習基礎(chǔ)知識總是一個好主意。這樣,您將非常清楚地理解這些概念。在本文中,我將逐步解釋線性回歸算法。

[[358749]]

想法和公式

線性回歸使用非常基本的預測思想。公式如下:

Y = C + BX

我們在學校都學過這個公式。提醒您,這是一條直線方程。在此,Y是因變量,B是斜率,C是截距。通常,對于線性回歸,它寫為:

免費Python機器學習課程一:線性回歸算法

在這里," h"是假設(shè)或預測的因變量,X是輸入特征,theta0和theta1是系數(shù)。Theta值從頭開始隨機初始化。然后使用梯度下降,我們將更新theta值以最小化成本函數(shù)。這是成本函數(shù)和梯度下降的解釋。

成本函數(shù)和梯度下降

成本函數(shù)確定預測與原始因變量的距離。這是公式

免費Python機器學習課程一:線性回歸算法

任何機器學習算法的想法都是最小化成本函數(shù),以使假設(shè)接近于原始因變量。為此,我們需要優(yōu)化theta值。如果我們分別基于theta0和theta1取成本函數(shù)的偏導數(shù),則會得到梯度下降。要更新theta值,我們需要從相應(yīng)的theta值中減去梯度下降:

免費Python機器學習課程一:線性回歸算法

經(jīng)過偏導數(shù)后,以上公式將變?yōu)椋?/p>

免費Python機器學習課程一:線性回歸算法

此處,m是訓練數(shù)據(jù)的數(shù)量,而alpha是學習率。我正在談?wù)撘环N變量線性回歸。這就是為什么我只有兩個theta值的原因。如果有很多變量,則每個變量都有theta值。

工作實例

我將要使用的數(shù)據(jù)集來自安德魯·伍(Andrew Ng)的Coursera機器學習課程。這是在Python中逐步實現(xiàn)線性回歸的過程。

(1) 導入包和數(shù)據(jù)集。

  1. import numpy as np 
  2. import pandas as pd 
  3. df = pd.read_csv('ex1data1.txt', header = None
  4. df.head() 
免費Python機器學習課程一:線性回歸算法

在此數(shù)據(jù)集中,列零是輸入要素,列1是輸出變量或因變量。我們將使用列0使用上面的直線公式預測列1。

(2) 將第1列與第0列相對應(yīng)。

免費Python機器學習課程一:線性回歸算法

輸入變量和輸出變量之間的關(guān)系是線性的。當關(guān)系為線性時,線性回歸效果最佳。

(3) 初始化theta值。我正在將theta值初始化為零。但是任何其他值也應(yīng)該起作用。

  1. theta = [0,0] 

(4) 根據(jù)前面討論的公式定義假設(shè)和成本函數(shù)。

  1. def hypothesis(theta, X):  
  2.     return theta[0] + theta[1]*X 
  3.  
  4. def cost_calc(theta, X, y):  
  5.     return (1/2*m) * np.sum((hypothesis(theta, X) - y)**2) 

(5) 計算訓練數(shù)據(jù)的數(shù)量作為DataFrame的長度。然后定義梯度下降函數(shù)。在此函數(shù)中,我們將更新theta值,直到cost函數(shù)達到最小值為止。可能需要任何數(shù)量的迭代。在每次迭代中,它將更新theta值,并使用每個更新的theta值來計算成本以跟蹤成本。

  1. m = len(df) 
  2. def gradient_descent(theta, X, y, epoch, alpha): 
  3.     cost = [] 
  4.     i = 0 
  5.     while i < epoch: 
  6.         hx = hypothesis(theta, X) 
  7.         theta[0] -alpha*(sum(hx-y)/m) 
  8.         theta[1] -= (alpha * np.sum((hx - y) * X))/m 
  9.         cost.append(cost_calc(theta, X, y)) 
  10.         i += 1 
  11.     return theta, cost 

(6) 最后,定義預測函數(shù)。它將從梯度下降函數(shù)獲得更新的theta并預測假設(shè)或預測的輸出變量。

  1. def predict(theta, X, y, epoch, alpha): 
  2.     theta, cost = gradient_descent(theta, X, y, epoch, alpha) 
  3.     return hypothesis(theta, X), cost, theta 

(7) 使用預測函數(shù),找到假設(shè),成本和更新的theta值。我選擇學習率為0.01,然后將這個算法運行2000個時期或迭代。

  1. y_predict, cost, theta = predict(theta, df[0], df[1], 2000, 0.01) 

最終theta值為-3.79和1.18。

(8) 在同一圖中繪制原始y和假設(shè)或預測y。

  1. %matplotlib inline 
  2. import matplotlib.pyplot as plt 
  3. plt.figure() 
  4. plt.scatter(df[0], df[1], label = 'Original y'
  5. plt.scatter(df[0], y_predict, label = 'predicted y'
  6. plt.legend(loc = "upper left"
  7. plt.xlabel("input feature") 
  8. plt.ylabel("Original and Predicted Output") 
  9. plt.show() 
免費Python機器學習課程一:線性回歸算法

假設(shè)圖是公式中所預期的一條直線,并且該直線正在最佳位置通過。

(9) 記住,我們在每次迭代中都跟蹤成本函數(shù)。讓我們繪制成本函數(shù)。

  1. plt.figure() 
  2. plt.scatter(range(0, len(cost)), cost) 
  3. plt.show() 
免費Python機器學習課程一:線性回歸算法

如前所述,我們的目的是優(yōu)化theta值以最小化成本。從該圖可以看出,成本從一開始就急劇下降,然后穩(wěn)定下來。這意味著theta值已按照我們的預期正確優(yōu)化。

我希望這可以幫到你。這是本文中使用的數(shù)據(jù)集的鏈接:

https://github.com/rashida048/Machine-Learning-With-Python/blob/master/ex1data1.txt。

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2020-12-20 20:31:56

Python機器學習多元線性回歸

2020-12-23 07:54:56

Python機器學習邏輯回歸算法

2020-12-22 07:09:01

Python機器學習多項式回歸

2020-12-24 06:54:45

Python機器學習多類分類邏輯回歸

2020-12-25 10:08:53

Python機器學習神經(jīng)網(wǎng)絡(luò)算法

2020-12-27 21:14:06

Python機器學習算法

2014-08-22 10:06:46

機器學習

2020-11-10 08:37:05

Python線性回歸機器學習

2017-05-17 08:24:08

TensorFlow機器學習線性回歸

2020-12-29 06:45:30

Python機器學習K均值聚類

2020-12-28 08:26:51

Python機器學習數(shù)據(jù)集

2021-01-01 14:59:51

Python機器學習算法

2020-07-01 08:48:01

Python機器學習工具

2014-06-30 10:58:02

機器學習

2020-12-16 15:56:26

機器學習人工智能Python

2024-03-01 07:26:49

RustPolars機器學習

2018-08-03 10:30:16

算法回歸機器學習

2023-11-29 14:34:15

機器學習統(tǒng)計學

2017-03-10 12:16:46

機器學習

2024-10-22 10:23:58

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91精品国产91久久综合桃花 | 国产美女一区二区三区 | 一区二区免费看 | 亚洲欧美精品在线观看 | 一级一级毛片免费看 | 久久久久综合 | 日产精品久久久一区二区福利 | 久久久久久久久久久久久久国产 | 国产精品一区二区av | 一级全黄视频 | 欧美日韩福利视频 | 国产精品久久久久免费 | 欧美一区二区三区在线观看视频 | 亚洲国产一区二区三区在线观看 | 在线免费观看成人 | 亚洲中午字幕 | 大伊人久久 | 狠狠插狠狠操 | 国产精品一区二区三区99 | 亚洲第一天堂 | 精品久久久久久久久久久久久久 | 天堂在线中文 | 草久在线 | 91久久电影| 亚洲精品成人 | 国产在线精品一区二区 | 日本免费一区二区三区 | 免费黄色片在线观看 | 日韩不卡一二区 | 午夜一级做a爰片久久毛片 精品综合 | 麻豆av片| 手机看片1 | 久久福利电影 | 亚洲午夜精品视频 | 天天综合天天 | 亚洲精品久久久一区二区三区 | 中文字幕第三页 | 天堂久| 欧美日韩一区二区三区四区 | 午夜影院在线观看 | 在线观看av不卡 |