最近在入門深度學習,看到全連線的時候,一時興起來模擬一下最小二乘的解法。
import numpy as np
import random
import matplotlib.pyplot as plt
#造資料,對y=
3x+2直線上的點進行擾動
n =100
x = np.
zeros
((n,2)
)y = np.
zeros
((n,1)
)for i in range
(n):
x[i,0]
= random.
randint(1
,20) x[i,1]
=1if(i %3==
0): y[i]=3
*x[i,0]
+2* x[i,1]
+5else
: y[i]=3
*x[i,0]
+2* x[i,1]
#生成隨機權重(k,b)
: y = kx + b
np.random.
seed(1
)w = np.random.
rand(2
,1)#前向傳播與後向傳播,注意dw = x.t * l1_err,並且學習率很重要
for j in range
(100000):
l1 = np.
dot(x,w)
l1_err = l1 - y
w -=0.0001
* x.t.
dot(l1_err)
#畫出擬合直線
print
("final w:\n"
,w)k = w[0]
[0]b = w[1]
[0]plt.
plot([
0,20]
,[b,
20*k+b]
, color=
'r')
plt.
scatter
(x[:,0
], y, marker=
'.', c=
'g')
plt.
show
()
效果如下所示,綠色為散點,紅色為擬合的直線,效果還不錯!
神經網路之全連線層(線性層)
對於神經網路的全連線層,前面已經使用矩陣的運算方式實現過,本篇將引入tensorflow中層的概念,正式使用deep learning相關的api搭建乙個全連線神經網路。下面是全連線神經網路的結構圖 其中,x1,x2,x3為輸入,a1,a2,a3為輸出,運算關係如下 x1,x2,x3所在的層叫神經網...
回歸演算法之線性回歸
線性回歸的定義是 目標值預期是輸入變數的線性組合。線性模型形式簡單 易於建模,但卻蘊含著機器學習中一些重要的基本思想。線性回歸,是利用數理統計中回歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。優點 結果易於理解,計算不複雜 缺點 對非線性的資料擬合不好 適用資...
演算法之線性回歸
一 普通線性回歸 原理 分類的目標變數是標稱型資料,而回歸將會對連續型的資料做出 應當怎樣從一大堆資料裡求出回歸方程呢?假定輸人資料存放在矩陣x中,而回歸係數存放在向量w中。那麼對於給定的資料x1,結果將會通過 y x w 給出。現在的問題是,手裡有一些x和對應的y,怎樣才能找到w呢?乙個常用的方法...