机器学习之感知器算法的设计实现(多分类)

本文介绍了感知器算法的基本原理,详细阐述了如何利用感知器进行多类分类,并通过实验展示了数据生成、规范化处理、算法实现及测试过程。在实验中,感知器算法对6类数据达到了99%的分类正确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次实验旨在掌握感知器算法,利用它对输入的数据进行多类分类

1.实验原理

1. 感知器基本原理
感知准则函数是五十年代由 Rosenblatt 提出的一种自学习判别函数生成方法,由于Rosenblatt 企图将其用于脑模型感知器,因此被称为感知准则函数。其特点是随意确定的判别函数初始值,在对样本分类训练过程中逐步修正直至最终确定
用对所有错分样本的求和来表示对错分样本的惩罚,代价函数定义如下:
在这里插入图片描述
显然,J≥0。当代价函数 J 达到最小值 0 时,所有的训练向量分类都全部正确。为了计算代价函数的最小迭代值,可以采用梯度下降法设计迭代算法,即:
在这里插入图片描述
下一时刻的权向量是把当前时刻的权向量向目标函数的负梯度方向调整一个修正量,其中𝜌𝑘为步长。通过不断更新 w,这种算法就称为感知器算法(perceptron algorithm)。可以证明,这种算法在经过有限次迭代之后是收敛的,也就是说,根据此规则修正权向量,可以让所有的特征向量都正确分类

2.利用感知器实现多类判别的算法步骤:
在这里插入图片描述

2.实验内容

1.数据生成及规范化处理利用高斯模型,生成 N 类(N>5)数据(2D or 3D),并对生成样本进行规范化处理。
2.基于生成数据,利用感知器准则实现多类分类,得到最终分界面的表达式。
3.生成测试数据列,并对测试数据进行分类判别。

3.代码实现

1.导入库

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
from sklearn.model_selection import train_test_split
from sklearn.mixture import GaussianMixture

2.高斯模型生成数据

生成6类数据,本次实验采用感知器算法实现对6类数据的分类。

class_num = 6
def Generate_data(num):
    data,labels = make_blobs(n_samples=num*class_num,centers=class_num,cluster_std=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

starlet_kiss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值