1.什么是神经网络
拟合函数是最简单的神经网络
这就是一个最小的神经元
这是一个较为复杂的神经网络
神经网络非常擅长于从X到Y映射函数
2.用神经网络监督学习
具体的例子:
翻译软件中输入英文直接得到中文;
无人驾驶技术中输入道路前方的图像直接得到各个车辆的位置;
等等;
接下来正式进入深度学习的基础学习
对于二元分类问题来讲,给定一个输入特征向量 X ,它可能对应一张图片,你想识别这张图片识别看它是否是一只猫或者不是一只猫的图片,你想要一个算法能够输出预测,你只能称之y^=wTx+b
关于sigmoid函数的公式是这样的
在
这里 z 是一个实数,这里要说明一些要注意的事情,如果 z 非常大那么函数 将会接近于0,关于 z 的sigmoid函数将会近似等于1除以1加上某个非常接近于0的项,因为 e的指数如果是个绝对值很大的负数的话,这项将会接近于0,所以如果 z很大的话那么关于 z 的sigmoid函数会非常接近1。相反地,如果 z 非常小或者说是一个绝对值很大的负数,那么关于 这项会变成一个很大的数,你可以认为这是1除以1加上一个非常非常大的数,所以这个就接近于0。实际上你看到当 z 变成一个绝对值很大的负数,关于 z 的sigmoid函数就会非常接近于0,因此当你实现逻辑回归时,你的工作就是去让机器学习参数 w以及 b 这样才使得 成为对 y = 1 这一情况的概率的一个很好的估计
为了训练逻辑回归模型的参数 w 和参数 b ,我们需要一个代价函数,通过训练代价函数来得到参数 w 和参数 b 。先看一下逻辑回归的输出函数
损失函数又叫做误差函数,用来衡量算法的运行情况
我们通过这个称为 L 的损失函数,来衡量预测输出值和实际值有多接近。一般我们用预测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我们在逻辑回归模型中会定义另外一个损失函数。
我们在逻辑回归中用到的损失函数是:
接下来讲一下———梯度下降法(其实就是求导)
梯度下降法能做什么?
通过最小化代价函数(成本函数)J(w,b)来训练的参数w和b
梯度下降法的形象化说明
梯度下降法的细节化说明(两个参数)
逻辑回归的代价函数(成本函数)J(w,b)是含有两个参数的。
∂表示求偏导符号,∂J(w,b)/∂w就是函数J(w,b)对w求偏导,在代码中我们用d表示这个结果
然后稍微讲一下导数(微积分)
导数这个概念意味着斜率,导数听起来是一个很可怕、很令人惊恐的词,但是斜率以一种很友好的方式来描述导数这个概念。所以提到导数,我们把它当作函数的斜率就好了。更正式的斜率定义为在上图这个绿色的小三角形中
我想让你知道以下两点
第一点,导数就是斜率,而函数的斜率,在不同的点是不同的。在第一个例子中 f ( a ) = 3 a f(a)=3af(a)=3a ,这是一条直线,在任何点它的斜率都是相同的,均为3。
第二点,如果你想知道一个函数的导数,你可参考你的微积分课本或者维基百科,然后你应该就能找到这些函数的导数公式。
计算图
可以说,一个神经网络的计算,都是按照前向或反向传播过程组织的。首先我们计算出一个新的网络的输出(前向过程),紧接着进行一个反向传输操作。
这就是一个链式法则,如果学过高数,这就会非常的简单。