新普金娱乐网址


西洋篇数学,杂交怪兽动物园

二零一五-2015读书安排

穿过千山万水去原谅你(二 )进城

  • 二月 16, 2019
  • 数学
  • 没有评论

  深度学习所示深层神经互连网的代名词,首要特点:多层、非线性。

 水浮萍告诉三姑“我情愿去城里,照顾表姑家的儿女。”

  若只经过线性变换,任意层的神经互联网模型与单层神经网络模型的表明能力没有别的分裂,那是线性模型的局限性。对于线性可分的题材中,线性模型可一挥而就,但在现实生活中,绝大多数的难点都是无力回天线性分割的。
  感知机:单层神经互联网。不能处理异或题材。

 二姑固然时常骂他,打他,但是,也是拳拳的认为她还应该学学,她们家有个远房亲戚,在省城,夫妻俩都在诊所上班,孩子太小,长辈都不可以看孩子,托他们在乡间找个保姆,岳母不愿意自身孩子如此小,去给人家打工,越发是去当保姆。

一,激活函数

  将每3个神经元(神经互联网的节点)的出口通过三个非线性函数便可使得全体神经互联网的模子非线性化,那些非线性函数就是激活函数。
  常用非线性激活函数:tf.nn.relu、tf.sigmoid、tf.tanh;使用方式,例:

tf.nn.relu(tf.matmul(x,w1)+biases1)  

偏置项:可见道为数学中y=ax+b中的b,假若在分拣的气象下,两点刚万幸经过原点的直线上,假若没有偏置项b的话,无法分割直线将多个点分别。

望着有点为难的大姑,青萍一边切菜做饭,一边说“妈,作者一定的出来打工,表嫂们立马长大了,我学习你势必也一直不钱,再说,小编初中完成学业也不到年龄,不去表姑那,也没地点可以去打工的,带子女,作者没问题,大姐们有3个上个好学就行了。”

二,损失函数

  概念:用来评论模型的预测值Y^=f(X)与实际值Y的差别等程度,它是七个非负实值函数。平时使用L(Y,f(x))来代表,损失函数越小,模型的习性就越好。

  • 经文损失函数

1.分类难题:将差其余样本分到事先定义好的体系中。常用交叉熵计算;总计办法:

cross_entropy=-tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
#y_正确结果,y测试结果;y_*tf.log(tf.clip_by_value(y,1e-10,1.0))得到n*m的二维矩阵,
#n为样例的数量,m为分类的类别数量。由于交叉熵一般与softmax回归一起使用,所以tf对其进行统一封装,  
cross_entropy=tf.nn.softmax_cross_entropy_with_logits(y,y_)

  2.回归难点:对现实数值的展望。常用均方差;总括方式:

mse=tf.reduce_mean(tf.square(y_-y)#y_标准答案,y输出答案
  • 自定义损失函数
      除了分类和回归还有任何标题,所以可以根据具体景况,具体写对应的损失函数。

实际上她巴不得,早点离开家,高校也没太多留恋,功课更加多,数学越来越难,反正自身最多上到初三结业,早离开家也好。

叁,神经互连网优化算法

    目标:使损失函数尽或者的小;

  • 反向传播算法(backpropagtion):给出贰个快捷的主目的在于具有参数上利用梯度下落算法;是教练神经互连网的大旨算法,可以依照定义好的损失函数优化神经互连网中参数的取值;
  • 梯度下跌算法(gradient decent):优化单个参数的取值
      当须要损失函数的值为最小值时,可以依据其偏导来判断其降低趋势,梯度便是偏导值;当损失函数未到细微值时,(损失函数-梯度)可变的更小,使用反向传播算法,可平素将损失函数减去其梯度,知道拿到最小的损失函数;其中由于梯度大概过大,导致失去最小值,所以可在梯度的值乘以学习率。即:下五个损失函数=损失函数-梯度*学习率(其中梯度便是损失函数的偏导),上面给出二个损失函数为y=x^2的例子:

    • TRAINING_STEPS=5
      x=tf.Variable(tf.constant(5,dtype=tf.float32),name='x')
      y=tf.square(x)
      train_op=tf.train.GradientDescentOptimizer(0.3).minimize(y)#实现梯度下降算法的优化器
      with tf.Session() as sess:
          sess.run(tf.global_variables_initializer())
          for i in range(TRAINING_STEPS):
              sess.run(train_op)
              x_value=sess.run(x)
              print(i+1, x_value)
      
![](https://i.imgur.com/c8FDpPz.png)  
**注意:**梯度下降算法并不可保证优化的函数能得到全局最优解,只有损失函数为凸函数时才可保证;样例如下图
  •  图片 1
  • 私下梯度下跌算法(stochastic gradient
    decent):梯度下跌算法中,由于总括的是整套教练多少上最小化最优,所以损失函数是在拥有陶冶多少上的损失和,那样每轮迭代促成时间过长;由此难题引出随机梯度下跌算法,随机优化某一条锻练多少上的损失函数。该格局即使达到时间缩小,不过会导致函数不可能获取全局最优。

  • 骨子里运用方法:梯度与人身自由梯度的折中–每一回总计一小部分练习多少的损失函数(batch),该办法可大大减弱收敛所需的迭代次数,缩长时间,同时可使收敛到的结果最优。神经互联网的练习大都遵守以下进度:

  • batch_size=n

    #读取一小部分数据作为当前训练集
    x=tf.placeholder(tf.float32,shape=[None,2],name='x-input')
    x=tf.placeholder(tf.float32,shape=[None,1],name='y-input')
    #定义神经网络结构和优化算法
    loss=...
    train_step=tf.train.AdamOptimizer(0.001).minimize(loss)
    
    with tf.Session() as sess:
        #参数初始化
        ...
        #迭代更新参数
        for i in range(STEPS):
            #将所有随机数据重新打乱之后再选取将会获得更好的优化效果
            X=..
            Y=...
            sess.run(train_step,feed_dict={x:X,y:Y})   
    

他告知堂妹们要听大妈的话,毅然收拾了一包时装,和表姑夫一起,去省城了,至今,她照例记得,自个儿就算拿着一包旧衣裳,却豪情万丈,要把家中的苦闷,永远抛在身后,却没悟出,那只是惊恐不已的梦的启幕。

四,神经网络的一发优化

  • 学习率的设置
      在梯度下跌算法中,借使学习率取值过大,大概会冒出数值两边震荡的动静,永远都到达不了极值,而若学习率取值过小,则会大大降低优化的速度,TensorFlow提供了学习率设置的艺术–指数衰减法,更改上边的梯度例子如下:

  • TRAINING_STEPS=100

    global_step=tf.Variable(1)#初始化为0
    #def exponential_decay(learning_rate, global_step, decay_steps, decay_rate,
    #                      staircase=False, name=None):分别为:初始学习率,经过decay_steps轮计算,学习率乘以decay_rate,staircase为T,学习率阶梯状衰减,否则,连续衰减
    LEA_RATE=tf.train.exponential_decay(0.1,global_step,1,0.96,staircase=False)#获得学习率,指数衰减法,开始较大的衰减率,后来指数变小
    x=tf.Variable(tf.constant(5,dtype=tf.float32),name='x')
    y=tf.square(x)
    train_op=tf.train.GradientDescentOptimizer(LEA_RATE).minimize(y,global_step=global_step)#实现梯度下降算法的优化器,global_step会自动加1,可当计数器用
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        for i in range(TRAINING_STEPS):
            sess.run(train_op)
    
            LEA_RATE_value=sess.run(LEA_RATE)
            x_value=sess.run(x)
            print(i+1, i+1, x_value, LEA_RATE_value,sess.run(global_step))
    
  • 过拟合难题
      概念:当二个模子过为复杂过后,它会很好的‘回忆’每一个陶冶多少中随机随机噪音的一部分而忘掉了要去‘学习’陶冶多少中通用的来头。意思就是过拟合数据中的随机噪音固然可获取极小的损失函数,不过对岗位数据或者不可以做出可相信的判读。
      化解办法:正则化–在损失函数中添加刻画模型复杂程度的目的。使用方法:

  • #lambda正则化项的权重,w必要总结正则化损失的参数,约等于边缘的权重

    loss=之前的损失函数+tf.contrib.layers.l2_regularizer(lambda)(w)
    
    print(sess.run(tf.contrib.layers.l1_regularizer(0.5)(w)))#w中每个元素的绝对值之和乘0.5,所以值为5
    print(sess.run(tf.contrib.layers.l2_regularizer(0.5)(w)))#w中每个元素的平方和除以2再乘0.5,结果为7.5
    print(sess.run(tf.contrib.layers.l1_l2_regularizer(0.5)(w)))#w中的每个元素之和乘0.5+w中每个元素的平方和乘(1-0.5)
    

     当神经网络的参数增多时,损失函数也将会增多,若将其写在贰个定义中,可读性会很差,容易出错,所以在TensorFlow中可以用一下主意:

  • #losses是会合的名字1,mse_loss是进入集合的故事情节

    tf.add_to_collection('losses', mse_loss)
    #get_collection返回的是losses集合,add_n是将集合的中值求和
    loss = tf.add_n(tf.get_collection('losses'))
    

表姑是一个身材很小,热情的女生,长着一张看完,令人记不住的脸,在医务室内科上班,常常上夜班,平常二十四小时,只要电话来了,就得立时去诊所,万幸,医院离家很近,她说,医师的工作,特别血液科医务卫生人员,根本不是女生的做事,有的时候,抱着病者的肠道,一抱几个时辰,血液科的伤者,因为出车祸,急诊的专门多,轻伤好在,重伤,手术得很久,作为女性,当男科医务人员,体力消耗太大了。

伍,滑动平均模型

  成效:在利用随机梯度下跌算法练习神经互连网时,可只用该格局在自然水准上展开优化。使用格局如下:

v1=tf.Variable(0,dtype=tf.float32)
step=tf.Variable(0,trainable=False)
#定义一个滑动平均模型的类,初始化衰减率为0.99,控制衰减率的变量step
ema=tf.train.ExponentialMovingAverage(0.99,step)
#定义一个更新变量滑动平均的操作,并给定一个列表,每次执行这个操作时,列表更新
maintain_ave_op=ema.apply([v1])

with tf.Session() as sess:
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
    #上面的V1*衰减率+(1-衰减率)*更新变量v1,其中衰减率=min{初始化衰减率,(1+step)/(10+step)}
    print(sess.run([v1,ema.average(v1)]))#结果:[0,0] 

    sess.run(tf.assign(v1,5))
    sess.run(maintain_ave_op)
    print(sess.run([v1,ema.average(v1)]))#0*min{0.99,((1+step)/(step+10))}+(1-min{0.99,((1+step)/(step+10))})*5

    sess.run(tf.assign(step,10000))
    sess.run(tf.assign(v1,10))
    sess.run(maintain_ave_op)
    print(sess.run([v1,ema.average(v1)]))

    sess.run(maintain_ave_op)
    print(sess.run([v1,ema.average(v1)]))

当病房的医生,39岁能不荒谬上下班,根本不用想,坐门诊好在一点,为了多赚钱,她有时候还替同事值班。

陆,常用方法

  • tf.reduce_sum() #和
  • tf.greater(v1,v2)#v1和v2的各样对应成分比较,若v1大于v2,则为True否则为False
  • tf.where(tf.greater(v1,v2),v1,v2)#基于第陆,个参数的T和F来抉择v1和v2,若为False则成分选V2中的值,整个函数相当于采取v1和v2中较大的数组成二个举证

他知道让水萍草来,很奇异,她印象中,水浮萍依然贰个躲闪的大双目,干瘦的小朋友,青萍妈的话,说服了她,“水萍草从小就帮笔者看孩子,家务都会做,又不爱讲话,薪给也不用给,等孩子大了,你望着让他也学点啥,将来可以养活自个儿,生在我们以此家,想学学高人一头,那是不容许的事。”

 父母之爱子,则为之计深切,那或多或少,贫富的家庭都一致。

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图