Python-两层神经网络的类

简介: 简单使用

image.png

代码实现

import numpy as np
def numerical_gradient(f,x):

h=1e-4
# 生成与x形状相同的数组
grad=np.zeros_like(x)
for idx in range(x.size):
    tmp_val=x[idx]
    x[idx]=tmp_val+h
    fxh1=f(x)
    x[idx]=tmp_val-h
    fxh2=f(x)
    grad[idx]=(fxh1-fxh2)/2*h
    x[idx]=tmp_val
return grad
    

def sigmold(x):

return 1/(1+np.exp(-x))

def softmax(a):

c=np.max(a)
exp_a=np.exp(a-c)
sum_exp_a=np.sum(exp_a)
y=exp_a/sum_exp_a
return  y

def cross_enroty_errorly(y,t):

if y.ndim==1:
    t=t.reshape(1,t.size)
    y=y.reshape(1,y.size)
batch_size=y.shape(0)
return -np.sum(np.log(y[np.arange(batch_size),t]+1e-7))/batch_size

class TwolayerNet:

def __init__(self,input_size,hidden_size,output_size,weight_init_std=0.01):
    self.params={}
    self.params["w1"]=weight_init_std*np.random.randn(input_size,hidden_size)
    self.params["w2"]=weight_init_std*np.random.randn(hidden_size,output_size)
    self.params["b1"]=np.zeros(hidden_size)
    self.params["b2"]=np.zeros(output_size)
def predict(self,x):
    w1,w2=self.params["w1"],self.params["w2"]
    b1,b2=self.params["b1"],self.params["b2"]
    a1 = np.dot(x,w1) + b1
    z1 = sigmold(a1)
    a2 = np.dot(z1,w2) + b1
    y=softmax(a2)
    return y
def loss(self,x,t):
    y=self.predict(x)
    return cross_enroty_errorly(y,t)
def accury(self,x,t):
    y=self.predict(x)
    y=np.argmax(y,axis=1)
    t=np.argmax(1,axis=1)
    accury=np.sum(y==t)/float(x.shape[0])
    return accury
def numerical_gradient(self,x,t):
    loss_w=lambda w:self.loss(x,t)
    grads={}
    grads["w1"]=(loss_w,self.params["w1"])
    grads["b1"] = numerical_gradient(loss_w, self.params["b1"])
    grads["w2"] = numerical_gradient(loss_w, self.params["w2"])
    grads["b2"] = numerical_gradient(loss_w, self.params["b2"])
    return grads
相关文章
|
2月前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
5月前
|
机器学习/深度学习 算法 量子技术
GQNN框架:让Python开发者轻松构建量子神经网络
为降低量子神经网络的研发门槛并提升其实用性,本文介绍一个名为GQNN(Generalized Quantum Neural Network)的Python开发框架。
132 4
GQNN框架:让Python开发者轻松构建量子神经网络
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
196 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
223 1
|
3月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
288 18
|
3月前
|
机器学习/深度学习 移动开发 编解码
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
127 1
|
3月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
3月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
105 1

热门文章

最新文章

推荐镜像

更多