Back-Propagation Neural Network BP反向传播网络算法

反向传播神经网络(Back propagation neural network ,BPNN) 文章目录BPNN前向传播反向传播总结参考 BPNN BPNN被认为是最常用的预测方法,BPNN模型的一般结构如下图所示,它由输入层、隐层和输出层三层组成,其中隐层在输入层和输出层之间传递着重要的信息。 BPNN总是由一个或多个隐藏层组成,从而允许网络对复杂功能进行建模。它主要由两个过程组成:正向信息传播和误差反向传播。这三层之间的数学关系可以表示如下: 输入层到隐层: 隐层到输出层: 其中:ym和yj分别表示输入层和隐藏层的输入;yt表示点t的预测值;μjm和λoj表示输出层和隐藏层的网络权重;μj 阅读详情

01 网络描述

BP网络由大量简单处理单元广泛互联而成,是一种对非线性函数进行权值训练的多层映射网络。具有优良的非线性映射能力,理论上它能够以任意精度逼近任意非线性函数。本文采用BP神经网络解决下列函数拟合问题。

函数逼近:设计一个神经网络拟合下列的函数:

02 BP神经网络模型的建立

(1)样本数据的产生

为建立函数拟合的BP神经网络模型,一般要考虑以下几步:

样本数据的产生,这里用来两种方法,

  • 第一种方法先在x属于[-π,π]区间内生成500个均匀分布的数据点,然后对这500个样本点的标签进行shuffle,然后取前30%个点为测试集,后70%个点为训练集。如图所示。

  • 第二种方法在x属于[-π,π]区间内生成350个均匀分布的数据点为训练集,在[-π,π]区间内生成150个均匀分布的数据点为测试集

(2) 数据的预处理

通常需要将样本数据归一化,由于这里的数据变化范围不大,所以暂不考虑对数据的归一化。

(3)BP神经网络

一个典型的3层BP神经网络结果如图1所示,包括输入层、隐藏层和输出层。其中隐藏层的状态影响输入输出之间的关系,及通过改变隐藏层的系数,就可以改变多层神经网络的性能。

BP神经网络的学习过程由正向传播和反向传播组成。
通过正向传播算法,即通过矩阵乘法计算出输出值,并将真实值和输出值对比得到两者之间的差距。
通过反向传播算法,计算每个损失函数对模型中每个参数的梯度,通过梯度下降算法来更新每一个参数。

梯度下降法即比如我们目前处在一个大山的某处,不知道如何下山,于是决定走一步算一步,也就是每走到一个位置,求当前位置的梯度,沿着梯度的负方向,即当前最陡峭的位置向下走一步,然后继续重复上步;一直走到我们觉得我们走到了山脚,当然,这样我们可能走不到山脚,而是走到某一个局部的山峰低处。

当然如果损失函数是凸函数,梯度下降 得到的解一定是全局最优解。

BP 算法的实质是求取误差函数最小值问题,通过多个样本的反复训练,一般采用梯度下降法,按误差函数的负梯度方向修改系数。

(4) 训练及测试

采用第一种采样方法,产生训练数据和测试数据,batch_size大小设置为32 训练轮数为3000轮,学习率为0.001,将训练数据送入bp网络中进行训练。
之后将测试数据送入已训练好参数的模型中,进行预测,得到上述两个函数的结果。

03 存在的问题及解决方案

模型拟合边界数据效果很不好,用第一种数据取样方法,由于对边界数据取样少,所以使得模型对边界数据欠拟合;
采取措施:采用交叉验证的办法,将数据集划分成K份,然后K-1份为训练集,剩下的一份为测试集,然后进行K次训练;这样充分利用了数据集进行训练。

04 算法评估

(1) 问题复杂程度

(2)采样方法

(3)学习率

(4)样本数目

(5)批量数目

(6)激励函数

(7)隐藏层层数及节点个数

05 代码展示

# python- Back Propagation
# coding=utf-8
import numpy as np
import matplotlib.pyplot as plt


plt.rcParams['font.sans-serif'] = ['SimHei']  # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号


# 定义数据集分割函数
def train_test_split(x, y, test_ratio=0.3, seed=None):
    if seed:
        np.random.seed(seed)
    shuffled_indexs = np.random.permutation(len(x))
    test_size = int(len(x) * test_ratio)
    train_index = shuffled_indexs[test_size:]
    test_index = shuffled_indexs[:test_size]
    train_index = np.sort(train_index)
    test_index = np.sort(test_index)
    return x[train_index], x[test_index], y[train_index], y[test_index]


# 定义function
def f(a, b, c, d, x):
    return a * np.sin(b * x) + c * np.cos(d * x)

def f1(a, b, c, d, x):
    return a * x * np.sin(b * x) + c * x * np.cos(d * x)

# 随机采样
def load_data(step, a, b, c, d):
    x = np.linspace(-np.pi, np.pi, step).T
    x = np.expand_dims(x, -1)
    y = f(a, b, c, d, x) + f(3,3,3,3,x)
    x_train, x_test, y_train, y_test = train_test_split(x, y, seed=2019)
    return x_train, y_train, x_test, y_test

# 均匀采样
def load_train_data(step, a, b, c, d):
    x_train = np.linspace(-np.pi, np.pi, step).T
    x_train = np.expand_dims(x_train, -1)
    y_train = f(a, b, c, d, x_train)  + f(3,3,3,3,x_train)

    return x_train, y_train


def load_test_data(step, a, b, c, d):
    x_test = np.linspace(-np.pi, np.pi, step).T
    x_test = np.expand_dims(x_test, -1)
    y_test = f(a, b, c, d, x_test)
    y_test = f(a, b, c, d, x_test) + f(3, 3, 3, 3, x_test)
    return x_test, y_test

# 归一化数据
def normalize(data):
    data_min, data_max = data.min(), data.max()
    data = (data - data_min) / (data_max - data_min)
    return data

# 激活函数tanh
def tanh(z):
    return np.tanh(z)


def tanh_derivative(z):
    return 1.0 - np.tanh(z) * np.tanh(z)


def sigmoid(z):
    return 1 / (1 + np.exp(-z))


def sigmoid_derivative(z):
    return sigmoid(z) * (1 - sigmoid(z))


def relu(z):
    return np.maximum(0, z)


def relu_derivative(z):
    if (z >= 0):
        return 1
    else:
        return 0


# 损失函数
def loss_derivative(output_activations, y):
    return 2 * (output_activations - y)


def mean_squared_error(predictY, realY):
    Y = np.array(realY)
    return np.sum((predictY - Y) ** 2) / realY.shape[0]


# BP神经网络类
class BP:
    # BP神经网络初始化
    def __init__(self, sizes, activity, activity_derivative, loss_derivative):
        self.num_layers = len(sizes)
        self.sizes = sizes
        self.biases = [np.zeros((nueron, 1)) for nueron in sizes[1:]]
        self.weights = [np.random.randn(next_layer_nueron, nueron) for nueron, next_layer_nueron in
                        zip(sizes[:-1], sizes[1:])]
        self.activity = activity
        self.activity_derivative = activity_derivative
        self.loss_derivative = loss_derivative

    # 预测函数
    def predict(self, a):
        re = a.T
        n = len(self.biases) - 1
        for i in range(n):
            b, w = self.biases[i], self.weights[i]
            re = self.activity(np.dot(w, re) + b)
        re = np.dot(self.weights[n], re) + self.biases[n]
        return re.T

    # 更新一个batch的值
    def update_batch(self, batch, learning_rate):
        temp_b = [np.zeros(b.shape) for b in self.biases]
        temp_w = [np.zeros(w.shape) for w in self.weights]
        for x, y in batch:
            delta_temp_b, delta_temp_w = self.update_parameter(x, y)
            temp_w = [w + dw for w, dw in zip(temp_w, delta_temp_w)]
            temp_b = [b + db for b, db in zip(temp_b, delta_temp_b)]
        self.weights = [sw - (learning_rate / len(batch)) * w for sw, w in zip(self.weights, temp_w)]
        self.biases = [sb - (learning_rate / len(batch)) * b for sb, b in zip(self.biases, temp_b)]

    def update_parameter(self, x, y):
        temp_b = [np.zeros(b.shape) for b in self.biases]
        temp_w = [np.zeros(w.shape) for w in self.weights]
        activation = x
        activations = [x]
        zs = []
        n = len(self.biases)
        for i in range(n):
            b, w = self.biases[i], self.weights[i]
            z = np.dot(w, activation) + b
            zs.append(z)
            if i != n - 1:
                activation = self.activity(z)
            else:
                activation = z
            activations.append(activation)
        d = self.loss_derivative(activations[-1], y)
        temp_b[-1] = d
        temp_w[-1] = np.dot(d, activations[-2].T)
        for i in range(2, self.num_layers):
            z = zs[-i]
            d = np.dot(self.weights[-i + 1].T, d) * self.activity_derivative(z)
            temp_b[-i] = d
            temp_w[-i] = np.dot(d, activations[-i - 1].T)
        return (temp_b, temp_w)

    def fit(self, train_data, epochs, batch_size, learning_rate, validation_data=None):
        n = len(train_data)
        for j in range(epochs):
            np.random.shuffle(train_data)
            batches = [train_data[k:k + batch_size] for k in range(0, n, batch_size)]
            for batch in batches:
                self.update_batch(batch, learning_rate)
            if (validation_data != None):
                val_pre = self.predict(validation_data[0])
                print("Epoch", j + 1, '/', epochs,
                      '  val loss:%12.12f' % mean_squared_error(val_pre, validation_data[1]))
                losses.append(mean_squared_error(val_pre, validation_data[1]))
                epoches.append(j + 1)
        return epoches, losses


if __name__ == "__main__":
    losses = []
    epoches = []
    # 设置随机种子
    np.random.seed(2019)
    # function函数系数设置
    a, b, c, d = 2, 2, 2, 2
    num_step = 500
    # 随机采样
    x_train, y_train, x_test, y_test = load_data(num_step, a, b, c, d)
    # 均匀采样
    # rate = 0.3
    # num_train_step = num_step * (1 - rate)
    # num_test_step = num_step * (rate)
    # x_train, y_train = load_train_data(num_train_step, a, b, c, d)
    # x_test, y_test = load_test_data(num_test_step, a, b, c, d)
    print(x_train.shape, y_train.shape, x_test.shape, y_test.shape)
    data = [(np.array([x_value]), np.array([y_value])) for x_value, y_value in zip(x_train, y_train)]
    # BP神经网络参数设置
    beta = 1e-2
    layer = [1, 5, 5, 1]
    epochs = 1000
    model = BP(layer, tanh, tanh_derivative, loss_derivative)
    # BP神经网络训练
    epoches, losses = model.fit(train_data=data, epochs=epochs, batch_size=8, learning_rate=beta,
                                 validation_data=(x_test, y_test))
    # BP神经网络预测
    predict = model.predict(x_test)
    # 预测误差计算
    loss_p = abs(predict-y_test)
    sum  = sum(loss_p)
    sum = sum[0]
    print("误差是:","%12.12f"%(sum/100.0))
    # 绘图函数
    plt.figure()
    plt.title("BP神经网络拟合非线性  y2= x2*sin*2*x2 +3*x2*cos4*x2曲线")
    plt.plot(x_test, y_test, "-r", linewidth=2, label='origin')
    plt.plot(x_test, predict, "-b", linewidth=1, label='predict')

    plt.legend()
    plt.grid(True)
    plt.show()

    plt.figure()
    plt.title("BP神经网络误差下降曲线")
    plt.plot(epoches, losses, "-r", linewidth=2, label="误差曲线")
    plt.legend()
    plt.show()
机器学习之BP神经网络精讲(Backpropagation Neural Network(附案例代码)) BP神经网络(Backpropagation Neural Network)是一种常见的人工神经网络,它通过反向传播算法来训练网络,调整连接权重以最小化预测输出与实际输出之间的误差。这种网络结构包含输入层、隐藏层和输出层,使用梯度下降算法来优化权重。 阅读详情

相关推荐

Android应用隐私合规自动化检测:Frida与Camille实战指南

在移动应用安全与隐私合规领域,动态代码插桩技术已成为核心检测手段。其原理是通过运行时注入,实时监控和修改应用行为,从而绕过传统静态分析的局限。这项技术的核心价值在于能够精准捕获应用在运行时的敏感数据调用与网络传输行为,为隐私合规审计、安全测试提供直接证据。在实际应用场景中,它尤其适用于自动化检测违规收集个人信息、追踪数据流向等任务。本文聚焦于利用Frida这一动态插桩框架,结合Camille隐私合规检测工具集,构建自动化监控环境。通过注入JavaScript代码,实现对Android敏感API(如获取设备标

weixin_34254464的博客 389

RBF神经网络与BP神经网络优缺点比较

RBF神经网络与BP神经网络优缺点比较 (2016-05-31 21:37:04)    转载▼ 标签: 神经网络 RBF神经网络与BP神经网络优缺点比较 1.      RBF 的泛化能力在多个方面都优于BP 网络, 但是在解决具有相同精度要求的问题时, BP 网络的结构要比RBF 网络简单。?? 2.      RBF 网络的逼近精度要明显高于BP 网络,它几乎能实现完全逼近, 而且

sunxinyu的专栏 3万+

VSCode里玩转AvaloniaUI:手把手教你搭建跨平台桌面应用开发环境(附.NET 7配置避坑)

本文详细介绍了如何在VSCode中搭建AvaloniaUI跨平台桌面应用开发环境,包括.NET 7配置避坑指南。从环境准备、项目创建到调试优化,手把手教你利用VSCode和Avalonia实现高效开发,特别解决了.NET 7依赖等常见问题,助力开发者快速上手跨平台应用开发。

weixin_28826545的博客 578

详解反向传播神经网络 (Back Propagation Neural Network, BPNN)

反向传播神经网络是最经典的有监督学习网络,本文给出其详细原理,并使用Python代码给出一个使用示例。

XY的博客 1万+

手把手调试AD9653的LVDS数据采集:从VIO抓波形到用F0/F8帧对齐的实战心得

本文详细介绍了AD9653高速ADC与Xilinx 7系列FPGA(如7z035)的LVDS数据采集调试实战经验。从硬件环境搭建、Vivado工具链配置到LVDS数据对齐技巧,重点分享了利用VIO抓取波形和使用F0/F8帧对齐的实用方法,帮助工程师快速解决高速数据采集系统中的信号完整性问题。

weixin_29169899的博客 705

【OpenCV3】cv::compare()使用详解

cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。具体用法如下: cv::compare() bool cv::compare( cv::InputArray src1, // 输入数组1 cv::InputArray src2, // 输入数组2 cv::OutputArray dst, // 输出数组 int cmpop // 比较操作子,见下表 ...

guduruyu的专栏 9762

BP神经网络原理

BP神经网络(Back Propagation Neural Network)是一种基于误差反向传播算法(Back Propagation Algorithm)的人工神经网络,也是应用最广泛的神经网络之一。它可以用来解决分类、回归、模式识别、数据挖掘等多种问题。BP神经网络由输入层、隐层和输出层组成,其中隐层可以包含多个神经元,用于处理输入数据的非线性映射关系。BP神经网络的训练过程包括前向传播和反向传播两个步骤。BP神经网络的优点是可以处理非线性问题,并且具有较高的精度和可扩展性。

weixin_46238823的博客 3万+

高速电路设计必看:同步开关噪声问题解析

数字电路中的同步开关噪声(SSN)问题日益突出,尤其是随着高速器件应用增多。本文分析了地弹和电压弹的产生机理,指出其与电源网络电感、输出驱动电流变化率密切相关。文章详细阐述了地弹参数特征,包括峰值电压、脉冲宽度等关键指标,并探讨了负载电容、信号压摆率等因素对地弹的影响。最后提出系统化的解决方案,涵盖芯片选型、电路设计、PCB布局和后期调试等多个环节,强调通过降低回路电感和控制电流变化率来有效抑制SSN。这些措施需要在性能、成本和复杂度之间取得平衡,为高速数字电路设计提供了重要参考。

一只豌豆象的博客 302

反向传播(Back Propagation)与神经网络(Neural Network)

图片来自:http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html程序实现参考:http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/实验数据来自于:http://yann.lecun.com/exdb/mnist/侵删。

机器人视觉感知 3009

关于1EDI3033AS驱动芯片误触发DESAT保护的问题

驱动参数匹配:检查门极电阻(Rg)是否合理,过小的Rg可能加剧dv/dt干扰,而过大的Rg会增加开关损耗。SiC驱动欠压故障分为上桥故障和下桥故障,利用上位机,配置软件后上桥故障使得TestC为1,下桥故障使得TestB为1。500V母线电压,10k载频,200hz电频率,假负载大电流闭环测试时,相电流高于60A之后报SiC驱动故障。600V母线电压,10k载频,200hz电频率,接水冷,假负载350A电流闭环测试。750V母线电压,10k载频,200hz电频率,接水冷,假负载350A电流闭环测试。

小幽余生不加糖 597

手把手教你学simulink实例--基于Simulink的航空发动机控制系统设计与仿真

航空发动机是飞机的核心动力装置,其性能直接影响飞行器的安全性、经济性和可靠性。现代航空发动机控制系统需要具备高精度、快速响应和强鲁棒性的特点,以适应复杂的飞行环境和任务需求。本项目旨在使用MATLAB/Simulink平台,设计并实现一种适用于涡扇发动机的闭环控制系统,通过调节燃油流量、压气机叶片角度等控制变量,确保发动机在不同工况下稳定运行,并满足推力需求。

MHD0815的博客 277

一文弄懂神经网络中的反向传播法——BackPropagation

  最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。...

weixin_30757793的博客 3676

零基础实战:云开发家政维修小程序搭建指南

欢迎来到这本关于构建家政维修小程序的电子书!在当今数字化的浪潮中,线上服务已成为我们生活中不可或缺的一部分。从点餐购物到居家维修,人们越来越习惯通过指尖轻点来解决各种需求。正是基于这样的背景,我们希望通过这个系列,手把手地带领大家从零开始,搭建一个功能完备、体验流畅的家政维修平台。这不仅仅是一本技术教程,更是一次将想法变为现实的探索之旅。我们将深入浅出地讲解如何运用云开发等现代技术,实现从用户下单、支付,到客服派单、工人接单,再到订单完成和权限管理等一系列核心业务流程。

低代码布道师的博客 3433

BP神经网络(Back Propagation Neural Network)Matlab简单实现

神经网络(Neural Network)matlab实现前言数据准备前向传播(FeedForward Propagation)反向传播(Backward Propagation)/ 误差逆传播(一):求解损失/误差相对于每个神经元的梯度(二):求解损失/误差相对于每个权值的梯度(三):使用梯度下降对权值进行更新动态可视化效果代码实现 前言 前一篇我们介绍了单层感知机,我们知道,它只能解决线性可分数据。对于下图的数据(左为两个同心圆构成的数据,右为异或问题),它将一直迭代且无法收敛。 对于以上两类数据,我们

weixin_43290523的博客 3250

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

BP分类-反向传播神经网络(Backpropagation Neural Network)

BP神经网络,即反向传播神经网络(Backpropagation Neural Network),是一种前馈神经网络,通过反向传播算法训练网络权重。其基本结构包括输入层、一个或多个隐藏层以及输出层。BP算法通过计算输出误差并将误差反向传播到网络中,逐步调整权重,以最小化误差。BP神经网络作为一种经典的前馈神经网络,因其强大的学习和泛化能力,在各个领域得到了广泛应用。通过适当的数据预处理、网络结构设计和训练参数调整,BP神经网络能够在模式识别、分类、预测等任务中表现出色。

落魄君子Blog 1889

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Neural Network based on Eorr Back Propagation典型BP网络c++实现

参考资料:人工神经网络-韩力群PPT         看了一些关于基于神经网络的语言模型, 与传统语言模型相比, 除了计算量让人有点不满意之外, 不需要额外的平滑算法, 感觉它们的效果让人惊讶。 这些网络里面都能看到BP的影子, 可以说BP网络是最基本的, 掌握扎实了, 对其他结构理解会更深刻, 于是早在学习语言模型之前我自己曾经用c++写过一个简单的BP网络,虽然功能简单,只有最基本的三

天道酬勤,做一个务实的理想主义者 2235

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

浅谈BP(Back Propagation Neuron Network)

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。 1.BP神经网络工作信号正向传递 BP网络由输入层、隐层、输出层组成。 神经元是以生物研究及大脑的响应机制而建立的拓扑结构网络,模拟神经冲突的过程,多个树突的末端接受外部信号,并传输给神经元处理融合,最后通过轴突将神经传给其它神经元或者效应器。 神经元的拓扑结构如图: 图中x1~xn是从其他神经元传来.

Joanna的博客 981

深度学习 (二)Back Propagation Network

找一个例子实现一遍感知器 推导一下BP网络 隐藏层节点数如何确定? 感知器发展历史? 感知器和逻辑回归区别?

李龙生 1071

Backward Propagation(BP) in Convolutional Neural Network(CNN) 卷积神经网络的反向传播[python代码]

Backward Propagation-BP in Convolutional Neural Network-CNN 卷积神经网络的反向传播[python代码]简介(个人、代码、传承) 简介(个人、代码、传承) 欢迎大家进入GitHub下载相应代码(success.py)、数据(data文件夹)和PPT(BP_in_CNN.pdf) https://github.com/RipperLom/C...

weixin_43473435的博客 1929

Back-propagation Neural Net(BP神经网络)算法实现介绍浅析

(AI还没开始学,神经网络方面的知识缺乏。故暂时不能深入了理解。) 神经网络,可以理解为一个自动机,一个需要学习的自动机。先给其一些学习数据,帮助其建立一个合适的网络。然后就和自动机类似。CodeProject里(http://www.codeproject.com/Articles/13582/Back-propagation-Neural-Net)有这个BP的,不过代码下载有问题。不过网页上

BetaBin 7498

最成功的神经网络学习算法:反向传播

Artificial Neural Networks 人工神经网络 ANN Artificial neural networks (ANN) are computing systems inspired by the biological neural networks that constitute animal brains. 人工神经网络(ANN)是受构成动物大脑的生物神经网络的启发而建立的...

轻舟已过万重山 1946

Error Back Propagation in BPNeuralNetwork及手写字体识别python版

神经网络这么牛掰,归功于其强大的学习能力,而神经网络模型的好坏则依赖于Error Back Propagation 算法的强力支撑,现在对其进行一下推导,知其然知其所以然~神经网络简介  神经网络,顾名思义是尝试去模仿动物神经系统的一种网络模型。举个例子,如下图:   ZjZ_j表示单元jj的输入,hjh_j表示单元jj的输出,h(Zj)h(Z_j)表示激活函数。   具体的神经网络的一些优

yujianmin1990的专栏 861

前向传播算法 Forward propagation 与反向传播算法 Back propagation

前向传播算法 Forward propagation 与反向传播算法 Back propagation

qq_45058973的博客 106

An Introduction to Back-Propagation Neural Networks

An Introduction to Back-Propagation Neural Networksby Pete McCollumSaipan59@juno.comIntroductionThis article focuses on a particular type of neural network model, known as a "feed-forward back-propaga...

weixin_30598225的博客 452

R语言数学建模(3)Back propagation neural network

R语言中B-P神经网络的函数主要集中在neuralnet 和nnet两个包中 一neuralnet包中的neuralnet函数 neuralnet(输出变量~输入变量,data=,hidden,threshold=0.01,stepmax=100000,err.fac=误差函数名,linear.output=T,learningrate=学习率,algorihm=算法名) 解释: hidden 用于确定隐节点数,默认为1,表示一个隐层包含一个隐节点, hidden = ...

qq_53165252的博客 1445
上一篇: 读懂Ensemble,Bagging,Boosting以及Stacking
下一篇: 你不得不了解的卷积神经网络发展史
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

mind_programmonkey

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

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

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

打赏作者

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

抵扣说明:

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

余额充值