深度學習基礎08 非線性回歸應用

2021-10-10 07:38:05 字數 2866 閱讀 4438

這篇文章寫一下如何在python中實現非線性回歸

#定義資料

defgendata

(numpoints,bias,variance)

: x=np.zeros(shape=

(numpoints,2)

) y=np.zeros(shape=

(numpoints)

)for i in

range(0

,numpoints)

: x[i][0

]=1#每一行的第一列第乙個數字等於1

x[i][1

]=i#每一行第二個數字是i

y[i]

=(i+bias)

+random.uniform(0,

1)*variance#y的賦值,100行,一列

檢視x和y的形狀

再來寫一下梯度下降演算法

def

gradientdescent

(x,y,theta,alpha,m,numiterations)

:#m,例項的個數

xtrans=x.transpose(

)for i in

range(0

,numiterations)

: hypothesis=np.dot(x,theta)

loss=hypothesis-y

cost=np.

sum(loss**2)

/(2*m)

print

('iteration %d / cost:%f'

%(i,cost)

) gradient=np.dot(xtrans,loss)

/m theta=theta-alpha*gradient #更新法則

return theta

全部**:

import numpy as np

import random

defgradientdescent

(x,y,theta,alpha,m,numiterations)

:#alpha,學習率;m,例項的個數;numiterations,迭代次數

xtrans=x.transpose(

)#矩陣的轉置

for i in

range(0

,numiterations)

: hypothesis=np.dot(x,theta)

#求內積

loss=hypothesis-y#損失函式

cost=np.

sum(loss**2)

/(2*m)

print

('iteration %d / cost:%f'

%(i,cost)

) gradient=np.dot(xtrans,loss)

/m theta=theta-alpha*gradient #更新法則

return theta

defgendata

(numpoints,bias,variance)

: x=np.zeros(shape=

(numpoints,2)

) y=np.zeros(shape=

(numpoints)

)for i in

range(0

,numpoints)

: x[i][0

]=1#每一行的第一列第乙個數字等於1

x[i][1

]=i#每一行第二個數字是i

y[i]

=(i+bias)

+random.uniform(0,

1)*variance#y的賦值,100行,一列

return x,y

x,y=gendata(

100,25,

10)print

('x:'

,x)print

('y:'

,y)m,n=np.shape(x)

print

('x:shape:'

,m,n)

n_y=np.shape(y)

print

('y:shape:'

,n_y)

numiterations=

10000

alpha=

0.005

theta=np.ones(n)

theta=gradientdescent(x,y,theta,alpha,m,numiterations)

深度學習Tensorflow非線性回歸案列

import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 建立自定義影象 使用numpy生成200個隨機點 x data np.linspace 0.5,0.5,200 np.newaxis noise np...

深度學習Tensorflow非線性回歸案列

import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 建立自定義影象 使用numpy生成200個隨機點 x data np.linspace 0.5,0.5,200 np.newaxis noise np...

tensorflow非線性回歸

該程式有輸入層,中間層和輸出層 執行環境 ubuntun menpo queen queen x550ld downloads py python nonliner regression.py coding utf 8 定義乙個神經網路 輸入層乙個元素,中間層10個神經元,輸出層1個元素 impor...