python 怎麼擬合二元一次方程?

時間 2021-08-12 12:51:25

1樓:IT野狐禪

用梯度下降法擬合、損失函式用平方差。下面示例上損失函式用絕對值,效果沒平方差好

#二元線性擬合

import

tensorflow

astf

#定義模型 Y= w X + bX=

tf.placeholder(tf

.float32,[

None,1

])w=tf

.Variable(tf

.zeros([1

,1]))b=tf

.Variable(tf

.zeros([1

]))y_out=tf

.matmul(X

,w)+

bY=tf

.placeholder(tf

.float32,[

None,1

])#定義損失函式

cost=tf

.reduce_mean

(abs(Y

-y_out

))# abs(Y-y_out) tf.square(Y-y_out) 最小二乘法

#通過梯度下降法

train_step=tf

.train

.GradientDescentOptimizer

(0.005).

minimize

(cost

)#初始化資料, 建立會話

init=tf

.global_variables_initializer

()sess=tf

.Session

()sess

.run

(init

)#定義測試資料 Y = w X + b w==2 b==3

x_train=[[

1],[

2],[

3],[

4],[

5.1],[

6],[

7],[

8],[

9],[

10]]

y_train=[[

5.1],[

7.1],[

9.2],[

11.1

],[12.88

],[15

],[17.06

],[18.77

],[21

],[23.001

]]#在會話中開始訓練模型

fori

inrange

(5000

):sess

.run

(train_step

,feed_dict=)

ifi%200==0

:print

("step:

%5i,w:

%f,b:

%f,cost:%f"

%(i,

sess

.run(w

),sess

.run(b

),sess

.run

(cost

,feed_dict=))

)# print(sess.run(y_out,feed_dict=) )

2樓:

用scipy.optimize中的lsq_linear()函式。

空間解析中二元一次方程為什麼可以表示平面?

柳重汐 乙個方程保證了乙個約束關係 空間是三個維度的,其中乙個維度被約束住了,所以是乙個二維平面。這麼說當然比較浮誇,所以可以說的詳細一點 Ax By Cz 0 對於這個方程來說,也就是向量 A,B,C 與 x,y,z 垂直即可。所以一切與乙個給定方向 A,B,C 垂直的向量都是在這個方程的表示範疇...

Python怎麼求解一元三次方程?

調包方法是使用符號化運算庫,常用庫有Theano SympyTheano不知道有沒有,Sympy可以用以下方式求解import sympy as sp x sp.Symbol x f x 3 2 x 2 1 sp.solve f 輸出 1,1 2 sqrt 5 2,sqrt 5 2 1 2 返回結果...

二元一次方程,1變形之後就不能往1裡帶了,這到底是為什麼?誰能給我個詳細的解釋?

晚風 因為變形後再代入,本質上相當於做了反覆變形,那個式子還是那個式子。要弄清楚,解二元一次方程組,本質就是尋找兩個方程的公共解。你始終在乙個方程裡繞,何來公共解?代入法的本質,就是把兩個方程通過移項轉化與代入合併為乙個方程,從而求解。即二元一次方程組 一元一次方程。這需要兩個方程的共同參與 秋雨盈...