Loss函数,激活函数,规范化

最近在看深度学习时,一直很好奇,loss函数,激活函数,规范化到底是怎么弄出来的。

一直以为这个是固定不变的,然后收集了很多自恋,查看了很多博客。最后才有点眉目。

以下是个人浅见,希望各位大神,各位大大门指正。


一般而言:机器学习可以分为两大类:回归、分类:

回归:根据离散样本(xi,yi)归纳出一条平滑的曲线(或直线),并用这条曲线来预测事物的发展情况

分类:根据离散样本(xi,yi)的某些性质,将该离散样本分为几类,每类数据有不同的性质,并用分类的参数对新样本进行分类预测:新样本属于哪个类别


我们要对未知情况进行预测,就必须建立一个切合实际的模型,用这样的模型对新的数据进行预测。而要建立一个切合实际的模型,其实就是对样本(xi,yi)进行处理的相关参数集的调试。即我们需要找到能够使样本(xi,yi)进行正确分类的最佳参数集,用另一句话说,就是使分类结果(实际输出)和理想结果(我们的期望)的误差越小越好(鉴于很多模型可能没有最小值解,所以一般希望越小越好),而用来表示这个误差的函数就是我们所谓的误差函数/损失函数/成本函数

LOSS FUNCTION

一般而言,大多数神经网络采用了3类损失函数:二次代价函数(均方差函数),交叉熵函数,softmax所用的函数

    1 均方差损失函数:在UFLDL中采用的就是均方差损失函数,其模型为:

                                 

         其中 f( ) 是正个模型的的输出函数,具体化即为输出层的函数,y 为我们希望的输出,或者说数据带有的标签;

         这样,二者之间的差值自然是越小越满足我们的要求,所以均方差损失函数可以作为代价函数。

   2 交叉熵函数:熵起源于香农信息量的期望,可以参考下http://www.cnblogs.com/crackpotisback/p/6781872.html其模型为:

                                   

        同样的,f( )表示输出,y表示期望的输出或者标签。

       我们可以计算,当 y  很接近  f( ) 时, 即表示模型对数据的预测很接近我们的期望时,此时 y = f( ) =1,或者y = f( ) = 0,代入上式均可以得到J = 0

                                   当 y  不等于或者远离  f( ) 时, 即表示模型对数据的预测很不符合我们的期望时,此时 y =0, f( ) =1;或者y =1, f( ) = 0,代入上式均可以得到 J 趋近于无穷

       所以我们可以用交叉熵来判断模型参数是否符合我们的期望,即作为损失函数。

   3  softmax分类器所用的函数:  可以参考:http://blog.csdn.net/ture_dream/article/details/54948518,softmax是一个多分类器,是有一种特殊的交叉熵方法进行判断的。

         softmax是个多分类器,其输出层的函数为:

                                         其中 j = 1,2,3,...K,表示K个类别,也就是说softmax输出层输出的是测试样本是第 j 类的概率;

          此时采用的损失函数为:(下面用 i 来代替 j 了)

                                

            这样,当第 i 个样本存在的概率越大,L 值越接近于0;相反。该概率越小,其值越大,表示和我们希望不符合

以上是我收集的损失函数。


THE ACTIVATION FUNCTION

激活函数是每个节点(不含输入层)必须要有的功能,在这儿简单地对激活函数做一个介绍:

  1 sigmoid函数以其导数:

                                              

  2 tanh函数:

                                           

  3 softplus函数:

                                         

  4 softsign:http://write.blog.csdn.net/postedit

                                           

  5 ReLu:

                                          

             此外,ReLu还有其他的类型:LReLu,PReLu,RReLu三种变形。

  6 softmax的输出层,如上述。

规范化:

规范化,也称为正则化:

  1 L2正则化:在损失函数中加入1/2 * λω^2,L2正则化对大的权重有很高的惩罚度,以求让权重分配的更均匀一些

  2 L1正则化:在损失函数中加入 λ|ω| ,L1正则化会在模型训练过程中让权重向量逐渐的稀疏化,即就是到最后只留下了对结果影响最大的一部分权重

  3 最大范数约束:限制了一个上行的权重边界,然后约束每个神经元上的权重都要满足这个约束,不添加惩罚项,要求每一个神经元的权重向量必须满足:小于一给定的常数

  4 dropout正则化:设置以参数p,就是在训练过程中,对每个神经元,都以概率p保持它是激活状态,1-p的概率直接关闭它

可以参考:http://blog.csdn.net/han_xiaoyang/article/details/50451460


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值