当前位置: 首页 > wzjs >正文

白云网站建设学校网站建设的必要性

白云网站建设,学校网站建设的必要性,网站导航建设注意,杭州临平网站建设这个实现包含以下关键部分:数据生成:使用用户提供的函数生成两类可线性分离的数据点。感知机模型:一个线性层接收二维输入并输出一个值不使用激活函数(原始感知机形式)使用均方误差损失函数(MSE&#xff09…

这个实现包含以下关键部分:

  1. 数据生成:使用用户提供的函数生成两类可线性分离的数据点。

  2. 感知机模型

    • 一个线性层接收二维输入并输出一个值
    • 不使用激活函数(原始感知机形式)
    • 使用均方误差损失函数(MSE)和随机梯度下降优化器
  3. 动态可视化

    • 使用 matplotlib 的 FuncAnimation 创建动画
    • 每帧更新显示当前决策边界和损失值
    • 数据点根据真实标签着色(蓝色为 - 1,红色为 1)
    • 绿色线表示当前感知机的决策边界

运行代码后,你将看到一个动画展示感知机如何逐步学习区分两类数据的决策边界。随着训练的进行,决策边界会不断调整,直到能够正确分离两个类别。

 

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
import numpy as np
import torch
import torch.nn as nn
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation# 数据生成函数(保持与用户提供的一致)
def generate_data():np.random.seed(0)class_1 = np.random.randn(100, 2) + np.array([2, 2])class_2 = np.random.randn(100, 2) + np.array([-2, -2])labels_1 = np.ones((100, 1))labels_2 = -np.ones((100, 1))data = np.vstack((class_1, class_2))labels = np.vstack((labels_1, labels_2))return torch.Tensor(data), torch.Tensor(labels)# 感知机模型
class Perceptron(nn.Module):def __init__(self):super(Perceptron, self).__init__()self.linear = nn.Linear(2, 1)  # 二维输入,一维输出def forward(self, x):return self.linear(x)# 训练和可视化函数
def train_and_visualize():# 生成数据X, y = generate_data()# 创建模型、损失函数和优化器model = Perceptron()criterion = nn.MSELoss()optimizer = torch.optim.SGD(model.parameters(), lr=0.01)# 设置图形fig, ax = plt.subplots(figsize=(10, 8))scatter = ax.scatter(X[:, 0], X[:, 1], c=y.numpy().flatten(), cmap='coolwarm', alpha=0.7)line, = ax.plot([], [], 'g-', lw=2)ax.set_xlim(-6, 6)ax.set_ylim(-6, 6)ax.set_title('Perceptron Classification')# 初始化线def init():line.set_data([], [])return line,# 更新函数def update(frame):# 训练一步optimizer.zero_grad()outputs = model(X)loss = criterion(outputs, y)loss.backward()optimizer.step()# 获取当前权重和偏置w1, w2 = model.linear.weight.data[0]b = model.linear.bias.data[0]# 计算决策边界x_vals = np.linspace(-6, 6, 100)y_vals = -(w1 * x_vals + b) / w2# 更新线line.set_data(x_vals, y_vals)ax.set_title(f'Perceptron Classification (Epoch {frame + 1}, Loss: {loss.item():.4f})')return line,# 创建动画ani = FuncAnimation(fig, update, frames=100, init_func=init, blit=True, interval=200)plt.show()return ani# 运行训练和可视化
if __name__ == "__main__":animation = train_and_visualize()

http://www.dtcms.com/wzjs/593871.html

相关文章:

  • 上海杨浦网站建设wordpress 过时
  • 在哪些网站能接到活做archlinux wordpress
  • 胶州网站建设电话做试客需要去哪些网站
  • 网站开发区书籍做网站 属于电子商务
  • codeigniter 手机网站开发海口建站价格
  • 专做尼泊尔的旅行网站沧州网络
  • 防疫大数据平台网站seo优化技术入门
  • 山东跨境电商建站公司长沙ui设计公司
  • 网站模版购买wordpress后台登录慢
  • 数字校园建设专题网站旅游网页设计图
  • 服务器关闭 网站被k淘金网站建设
  • 实惠的网站建设公司做一份网站动态图多少钱
  • 河北省邢台市建设工程网站西宁设计网站建设
  • 怎样在网站上做链接站长工具seo综合查询引流
  • 专注电子商务网站建设汕头seo全网营销
  • 深圳营销型网站联系方式泰安网站建设收费标准
  • 超酷网站wordpress 多域名301重定向代码
  • 如何设计一个企业网站中国服装网
  • 凡科登陆网站手机版wdcp搭建网站
  • 如东住房和城乡建设局网站显示网站正在建设中
  • 上线了建站百度推广商桥网站上怎么去掉
  • 苏州网站建设sz sogou手机在线
  • 提供邵阳网站建设做网站公司宁波
  • wordpress 摘录东莞市网络seo推广企业
  • 新闻类网站html模板免费下载网站建设生存期模型
  • 网站优化设计公司现在创业什么行业最好
  • 漳州网站建设网站制作企业网站推广方案上海
  • 海淀网站建设龙岩百度云盘网站开发
  • 社保个人网站入口购物网站开发面试
  • 合肥市网站制作网站设置反爬虫的主要原因