机器学习算法神经网络和深度学习-4重要的bp网络使用总结,了解bp神经网络的魅力

晴天qt01 晴天qt01     2022-11-30     744

关键词:

目录

BP神经网络需要注意的地方。

数值型字段的预处理方式

类别型字段的预处理方式:

目标字段的数据预处理:

实际案例

BP神经网络与逻辑回归、线性回归及非线性回归间的关系。

BP神经网络的优缺点:


我的主页:晴天qt01的博客_CSDN博客-数据分析师领域博主

目前进度:第四部分【机器学习算法】

BP神经网络需要注意的地方。

今天我们主要和大家说一下BP神经网络需要注意的地方

数值型字段的预处理方式

因为我们BP神经网络输入字段一般只接受0-1之间的数值,所以我们要对数值型字段进行处理,比较通用的有极值标准化,

极值标准化,就是将某值减去最小值除以最大值和最小值的差。

 

数值型或者顺序型的数值,都可以用该值无论原来的值有多大,都会被处理为0~1之间

类别型字段的预处理方式:

比如类别型字段里有男女,或者很多个种类的字段。 一般有3种编码处理方法,按情况而定

第一种distributed(binary)coding scheme

这个叫分散编码技巧,比如4个种类,我们采用2个神经元进行输入,种类1是0,1,种类2是1,0,种类3是1,1,种类4是0,0

这种编码技巧不好,虽然神经元比较少,但是效果通常比较差。为什么呢:因为系统会自动认为01,10,这两个的距离比较近,而11,00,的距离比较远。事实是4个值互相独立,没有距离的关系。

第二种1-of-N coding scheme

这个编码方式使用的人比较多。这个其实就是我们的one hot encoding独热编码的模式。比如4个种类的类别字段,我们就采取4个神经元进行输入,1000代表种类1,0100代表种类2,0010代表种类3,0001代表种类4

第三种1-of-N-1 coding scheme

这个编码方式使用的人也比较多,就是之前我们说独热模型,可能会导致神经元间共线性极强,就会采取少一个输入层神经元。比如4个种类。种类1是100,种类2是010,种类3是001,种类4是000。它和上面的方法差不多。

目标字段的数据预处理:

因为我们神经网络使用的是sigmoid function 所以就会导致结果数值,

比如目前我需要预测某人的年收入,1万,2万,还是3万,我们就不能使用这种数值,必须要标准化,让他介于0-1之间,

就可以把它设为1个神经元节点,分为高收入(high loyalty)和第收入(low loyalty)越接近1就收入就越高,越接近0收入就越低。或者用两个节点,10代表高收入(high loyalty)01代表低收入(low loyalty)也可以。两个节点就必须用softmax function 因为不能同时高收入或者低收入

如果输出的是n个值比如杂志喜好也要用独热模型,1-of-N的编码模式来编码。比如4个种类,我们采用4个神经元进行输出,种类1是0,1,0,0种类2是1,0,0,0种类3是0,0,0,1,种类4是0,0,1,0,

数据预处理实际案例:

案例一,客户好坏预测

 

这是一个分两类的问题。B代表坏客户,G代表好客户。输入字段都是数值型字段。education一般是类别型

这里的数值型字段我们都采用了极值标准化的方法,教育字段我们采用了独热模型的编码方式 目标字段有两种情况,第一种就是把坏客户当成1,好客户当成0,或者采用2个字段,好客户为10,坏客户为01。

两种方法的区别就在于激活函数,一个用的是smoid function和softmax function

案例二数字预测:

 

输入字段1是促销花费,area是电面面积,position是店面位置,0是市区,1是郊区。刚好。目标字段是来电客户人数千人为单位。

前两个字段我们就直接采用极值标准化。Position改变一下字段类型就好。然后目标字段也是进行极值标准化,但是因为我们要预测的话肯定要把结果还原为原来的数值。预测之后,这时我们直接把它乘以最大值与最小值的差,在加上最小值,就会变回原来的数值。

所以目标字段是数值型字段还是类别型字段的唯一区别就在于前者介于0-1之间,后者要么是1要么是0(狗头)

BP神经网络总结:

我们做一个BP神经网络的总结,

BP神经网络有输入层,隐藏层,输出层

输入层将数据给隐藏层,隐藏层用组合函数组合之后,过激活函数,这边最经常使用的是sigmoid function,

输出层就看你是回归问题还是二分类还是,多分类问题。第一个用线性函数,第二个就sigmoid,第三个就softmax函数。

刚开始我们使用从左往右的处理方式feedforward 然后结果不理想,在使用backward pass 来修正权重值和bias。利用节点误差来调整。先利用输出层的节点误差,然后隐藏层的节点误差,一步一步由后往前传导过去。得到优化的BP神经网络模型。

BP神经网络与逻辑回归、线性回归及非线性回归间的关系。

 

这边如果我们采用的是只有输入输出层,激活函数用的线性函数,这种两层式的BP模型,就会退化为线性回归模型。

 

我们会发现得到的模型就是就是I1*w1+I2*w2+bias=O1

还是一样,我们只有输出层和输出层,其中激活函数用的是sigmoid function。那么你就会发现。这样两层的神经网络,就会退化为逻辑回归。基本是就是在做2分类的问题。左图也被我们称为二元逻辑回归。在统计里把sigmoid函数叫做逻辑函数。是同一个函数,一模一样。输出层改为多神经元,那就会变成多元逻辑回归。

 

右图是增加了一个异常层的逻辑回归问题,那么能解决的就可以是非常复杂的非线性的逻辑回归模型。所以其实BP神经网络是一个集大成的神经网络,它可以同设定网络架构的方式来变为不同的模型。

 

BP神经网络的优缺点:

BP神经网络的优点:

1:预测的准确度很高

2:能很快的预测出结果(不用像决策树一样考虑要走左边还是右边,它直接一条路计算走到黑。)

缺点:

训练时间非常长,尤其是到深度学习的时候,它可能要训练好几天。

很难了解其中的权重值代表什么含义。(使用我们经常叫它黑箱子,因为没有可读性,但是输入的值有很准确。)

机器学习的两次浪潮——浅层学习和深度学习

...习是机器学习的第一次浪潮20世纪80年代末期,用于人工神经网络的反向传播算法(也叫BackPropagation算法或者BP算法)的发明,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮。这个热潮一直持续到今天。人们发现,... 查看详情

视觉机器学习读书笔记--------bp学习

...m)即BP学习属于监督式学习算法,是非常重要的一种人工神经网络学习方法,常被用来训练前馈型多层感知器神经网络。一、BP学习原理1、前馈型神经网络   是指网络在处理信息时,信息只能由输入层进入网络,随后... 查看详情

bp神经网络

神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。 1. 神经元神经元是神经网... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1深度学习的发展历史(完整版)

...发展历史1.深度学习发展历史2.深度学习的发展趋势3.人工神经网络4.模型与算法4.1前馈神经网络4.2前馈神经网络特点4.3前馈神经网络结构4.4BP神经网络4.5BP网络结构4.6BP网络学习算法4.6.1信号的前向传递过程4.6.1误差方向传导过程1.... 查看详情

深度学习简介——卷积神经网络

   深度学习简介深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习从大类上可以归入神经网络,不过在具体实现上有许多变化。深度学习的核心是特征学习,旨在通... 查看详情

bp算法基本原理推导----《机器学习》笔记

...rorBackPropagation)算法就是成功的代表,它是迄今最成功的神经网络学习算法。今天就来探讨下BP算法的原理以及公式推导吧。神经网络先来简单介绍一下神经网络,引入基本的计算公式,方便后面推导使用图1神经网络神经元模型... 查看详情

唐宇迪-人工智能学习路线(下篇)

...其实最核心的还是在计算机视觉和自然语言处理中,因为神经网络算法更适用于图像和文本数据。主要需要掌握的就是算法和框架了,算法就是CNN,RNN这些经典网络模型,框架就是实战的工具了例如tenorflow,Pytorch等,后面还会详细... 查看详情

机器学习vs深度学习:了解两者的异同

...分类。深度学习是机器学习的一个分支,它利用多层神经网络来处理复杂的数据和任务。深度学习中的神经网络由许多节点和层组成,每个节点都会接收一些输入,并计算出相应的输出。通过不断地调整网络参数࿰... 查看详情

人工智能,神经网络算法,机器学习,深度学习三者关系

对于很多初入学习人工智能的学习者来说,对人工智能、机器学习、深度学习的概念和区别还不是很了解,有可能你每天都能听到这个概念,也经常提这个概念,但是你真的懂它们之间的关系吗?那么接下来就给大家从概念和特... 查看详情

深度学习和机器学习的区别是啥

...,其本身也会用到有监督和无监督的学习方法来训练深度神经网络。但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。3、机器学习最基本的做法... 查看详情

14深度学习-卷积(代码片段)

...一种实现机器学习的技术和学习方法。 2. 全连接神经网络与卷积神经网络的联系与区别。解析:卷积神经网络也是通过一层一层的节点组织起来的。和全连接神经网络一样,卷积神经网络中的每一个节 查看详情

深度学习基础--神经网络--bp反向传播算法

...函数关系叫做激励函数。)  (假如不使用激励函数,神经网络中的每层都只是做简单的线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力不够,激励函数可以引入非线性因素)    下面两幅图分别为... 查看详情

人工智能——深度学习

...量机深度学习(DeepLearning)深度学习的方法卷积神经网络(CNN)循环神经网络(RNN)玻尔兹曼机ÿ 查看详情

tensorflow入门学习3重要算法基础

...经元模型神经元j输入信号权值输出信号总和膜电位阈值BP神经网络简介在人工神经网络的发展历史上,感知机(MultilayerPerceptron,MLP)网 查看详情

机器学习——深度神经网络实践(fcncnnbp)(代码片段)

目录系列文章目录一、CNN(卷积神经网络)与FCN(全连接网络)的异同1.相同点2.区别二、神经网络前向后向传播算法的优化迭代公式三、深度神经网络算法的应用1.人脸识别1.1数据导入1.2模型搭建与使用1.3结果与... 查看详情

深度学习-综述

...它是利用BP算法来完成这个发现过程的。BP算法能够指导机器如何从前一层获取误差而改变本层的内部参数,这些内部参数可以用于计算表示。深度卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络在处理序... 查看详情

bp算法完整推导2.0(上)

...反向传播算法(ErrorBackPropagationTraining)简称BP,解决了,多层神经网络,隐含层连接权值学习问题.BP用来干嘛:根据训练的误差,来动态更新节点之间的权值.分别独立发现:好比牛顿和莱布尼兹分别从各自领域创建了微积分.不由感慨,成功... 查看详情

简单易学的机器学习算法——神经网络之bp神经网络

一、BP神经网络的概念  BP神经网络是一种多层的前馈神经网络,其基本的特点是:信号是前向传播的,而误差是反向传播的。详细来说。对于例如以下的仅仅含一个隐层的神经网络模型:(三层BP神经网络模型)BP神经网络... 查看详情