99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2020-07-13 閱讀量: 2484
感知機對偶形式的Python代碼實現(xiàn)
'''
感知機(Perceptron)
1957年由Rosenblatt提出,是神經(jīng)網(wǎng)絡與支持向量機的基礎。
感知機學習算法具有簡單而易于實現(xiàn)的優(yōu)點,分為原始形式和對偶形式
輸入為實例的特征向量,輸出為實例的類別,取+1和-1
感知機對應于輸入空間中將實例劃分為正負兩類的分離超平面,屬于判別模型
導入基于誤分類的損失函數(shù)
利用梯度下降法對損失函數(shù)進行極小化
'''
import numpy as np

class Dual_Perceptron(object):
    
    def __init__(self, X, y,  eta = 1, n_iter = 100):
        self.eta = eta
        self.n_iter = n_iter
        
    def fit(self, X, y):
        self.errors_ = []
        self.Remp_ = []
        self.Gram = np.zeros((len(X), len(X)))
        for i in np.arange(len(X)):
            for j in np.arange(len(X)):
                self.Gram[i,j] = self.Gram[j,i] = X[i] @ X[j] + 1    
        self.alpha = np.zeros(len(X))
        self.b = 0
        self._L = y * self.alpha @ self.Gram
        n = 1
        while np.any(self._L <= 0) and n <= self.n_iter:
            error_id = np.argmax(self._L <= 0)
            self.alpha[error_id] += self.eta
            self.b += self.eta * y[error_id]
            self._L = y * (y * self.alpha @ self.Gram)
            Remp = -1 * np.sum(self._L[self._L <= 0])
            print(f'Round {n}: alpha: {self.alpha}, Remp: {Remp}')
            self.errors_.append(np.sum(self._L <= 0))
            self.Remp_.append(Remp)
            n += 1
            
        self.w = self.alpha * y @ X
        print(f'w: {self.w}, b: {self.b}')
            
    def predict(self, X):
        return np.sign(X @ self.w + self.b)


34.9110
3
關注作者
收藏
評論(1)

發(fā)表評論
E170801110705f1
2020-07-14

0.0000 0 0 回復