楼主: 我是小趴菜
619 1

[数据挖掘新闻] 感知机对偶形式的Python代码实现 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

楼主
我是小趴菜 发表于 2022-10-25 10:58:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
感知机(Perceptron)1957年由Rosenblatt提出,是神经网络与支持向量机的基础。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式输入为实例的特征向量,输出为实例的类别,取+1和-1感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型导入基于误分类的损失函数利用梯度下降法对损失函数进行极小化'''import numpy as npclass 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)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python object Errors import Alpha
相关内容:Python代码实现

沙发
三江鸿 发表于 2022-10-25 12:22:00 来自手机
点个赞加点人气
感谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 09:52