有用請點贊,沒用請差評。
感知機原理參考部落格:
演算法引用李航博士《統計學習方法》p29.
# 感知機
import numpy as np
import matplotlib.pyplot as plt
class perceptron(object):
def __init__(self,eta=1,iter=50):
# eta:學習率;itea:最大迭代次數
self.eta=eta
self.iter=iter
# 根據現有權值和偏置**分類
def predict(self,xi,w,b):
target=np.dot(w,xi)+b
return target
# 迭代修正權值和偏置
def interation(self,vector,label):
""":param vector: 訓練資料向量
:param label: 訓練資料的原始劃分類別
:return:
"""data_shape=vector.shape
print("data_shape",data_shape)
# 初始化權值為零向量
self.weight=np.zeros(data_shape[1])
# 初始偏置
self.bias=0
# 記錄每一輪迭代還沒有誤分類資料
errors_point=0
# true表示還需要繼續迭代
check_inter=true
n=0print("迭代次數:%d ,初始權值:%s,初始偏置:%s" % (n,str(self.weight), str(self.bias)))
python實現感知機
import numpy as np 定義啟用函式 def acti fun x return 1 if x 0 else 0 建立感知器類 class perception object 初始化權重 def init self self.weights 0 self.bias 1 定義訓練函式,包...
python實現AND感知機
and感知機通過訓練後,可以進行邏輯 與 的運算。例如 當輸入 1,1時,輸出為1 輸入1,0時,輸出為0。通過上圖,我們可以發現 0,0 0,1 1,0 這三個點數表示輸出為0,而點 1,1 表示輸出為1,所以我們可以近似找到一條直線將輸出為0的點與輸出為1的點分隔開。我們可以通過不斷訓練係數 即...
感知機(Python實現,簡單)
usr bin python coding utf 8 importrandom fromnumpyimport importnumpyasnp deftraining train data1 3,3,1 4,3,1 正樣本 train data2 1,1,1 負樣本 train datas tra...