我們手裡有大量的x和y,求權重訓練的是權重資料樣本xwy
身高0體重0
血型0.3
腳指頭0.8
一組x計算出對應的乙個y我們的學習才剛剛開始,首先需要理解的是與門計算過程是w
下面的就是最基礎的公式
我們已知資料是大量的x和y
希望通過「西塔」來獲得w
x1x2y0
0001
0100
111上述就是乙個與門的構成,其中原理應該長腦子就會,所以說我們直接上**
def
and(x1, x2)
: w1, w2, theta =
0.5,
0.5,
0.7 tmp = x1*w1 + x2*w2
if tmp <= theta:
return
0elif tmp > theta:
return
1
下面我們再來考慮一下與非門和或門
與非門x1x2y
0010
1110
1110
或門x1x2y
0000
1110
1111
感知機的簡單實現
了解上述的閘電路之後,我們開始實現乙個簡單的感知機
剛才的與門**知識乙個基礎部分,我們先對它們的實現稍作修改
這裡用到了這個公式
import numpy as np
x = np.array([0
,1])
w = np.array(
[0.5
,0.5])
b =-
0.7print
(np.
sum(w*x)
)print
(np.
sum(w*x)
+b)#0.5
#-0.19999999999999996
由此我們可以看出,當numpy的兩個陣列元素相同的時候,我們對他們進行相乘相加和(即—numpy.sum()方法)然後我們再實現剛才的與門,這裡我們先貼出第一次的與門再和b(偏置)相加,即可完成上述公式運算
def
and(x1, x2)
: w1, w2, theta =
0.5,
0.5,
0.7 tmp = x1*w1 + x2*w2
if tmp <= theta:
return
0elif tmp > theta:
return
1#0 0 0 1
然後是我們要實現的新的與門
import numpy as np
defand
(x1,x2)
: w = np.array(
[0.5
,0.5])
x = np.array(
[x1,x2]
) b =
-0.7
tmp = np.
sum(w*x)
+b if tmp <=0:
return
0elif tmp >0:
return
1#0 0 0 1
具體的說,w1和w2 是控制輸入訊號重要性的引數,而偏置(b)是調整神經元被啟用的容易程度(輸出訊號為1的程度)的引數。接著,我們實現與非門和或門
import numpy as np
defnand
(x1,x2)
: w = np.array([-
0.5,
-0.5])
#僅權重和偏置改變了
x = np.array(
[x1,x2]
) b =
0.7 tmp = np.
sum(w*x)
+b if tmp <=0:
return
0elif tmp >0:
return
1def
or(x1, x2)
: x = np.array(
[x1, x2]
) w = np.array(
[0.5
,0.5])
# 僅權重和偏置與and不同!
b =-0.2
tmp = np.
sum(w*x)
+ b if tmp <=0:
return
0else
:return
1# 1 1 1 0
# 0 1 1 1
與門、與非門、或門是具有相同構造的感知機,區別只在於權重引數的值。因此,在與非門 和或門的實現中,僅設定權重和偏置的值這一點和與門的實現不同。異或門比較特殊
def
xor(x1,x2)
: s1 = nand(x1,x2)
s2 = or(x1,x2)
y = and(s1,s2)
return y
# 0 1 1 0
但是有數字邏輯基礎的話,應該不難理解
一點點感想
寫在這喧囂與寂寞的世界 今天我與chen在風初停的早上跑去借書,借了安妮的 清醒記 兩本三毛的書和一本yilan的旅行與味蕾的書。從圖書館出來,風似乎有些冷,想到又要到那陰冷的梅花館坐在又涼又硬的椅子上上一節乏味的數學課我們便都不約而同的想到了逃課。帶著心裡的負罪感我們躲進八食取暖。無意中我們嘗到了...
一點點感悟
這兩天一直在努力的調整狀態,考慮了很多,也想通了很多,因為看開了,所以狀態也好了很多。明白了,一件事情的兩面性,壞的一面會使自己痛苦不堪,好的一面會使自己心情愉快。看了一篇文章,感觸很大,裡面有很多啟發自己的語句。二十幾歲的人,除了愛情之外,還需要有一項能使自己生活的本領 要把自己的感觸 心情和生活...
一點點想法
最近公司要做個專案,用到進銷存系統,考查了好幾個,都不是很滿意 要麼功能上不行,要麼 上不行 突然在想,如果能用php做乙個,將是個不錯的選擇,因為進銷存大部分都是內部人使用,併發量要求並不是很高,主要是資料準確性和安全性,我想這兩方面重不在語言,另外乙個麻煩的地方是報表這塊,可以用其它語言來單獨處...