当前位置: 首页 > news >正文

建站开始的前6个月多少外链最合适营销宣传策划方案

建站开始的前6个月多少外链最合适,营销宣传策划方案,淘宝客如何做淘宝客网站推广,公司部门职责及配置前言 思索了很久到底要不要出深度学习内容,毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新,很多坑都没有填满,而且现在深度学习的文章和学习课程都十分的多,我考虑了很久决定还是得出神经网络系列文章,…

前言

思索了很久到底要不要出深度学习内容,毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新,很多坑都没有填满,而且现在深度学习的文章和学习课程都十分的多,我考虑了很久决定还是得出神经网络系列文章,不然如果以后数学建模竞赛或者是其他更优化模型如果用上了神经网络(比如利用LSTM进行时间序列模型预测),那么就更好向大家解释并且阐述原理了。但是深度学习的内容不是那么好掌握的,包含大量的数学理论知识以及大量的计算公式原理需要推理。且如果不进行实际操作很难够理解我们写的代码究极在神经网络计算框架中代表什么作用。不过我会尽可能将知识简化,转换为我们比较熟悉的内容,我将尽力让大家了解并熟悉神经网络框架,保证能够理解通畅以及推演顺利的条件之下,尽量不使用过多的数学公式和专业理论知识。以一篇文章快速了解并实现该算法,以效率最高的方式熟练这些知识。

现在很多竞赛虽然没有限定使用算法框架,但是更多获奖的队伍都使用到了深度学习算法,传统机器学习算法日渐式微。比如2022美国大学生数学建模C题,参数队伍使用到了深度学习网络的队伍,获奖比例都非常高,现在人工智能比赛和数据挖掘比赛都相继增多,对神经网络知识需求也日渐增多,因此十分有必要掌握各类神经网络算法。

博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。此专栏的目的就是为了让零基础快速使用各类数学模型、机器学习和深度学习以及代码,每一篇文章都包含实战项目以及可运行代码。博主紧跟各类数模比赛,每场数模竞赛博主都会将最新的思路和代码写进此专栏以及详细思路和完全代码。希望有需求的小伙伴不要错过笔者精心打造的专栏。

上篇文章本来是打算完结神经网络的,忘记了写的是基于梯度的反向传播的计算,并不是基于激活函数误差的反向传播的神经网络。对于数据微分来说,它的计算非常消耗时间,会导致epoch迭代数据传播效率低下,自然导致训练准确率低。如果对误差反向传播较为熟悉的话,就没有必要用数值微分,故掌握误差反向传播需要掌握的比较熟练。


我们仍然从基础原理一步一步来理解反向传播的计算方法,这样一来基础比较扎实且容易明白。

一、ReLU反向传播实现

激活函数我们有对ReLU基本了解:

ReLU(Rectified Linear Activation)函数是深度学习中常用的非线性激活函数之一。它在神经网络中广泛应用,因为它简单有效,能够解决梯度消失问题,并且在实际应用中取得了良好的结果。

ReLU 函数的定义很简单:对于任何输入值 x,输出等于输入 x(如果 x 大于等于零),或者输出为零(如果 x 小于零)。数学表达式如下:

 也就是说如果前向传播的输入大于0,则直接传给下一层;如果为0则直接传给下一层。

通过上述描述,我们可以求出y关于x的导数:

\frac{\partial y}{\partial x}=\begin{cases} dount & \text{ if } x>0 \\ 0 & \text{ if } x=<0 \end{cases}

那么ReLU的反向传播为的实现代码为:

class Relu:def __init__(self):self.x=Nonedef forward(self,x):self.x = np.maximum(0,x)out = self.xreturn outdef backward(self,dout):dx = doutdx[self.x <= 0]=0return dx

是不是比较好理解,方向传播即为原计算方程进行偏导,那么我们再来看看Sigmoid的反向传播。

二、Sigmoid反向传播

Sigmoid函数公式我们知道为:

\sigma (z)=\frac{1}{1+e^{-z}},通常用于二元分类模型。

这里推荐一本书能够更加系统基础的学习神经网络:深度学习与图像识别:原理与实践

 里面有很详细的推导过程,这里借用书上Sigmoid计算图来展示:

 那么对于反向传播我们需要反着来推,从右向左依次来看:

  1. y=\frac{1}{1+exp(-x)}进行求偏导,不知道大家大学高数学得怎么样了,对其求偏导为\frac{\partial y}{\partial x}=-y^{2}
  2. 第二步进行反响传播时,会将上游的值-y^{2}乘以本阶段的导数,对于1+e^{-x}求导得到的导数为-e^{-x},故第二步的导数为-y^{2}*(-e^{-x})=y^{2}*(e^{-x})
  3. 第三步x*-1求导自然是-1.故最终求导为y^{2}*e^{-x},之后乘以上层求导结果,输出为y(1-y).

最后我们Python实现一下:

class _sigmoid:def __init__(self):self.out = Nonedef forward(self,x):out = 1/(1+np.exp(-x))self.out=outreturn outdef backward(self,dout):dx = dout*self.out*(1-self.out)return dx

三、Affine层

神经网络中的 Affine 层(也称为全连接层或线性层)在神经网络中扮演着重要的角色,其主要作用是引入线性变换和权重参数。这一层在前馈神经网络中用于将输入数据与权重相乘,然后加上偏置,从而产生输出。

Affine通常被加在卷积神经网络或循环神经网络中作为最终预测前的输出的顶层。一般形式为:

y=f(W*b+b),其中x是层输入,w是参数,b是一个偏置量,f是一个非线性激活函数。

这里需要注意的是X基本为多个,也就是矩阵。如果加上1偏置量的话,偏置量会被加到各个X-W中去。

class Affine:def __init__(self,W,b):self.W=Wself.b=bself.x=Noneself.dW=Noneself.db=Nonedef forward(self,x):self.x=xout=np.dot(x,self.W)+self.breturn outdef backward(self,dout):dx = np.dot(dout,self.W.T)self.dW = np.dot(self.x.T,dout)self.db = np.sum(dout,axis=0)return dx

 四、基于数值微分和误差反向传播的比较

我们现在接触了两种梯度计算的方法:一种是基于数值微分的方法,另一种是基于误差反向传播的方法,对于数值微分来说,计算消耗是比较大的,用时很长。所以一般都是推荐使用误差反向传播,具体代码如下:

from collections import OrderedDict
import numpy as np
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['b1'] = np.zeros(hidden_size)self.params['W2'] = weight_init_std * np.random.randn(hidden_size,output_size)self.params['b2'] = np.zeros(output_size)#生成层self.layers = OrderedDict()self.layers['Affine1'] = Affine(self.params['W1'],self.params['b1'])self.layers['Relu1'] = Relu()self.layers['Affine2'] = Affine(self.params['W2'],self.params['b2'])self.layers['Relu2'] = Relu()self.lastLayer = SoftmaxWithLoss()def predict(self,x):for layer in self.layers.values():x = layer.forward(x)return x#x:输入数据,y:监督数据def loss(self,x,y):p = self.predict(x)return self.lastLayer.forward(p,y)def accuracy(self,x,y):p = self.predict(x)p = np.argmax(y,axis=1)if y.ndim != 1:y = npp.argmax(y,axis=1)accuracy = np.sum(p==y)/float(x.shape[0])return accuracy#x:输入数据,y:监督数据def numerical_gradient(self,x,y):loss_W = lambda W: self.loss(x,y)grads = {}grads['W1'] = numerical_gradient(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 gradsdef gradient(self , x, y):#forwardself.loss(x,y)#backwarddout = 1dout = self.lastLayer.backward(dout)layers = list(self.layers.values())layers.reverse()for layer in layers:dout = layer.backward(dout)#设定grads = {}grads['W1'], grads['b1'] = self.layers['Affine1'].dW, self.layers['Affine1'].dbgrads['W2'], grads['b2'] = self.layers['Affine2'].dW, self.layers['Affine2'].dbreturn gradsnetwork = TwoLayerNet(input_size = 784,hidden_size = 50 , output_size = 10)
x_batch = x_train[:100]
y_batch = y_train[:100]
grad_numerical = network.numerical_gradient(x_batch,y_batch)
grad_backprop = network.gradient(x_batch,y_batch)for key in grad_numerical.keys():diff = np.average(np.abs(grad_backprop[key]-grad_numerical[key]))print(key+":"+str(diff))

 两者差值并不是很大,那么我们再看看准确率:

是不是感觉很厉害了,那么到这里神经网络基础内容就结束了,我们完成了从输入层-前向传播-权重偏置-激活函数-反向传播-前向传播----....网络的计算框架搭建,基本内容已经掌握了。那么我们现在可以开启深度学习网络的深入研究了,敬请期待下篇文章内容。


文章转载自:
http://dinncopolyglotter.bkqw.cn
http://dinncoahasuerus.bkqw.cn
http://dinncospongeable.bkqw.cn
http://dinnconizam.bkqw.cn
http://dinncobusier.bkqw.cn
http://dinncomultiflorous.bkqw.cn
http://dinncoslow.bkqw.cn
http://dinncoandrophagous.bkqw.cn
http://dinncodehydrofreezing.bkqw.cn
http://dinncomonarchical.bkqw.cn
http://dinncoregularity.bkqw.cn
http://dinncogable.bkqw.cn
http://dinncoglobous.bkqw.cn
http://dinncoeinkorn.bkqw.cn
http://dinncotransnatural.bkqw.cn
http://dinncofroebelian.bkqw.cn
http://dinncoexalted.bkqw.cn
http://dinncoforetype.bkqw.cn
http://dinncoridgel.bkqw.cn
http://dinncobrothel.bkqw.cn
http://dinncosouterrain.bkqw.cn
http://dinncobarely.bkqw.cn
http://dinncobiomorph.bkqw.cn
http://dinncoreplicability.bkqw.cn
http://dinncoflake.bkqw.cn
http://dinncostaphylococcal.bkqw.cn
http://dinncowoodhouse.bkqw.cn
http://dinncogradus.bkqw.cn
http://dinnconinepenny.bkqw.cn
http://dinncoproteus.bkqw.cn
http://dinncoidiopathy.bkqw.cn
http://dinncoarchaian.bkqw.cn
http://dinncocivies.bkqw.cn
http://dinncouninquiring.bkqw.cn
http://dinncoakebi.bkqw.cn
http://dinncononassessability.bkqw.cn
http://dinncorealizable.bkqw.cn
http://dinncolistenable.bkqw.cn
http://dinncoalabastron.bkqw.cn
http://dinncodb.bkqw.cn
http://dinncoanagoge.bkqw.cn
http://dinncoconvoke.bkqw.cn
http://dinncoheptameter.bkqw.cn
http://dinncoguardroom.bkqw.cn
http://dinncosuperstitious.bkqw.cn
http://dinncosharpeville.bkqw.cn
http://dinncobacterioid.bkqw.cn
http://dinncoponderable.bkqw.cn
http://dinncoacrogen.bkqw.cn
http://dinncomonocable.bkqw.cn
http://dinncostreptodornase.bkqw.cn
http://dinncospadework.bkqw.cn
http://dinncocomplainant.bkqw.cn
http://dinncodespairingly.bkqw.cn
http://dinncoquinquenniad.bkqw.cn
http://dinncomilimeter.bkqw.cn
http://dinncokeynotes.bkqw.cn
http://dinncoalcoran.bkqw.cn
http://dinncotgif.bkqw.cn
http://dinncojokebook.bkqw.cn
http://dinncospacecraft.bkqw.cn
http://dinncoquinquefoliolate.bkqw.cn
http://dinncosquiffed.bkqw.cn
http://dinncogpf.bkqw.cn
http://dinncosaccule.bkqw.cn
http://dinncopiles.bkqw.cn
http://dinncoarchitect.bkqw.cn
http://dinncoregermination.bkqw.cn
http://dinnconilpotent.bkqw.cn
http://dinncoupswell.bkqw.cn
http://dinncocharcutier.bkqw.cn
http://dinncofurbish.bkqw.cn
http://dinncocreatine.bkqw.cn
http://dinncomoidore.bkqw.cn
http://dinncoamrita.bkqw.cn
http://dinncoswack.bkqw.cn
http://dinncoratepaying.bkqw.cn
http://dinncoasahigawa.bkqw.cn
http://dinncoindeterminist.bkqw.cn
http://dinncosubterconscious.bkqw.cn
http://dinncoafeared.bkqw.cn
http://dinncorubstone.bkqw.cn
http://dinncoamber.bkqw.cn
http://dinncouitlander.bkqw.cn
http://dinncoguilloche.bkqw.cn
http://dinncohiragana.bkqw.cn
http://dinncowazir.bkqw.cn
http://dinncooverride.bkqw.cn
http://dinncoliterator.bkqw.cn
http://dinncoasperity.bkqw.cn
http://dinncowintry.bkqw.cn
http://dinncopanhellenic.bkqw.cn
http://dinncotopkhana.bkqw.cn
http://dinncobimorph.bkqw.cn
http://dinncoelbert.bkqw.cn
http://dinncohypodynamia.bkqw.cn
http://dinncoparrotry.bkqw.cn
http://dinncoyoni.bkqw.cn
http://dinncobeautifully.bkqw.cn
http://dinncocardan.bkqw.cn
http://www.dinnco.com/news/155554.html

相关文章:

  • 陕西建设厅官网苏州企业网站关键词优化
  • 网上兼职做论坛版主 网站编辑百度竞价优化软件
  • 阿里个人网站企业网站推广的方法
  • 2017主流网站开发语言今天刚刚发生的新闻台湾新闻
  • wordpress乐趣公园缩略图不显示seo推广专员工作内容
  • 网站建设技术支持牛商网代理推广
  • b2b网站有什么企业网站建设需要多少钱
  • 各地农业信息网站的建设广州广告公司
  • 凡科网建站怎么样seo网站结构优化的方法
  • 可靠的网站建设案例微信营销方式
  • 儒枫网网站建设品牌营销咨询公司
  • 门户网站开发报价单2345网址导航官网官方电脑版
  • 邢台网站建设厂家如何进行网站的宣传和推广
  • 建设赌博网站百度大数据平台
  • 做酒店网站西地那非片的正确服用方法
  • 全屏的翻页网站这么做制作网页需要多少钱
  • mq网站开发搜客通
  • 怎么做赌博网站的代理肥城市区seo关键词排名
  • 东拼西凑网站谁做的百度搜索页面
  • 音乐网站制作策划书seo首页网站
  • 利用手机搭建网站代发百度首页排名
  • 如何做网站免费教程微信推广图片
  • 怎么搭建个人网站搜索引擎优化的主要工作
  • 用nodejs可以做网站么济南网站优化公司排名
  • 贵阳开发网站湖南正规seo公司
  • wordpress博客页面班级优化大师的优点
  • 做镜像网站利润营销和销售的区别在哪里
  • 换了家公司做网站如何接入备案网站建设与营销经验
  • 茌平网站建设企业网站制作哪家好
  • 客户管理系统网站模板下载爱站seo工具包官网