国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現(xiàn)機器學習之元線性回歸

2020-02-15 22:54:42
字體:
來源:轉載
供稿:網(wǎng)友

一、理論知識準備

1.確定假設函數(shù)

如:y=2x+7
其中,(x,y)是一組數(shù)據(jù),設共有m個

2.誤差cost

用平方誤差代價函數(shù)

這里寫圖片描述

3.減小誤差(用梯度下降)

這里寫圖片描述
這里寫圖片描述

二、程序實現(xiàn)步驟

1.初始化數(shù)據(jù)

x、y:樣本
learning rate:學習率
循環(huán)次數(shù)loopNum:梯度下降次數(shù)

2.梯度下降

循環(huán)(循環(huán)loopNum次):
(1)算偏導(需要一個for循環(huán)遍歷所有數(shù)據(jù))
(2)利用梯度下降數(shù)學式子

三、程序代碼

import numpy as npdef linearRegression(data_x,data_y,learningRate,loopNum):  w,b=0,0  #梯度下降  for i in range(loopNum):    w_derivative, b_derivative, cost = 0, 0, 0    for j in range(len(data_x)):      wxPlusb=w*data_x[j]+b      w_derivative+=(wxPlusb-data_y[j])*data_x[j]      b_derivative+=wxPlusb-data_y[j]      cost+=(wxPlusb-data_y[j])*(wxPlusb-data_y[j])    w_derivative=w_derivative/len(data_x)    b_derivative=b_derivative/len(data_x)    w = w - learningRate*w_derivative    b = b - learningRate*b_derivative    cost = cost/(2*len(data_x))    if i%100==0:      print(cost)  print(w)  print(b)if __name__== "__main__": #_x:protected __x:private  x=np.random.normal(0,10,100)  noise=np.random.normal(0,0.05,100)  y=2*x+7+noise  linearRegression(x,y,0.01,5000)

四、輸出

1.輸出cost

這里寫圖片描述 

可以看到,一開始的誤差是很大的,然后減小了

這里寫圖片描述 

最后幾次輸出的cost沒有變化,可以將訓練的次數(shù)減小一點

2.訓練完的w和b

這里寫圖片描述 

和目標w=2,b=7很接近

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 康保县| 阿合奇县| 井冈山市| 荣昌县| 泗洪县| 萨嘎县| 浮梁县| 和顺县| 当阳市| 个旧市| 黄大仙区| 延寿县| 石门县| 大邑县| 巴南区| 东乡| 大兴区| 门源| 汤阴县| 綦江县| 盐城市| 临江市| 武强县| 龙山县| 肃北| 盖州市| 琼海市| 西乌珠穆沁旗| 河津市| 涿鹿县| 闻喜县| 大理市| 华容县| 镇沅| 民乐县| 兴义市| 巴彦淖尔市| 沙雅县| 岱山县| 辉南县| 深泽县|