• 实现一个simple 3层的神经网络


    1.基本概念

    1.1softmax

    softmax函数:一句话概括:是logistic 函数的扩展,将一个p维的数值向量映射成为一个k维的概率值,且这k个值的和为1.

    公式:

     

    解释:

     

     

       1.2 cross-entry loss

      http://blog.csdn.net/u012494820/article/details/52797916

      https://www.zhihu.com/question/40403377?sort=created

      1.3 Rectifier

      在人工神经网络中,rectifier是一个被定义为的激励函数。

      

      1.4 BP算法

        http://www.cnblogs.com/pannyvan/p/6246789.html

    2.实现过程

      2.1产生数据集 

        scikit-learn:make_moons函数:产生一个二分类的非线性可分数据集

      2.2训练神经网络

        3层:1个输入层(节点个数由数据维度决定),1个隐藏层(可认为控制,过少不分类,过多过拟合),1个输出层(由类别的数目决定)

        2.2.1如何决定隐藏层节点的数目?具体问题具体分析,看结果的影响

        2.2.2隐藏层激活函数的选择?常见的激活函数有tanh,sigmoid function,ReLUs

        2.2.3输出层函数的选择:softmax函数

      2.3网络如何做出预测? 

        正向传播,建立公式:

        

       2.4 学习参数 

        即确定W1,b1,W2,b2的值

        2.4.1首先建立cost function,对应softmax的是 cross-entropy loss

              

         2.4.2运用梯度下降来求cost function的最小值

        2.4.3运用BP算法来求梯度值

                  

  • 相关阅读:
    一些端口
    outlook 的微软手册
    目录摘要
    L2TP的包过滤规则
    outlook 的外出时助理程序对外部邮箱不起作用。1个解决办法和另外一个可能性
    用editplus 正则表达式修改联系人表
    Cisco NAT的理解。
    outlook 2003 无法记住密码
    ERD commander 2005的下载地址。
    outlook 2003启用日志记录排除故障。
  • 原文地址:https://www.cnblogs.com/pannyvan/p/6236528.html
Copyright © 2020-2023  润新知