神经网络与深度学习 笔记 (一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39196190/article/details/77900305

本人只是一个计算机小白,并不是对深度学习精通的大牛。个人对人工智能这方面十分感兴趣,所以自己搜罗了一点资料来学习神经网络和深度学习这个深坑。以下是我学习中的一些总结和自己的看法,如有错误,还望海涵并且批评指正。如果你有深度学习方面更好的技术或者学习方法,请一定要告知我,我是十分乐意去接受新知识的。会持续更新下去。
**

下面我简单说一下机器学习和深度学习之间的关系

。**

机器学习(Machine Learning):是计算机科学与统计科学相互交叉融合的一门交叉学科,其代表是统计学习方法,是概率论与统计学的范畴。例如通过一些机器学习的算法,来分析你的购物喜好,来获得一个模型,从而预测你喜欢的商品。机器学习中强调的是,在给机器输入一些数据后,他必须去学习这些数据,并且每个学习步骤是明确的

深度学习(Deep Learning):本身是基于神经网络算法,在图像,语音等富媒体的分类和识别上取得了非常好的效果,深度学习强调的是你使用的模型(例如深度卷积多层神经网络),模型中的参数通过对数据的学习获得。所以可以说深度学习是基于神经网络的,是基于神经认知科学发展的产物。

综上我们可以看出,两者在基础上还是有一定的不同的。显然,将深度学习归为机器学习的一个分支是有失偏颇的。

接下来我们先简单的谈几个深度学习中的概念,有些概念需要在以后的学习中才能用到,所以在这里我只列出几个十分常见,常用的概念。一是方便你以后的学习,另一个也是方便在外人面前谈起深度学习,不会让你显得那么不专业。

1.人工神经元:一个神经元有多个输入,神经元对每个输入有权重w和一个总的自身偏置b。他的激活函数是非线性函数(至于为什么用非线性函数,我们之后再说),例如sigmod,ReLU,tanh函数等。(在接下来的几篇文章中我都将用sigmod神经元(S神经元)作为例子来讲解)
神经元

2.输入层:网络中最左边的称为输入层,其中的神经元称为输入神经元。

3.输出层:网络中最右边的,就是输出层,包含输出神经元。

4.隐藏层:中间层,既然这层中的神经元既不是输入也不是输出,被称为隐藏层。

5.前馈神经网络:是一个不存在回路的神经网络,信息总是向前传播,从不反向回馈。也是目前为止我们一直讨论的。如果神经网络中确实存在回路,我们会面临:sigmod函数的输入依赖于输出。这十分难理解,我们不会允许他的出现。当然在某些神经网络模型中,反馈环路是可行的。这些模型称为递归神经网络。

6.监督学习:对于输入的x,得到一个输出函数y的这样的一种类型的学习方式。非监督学习由此可以知道。

7.神经网络:将人工神经元一个个叠加起来,就可以构成一个稍微大一点的神经网络。 神经网络

**

接下我主要讲一下人工神经元。

**
神经元
如图所示,这是一个sigmod神经元(以sigmod函数为激活函数的神经元),他的左面是神经元的输入,右面是神经元的输出,对于每一个输入,都会有一个权重w,而神经元自身有一个偏置b,那么我们可以得到这个sigmod神经元的输出是sigmod(Z),Z=∑w(i)•x(i)+b。

Loss(error)函数

L(a,y)=-( ylog a+(1-y)log (1-a))。该函数描述的是网络输出值与期望值之间的差距。

Cost函数

J(w,b)=1/m * ∑L(a(i),y(i)),该函数描述了对于每一个训练样本的输出值与期望值之间的差距均值。因此为了让我们的神经网络得出的结果更加准确,我们要让Cost函数的值最小。

但是对于这样一个二元函数,我们该如何是Cost函数最小呢?那么接下来我将用手写识别这个例子来进行下降梯度法(Gradient Descent)的讲解。

在这个例子中,我们使用的是sigmod函数,
sigmod函数
**

Logistic回归

**我们给出样本,希望得到一个预测值y,其参数是w,b。(在手写识别这个例子中y是一个概率,介于0,1之间)也就是说在这个例子上我们的y变成了sigmod(∑w(i)•x(i)+b)。(在以后我们将用矩阵来处理这个求和式子)

现在我们的任务是要找出合适的w,b来时J(w,b)最小,也许我们的J函数是一个这样的形状:
这里写图片描述

**

下降梯度算法

**
我们现在在该函数上随机取一点,为了使J函数达到最小,我们要让这个随机点不停地向我们这个函数的最低处运动。也就是w,b更新的值是w=w-α*dJ(w,b)/dw(b的值同理) ,在这里α我们称为学习速率,控制着每一次迭代时下降梯度算法的下降步长,他的选择也是有讲究的。那么通过这种w,b的更新,通过多次的迭代我们最终可以找到J函数的最小值。

那么下一篇文章中我将详细记录一下下降梯度算法如何在logistic回归中进行使用。我们下次再见。

展开阅读全文

没有更多推荐了,返回首页