位置: IT常识 - 正文

机器学习——BP神经网络详细介绍及案例Python代码实现

编辑:rootadmin
机器学习——BP神经网络详细介绍及案例Python代码实现

推荐整理分享机器学习——BP神经网络详细介绍及案例Python代码实现,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

哒哒!来咯!来喽!

BP(Back Propagation)称误差反向传播,1985年由Rumelhart 和 McCelland提出。神经元函数如图:

(一)、举个通俗易懂的例子:假如,我说的是假如喔,我拥有N个亿,那肯定不用说了,我的N肯定是极限中lim下的正无穷啦!我要进行投资给五个公司,投给每个公司的权重分别为w1、w2、w3、w4、w5,而每个公司我的收益是不同的分别为:m1、m2、m3、m4、m5,最后我的总收益为:

 

那么问题来了,神经网络可以这么表示(如下图):

(二)、反向传播

学过Java想必大家都会编写猜数小游戏,你设定一个数,限制猜这个数的次数,比如:我设定数字为66,第一次你猜33,我说小了。对于我的信息反馈就是反向传播  ,你说的信息是正向传播。从这里你是否可以感觉这个反向传播,是不是很像测量值与真实值之间的误差信息。

(三)、激活函数——需要用一个非线性函数,将线性分量用于输入。需要通过将激活函数应用于线性组合来完成。激活函数将输入信号转换为输出信号。应用激活函数后的输出为f(a⋅W1+b))f(a⋅W1+b)),其中f()就是激活函数。

Sigmoid——最常用的激活函数之一,它被定义为 :

    Sigmoid变换呈现出值域为[0,1]的S型生长曲线。如果你需要观察在输入变化极小的情况下,输出值的变化,此时Sigmoid函数优于阶跃函数。

(四)BP神经网络

机器学习——BP神经网络详细介绍及案例Python代码实现

 从上图我们看到了,神经元函数的构造:我们发现了激活函数,激活函数就是在隐藏层中发挥着作用,当我们利用神经网络做回归的时候最后一列的隐层不含有激活函数,激活函数的作用就是非线性组合,也不知道大家会不会理解,那就再画个简单的图(这个里面没有添加偏置项b在架构网络的时候大家可以设定):

所以在我们进行建模竞赛的时候 ,对于多变量的关系可以采取拟合或者线性回归。

那么BP神经网络的反向在哪里呢? 

在我们进行权值计算的时候,我们得到的结果还可以和真实值进行对比也就是损失函数(loss)。

损失函数(loss)——建立一个网络时,为了将结果预测得尽可能靠近实际值。我们使用损失函数来衡量网络的准确,而损失函数会在发生错误时尝试惩罚网络。运行网络的目标是提高预测精度并减少误差,从而最大限度地降低成本。最优化的输出是那些成本或损失函数值最小的输出。

正向传播就是:我们通过输入让信息从输入层进入神经网络。

不知道会不会有人和我有一样的问题:它求不出来表达式,那可以干嘛呢?可以预测呀,很重要的!

(五)、房价预测实例

1.数据集:

 2.代码(和前面博文的步骤一样,只是不同在函数的调用)

from sklearn.datasets import load_bostonimport numpy as npimport pandas as pddata=pd.read_csv('./data_picture/chapter1/boston_house_prices.csv')data.head()from sklearn.model_selection import train_test_splitX=data.drop('MEDV',axis=1) y=data['MEDV'] X=X.values y=y.values X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=33,test_size=0.25)from sklearn.preprocessing import StandardScalerss_X=StandardScaler()scaler_X=ss_X.fit(X_train)X_train=scaler_X.transform(X_train)X_test=scaler_X.transform(X_test)from sklearn.neural_network import MLPRegressormodel = MLPRegressor(solver='lbfgs', hidden_layer_sizes=(15,15), random_state=1)model.fit(X_train, y_train)from sklearn.metrics import r2_score,mean_squared_error,mean_absolute_errorprint('训练集回归评估指标:')model_score1=model.score(X_train,y_train) print('The accuracy of train data is',model_score1) print('测试集回归评估指标:')model_score2=model.score(X_test,y_test) print('The accuracy of test data is',model_score2) y_test_predict=model.predict(X_test)mse=mean_squared_error(y_test,y_test_predict) print('The value of mean_squared_error:',mse)mae=mean_absolute_error(y_test,y_test_predict) print('The value of mean_absolute_error:',mae)

结果:

3.新的数据进行预测:

new_data=np.array([[0.22489,12.5,7.87,0,0.524,6.377,94.3,6.3467, 5.,311,15.2,392.52,20.45], [0.3489,11.5,7.7,0,0.526,6.477,94.3,16.3467, 5.,313,15.2,392.55,20.45]])X_new=scaler_X.transform(new_data) #标准化y_new=model.predict(X_new) #预测print(y_new)

 结果:

 房价预测范围。

本文链接地址:https://www.jiuchutong.com/zhishi/299291.html 转载请保留说明!

上一篇:flex 的 三个参数:flex-grow、flex-shrink、flex-basis(flex的作用及设置)

下一篇:Vue--》详解Vue组件生命周期的三个阶段(vue组件入门)

  • 铃声多多苹果手机怎么设置来电铃声(铃声多多苹果手机设置来电铃声 库乐队)

    铃声多多苹果手机怎么设置来电铃声(铃声多多苹果手机设置来电铃声 库乐队)

  • 订阅扣费怎么申请退款(订阅扣费怎么申请退款待处理)

    订阅扣费怎么申请退款(订阅扣费怎么申请退款待处理)

  • 支付宝怎么提现(支付宝怎么提现到银行卡)

    支付宝怎么提现(支付宝怎么提现到银行卡)

  • 京东确认收货是什么意思(京东买东西确认收货是什么意思)

    京东确认收货是什么意思(京东买东西确认收货是什么意思)

  • 快手拉黑和删除区别(快手拉黑和删除拉黑的区别)

    快手拉黑和删除区别(快手拉黑和删除拉黑的区别)

  • 网易云粉团会掉吗(网易云粉团退出会退钱吗)

    网易云粉团会掉吗(网易云粉团退出会退钱吗)

  • 听喜马拉雅老是自己停怎么办(喜马拉雅为什么听着听着就断暂停)

    听喜马拉雅老是自己停怎么办(喜马拉雅为什么听着听着就断暂停)

  • iphone8外放屏幕震动正常吗(iphone8外放屏幕震动解决)

    iphone8外放屏幕震动正常吗(iphone8外放屏幕震动解决)

  • 手机功率一般多大(手机功率一般多少)

    手机功率一般多大(手机功率一般多少)

  • vivo手机nex3支持无线充电吗(vivo nex3支持nfc吗)

    vivo手机nex3支持无线充电吗(vivo nex3支持nfc吗)

  • 快手极速版有上限吗(快手极速版有上限怎么办)

    快手极速版有上限吗(快手极速版有上限怎么办)

  • 怎样上传qq群文件而没有提醒(怎样上传qq群文件夹)

    怎样上传qq群文件而没有提醒(怎样上传qq群文件夹)

  • 电脑中英文切换键(电脑中英文切换不了,一直是字母)

    电脑中英文切换键(电脑中英文切换不了,一直是字母)

  • qq显示手机在线是什么意思(qq显示手机在线和wifi在线有区别吗)

    qq显示手机在线是什么意思(qq显示手机在线和wifi在线有区别吗)

  • 小米换机卡住不动了怎么办(小米手机换机过程中一直卡在44%)

    小米换机卡住不动了怎么办(小米手机换机过程中一直卡在44%)

  • 咪咕音乐下载的歌曲在哪个文件夹(咪咕音乐下载的歌是永久的吗)

    咪咕音乐下载的歌曲在哪个文件夹(咪咕音乐下载的歌是永久的吗)

  • 苹果和苹果间怎么传app(苹果与苹果之间)

    苹果和苹果间怎么传app(苹果与苹果之间)

  • 苹果x的耳机插在哪(iphonex插耳机)

    苹果x的耳机插在哪(iphonex插耳机)

  • 电信橙分期怎么取消(电信橙分期怎么彻底解除)

    电信橙分期怎么取消(电信橙分期怎么彻底解除)

  • 淘宝卖家怎样拒绝发货(淘宝卖家怎么拒收别人的消息)

    淘宝卖家怎样拒绝发货(淘宝卖家怎么拒收别人的消息)

  • 苹果xsmax开机键在哪(苹果13开机键)

    苹果xsmax开机键在哪(苹果13开机键)

  • 360扩展器怎么设置(360扩展器怎么设置视频)

    360扩展器怎么设置(360扩展器怎么设置视频)

  • .oppo手机上面出现电话和HD怎么消除(.oppo手机上面出现电话和HD)

    .oppo手机上面出现电话和HD怎么消除(.oppo手机上面出现电话和HD)

  • 如何清理ios系统内存(怎么清理iphone系统)

    如何清理ios系统内存(怎么清理iphone系统)

  • Linux中用于进程显示的top命令使用实例集锦(linux的进程类型)

    Linux中用于进程显示的top命令使用实例集锦(linux的进程类型)

  • 增值税计入成本吗?
  • 经营租赁含有免租金吗
  • 投资性房地产公允价值变动
  • 免抵退税退的是什么税
  • 支付租金对方公司提供发票如何入账
  • 消费税在哪个环节可以抵扣
  • 发票抬头开个人可以吗
  • 开票资料银行必须填写吗
  • 一般纳税人10万以下免什么税
  • 小企业出租设备分录
  • 税务机关和自然人属于平等主体吗
  • 财务报表的资产负债表怎么填
  • 出纳人员应该怎么称呼
  • 坏账准备期末应有余额怎么算
  • 职工食堂开支会计处理
  • 股东货币出资比例
  • 购买的厂房怎样交税
  • 一个月计提2个月工资
  • 建筑企业增值税预缴
  • 增值税怎么勾选
  • 工商年报单位缴费基数从哪看
  • 航天信息300元是什么费用
  • 企业向职工发放的奖金属于
  • 药品增值税简易征收
  • 委托加工费的增值税计入成本吗
  • 国资委是什么
  • 小规模零申报资产负债表报错了要交印花税吗
  • led电子屏税收编码
  • 企业所得税退税怎么做账务处理
  • 王者荣耀中墨子的最强出装
  • 员工加班车费会计分录
  • 债转股税收优惠政策
  • 固定资产如何做账务处理
  • 高新技术产业的税收优惠
  • 设备租赁会计科目
  • 内斯塔特点
  • php批量更新数据库
  • PHP:imagecolorclosesthwb()的用法_GD库图像处理函数
  • 请问怎么清除
  • 固定资产折旧计算方法公式大全
  • Pytorch深度学习实战3-7:详解数据加载DataLoader与模型处理
  • php post数据
  • php fopen函数的用法
  • yum命令详解
  • 激活接口的命令
  • 一般纳税人进项税怎么抵扣
  • 车船税每年都要付吗
  • 小规模纳税人开票额度
  • 支付货款没有收据怎么办
  • 帝国cms采集发布的文章链接打不开
  • 待认证进项税额是二级科目还是三级科目
  • mysql正则表达式匹配数字
  • 销售收入怎么入账
  • 什么情况没有排卵期
  • 发放个税返还用不用申报
  • 列入固定资产的标准
  • 出售转让固定资产的账务处理
  • 建筑预缴税款什么意思
  • 企业收到投资款怎么入账
  • 成本不够如何计算出来
  • 房屋租赁合同印花税的税率
  • 损益类科目增加记哪方
  • 发放工资并扣个人所得税
  • sqlserver2000数据库安装教程
  • 数据库sql server
  • 播放windows xp
  • Winxp安装光盘修复
  • win8.1网络不可用怎么办
  • macbook桌面2
  • win8.1如何关闭windows defender
  • win10显示win8
  • pphelper是什么文件
  • 更新win8
  • win7关闭右下角操作中心
  • node.js中的http.createClient方法使用说明
  • ubuntu20.04怎么安装
  • express.js教程
  • jQuery插件cxSelect多级联动下拉菜单实例解析
  • 契税含不含精装修
  • 长沙个体户缴纳个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设