神经网络与深度学习日志

1.概述

        深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。(载自百度百科)

(因为这是学习日志(吴恩达深度学习),以下说法未必标准,也未必正确)

(ps:注意字母大小写)

2.从简单的二分分类开始

        我们以处理图像为例子,对一个像素点,我们通过对rgb颜色的分析,得到它的特征,记为x(不一定为一个数字,大部分为一个特征集或者说向量),以x验证是否为某个东西(比如说判断这个是否是红色)得到一个实际结果y,y为0或1,这样得到一个单独样本(x,y)。

        那么m个样本记为{(x1,y1),(x2.y2).....(xm,ym)}

        同时多个样本叫做训练集,以矩阵形式,可以如下标记

         那么现在你要通过神经网络得出一个预测结果y帽(写法如下图),先得对特征x进行一定处理,用于得到预测结果的函数称为激活函数,简单的激活函数Sigmoid()。详细如下图

         这个激活函数是一个线性函数,值域为(0,1),中间过1/2,导数从无穷小先增后减最后到无穷小。这个函数满足输出必为(0,1)。

        w和b(两者不一定为单个数字,绝大部分为一个集合或者说向量)为我们需要不断修正得参数,也是神经网络需要训练的地方。

        那么我们通过算法得到的预测结果y帽和y就有差距,那么为了计算这个误差,有一个损失函数(或者叫误差函数)来计算,记做Loss()或者L()。如图(log默认以e为底)

        于此同时,我们要评定我们的计算结果,设置了一个成本函数J(),即对m个向量的损失做一个平均。如图

         之前也说了我们训练神经网络的参数是w和b,那修改它就是关键,神经网络不断地计算通过梯度下降找到全局最优解。如图

        

        那我们怎么去调整参数w和b呢?

        答案是微分(求导)

现在我们开始从单个独立样本分析过程

        一个样本提供特征x1,x2,那我们对此给出w1,w2,b1,b2。我们是根据损失函数得到的结果倒推修改w和b,倒推就是微分(求导)的过程。如图

 (da为dL/da的缩写,dz为dL/dz的缩写,以此类推)

        学习自然还有一个参数叫做学习效率阿尔法,这个参数会影响神经网络的训练速度

        接下来我们用代码简写2层网络

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值