神经网络实现连续型变量的回归预测(python)

本文介绍了如何使用BP神经网络进行连续变量的预测。通过建立包含回归模型、灰色预测模型和BP神经网络的组合预测模型库,作者构建了一个BP神经网络组合预测模型,并详细说明了从分类决策代码修改为连续预测的过程,包括最后一层不使用激活函数和损失函数改为均方误差(MSE)的关键改动。

最近写论文时用到一个方法,是基于神经网络的最优组合预测,主要思想如下:在建立由回归模型、灰色预测模型、BP神经网络预测模型组成的组合预测模型库的基础上,利用以上三种单一预测模型的组合构成BP神经网络组合预测模型。(我是参考的参考这篇文章:路玉龙,韩靖,余思婧,张鸿雁.BP神经网络组合预测在城市生活垃圾产量预测中应用)

我的目的

我需要用BP神经网络来做连续预测。关于BP神经网络的python实现网上有很多,但大多是用于分类决策,于是不得不搞清楚原理改代码。
以下是我参考的一篇BP神经网络的分类决策的实现(我的连续预测的代码是基于下面这个链接改的,在此致谢一下):
https://www.cnblogs.com/Finley/p/5946000.html

修改思路

(1)最后一层不激活,直接输出。或者说把激活函数看作f(x)=x
(2)损失函数函数改为MSE

代码

代码中用两个#——-围起来的就是我更正的部分。

import math
import random

random.seed(0)
def rand(a, b):
    return (b - a) * random.random() + a

def make_matrix(m, n, fill=0.0):
    mat = []
    for i in range(m):
        mat.append([fill] * n)
    return mat

def sigmoid(x):
    return 1.0 / (1.0 + math.exp(-x))

def sigmoid_derivative(x):
    return x * (1 - x)

class BPNeuralNetwork:
    def __init__(
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值