感知機python實現

2021-09-13 09:44:25 字數 1119 閱讀 8102

有用請點贊,沒用請差評。

感知機原理參考部落格:

演算法引用李航博士《統計學習方法》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...