根据李宏毅老师机器学习课程所做的笔记。

函数y=wx+b,输入与输出之间是一个线性的关系。改变w可以改变直线的斜率,改变b可以改变直线的截距。

机器学习--深度学习基本概念_机器学习

 

 

 但是如果想要刻画上图中的红色直线是困难的。这条红色的曲线应该怎么表示呢?

机器学习--深度学习基本概念_梯度下降算法_02

 

 

 红色的曲线可以表示为图中蓝色曲线的和。

蓝色曲线(Hard Sigmoid)的特征是拥有两个转折点threshold1和threshold2,小于threshold1和大于threshold2的部分取一个定值,两个转折点中间是一条线段(一个斜坡)。

机器学习--深度学习基本概念_梯度下降算法_03

 

 

 机器学习--深度学习基本概念_损失函数_04

 

 

 如果函数的形状不是直线,而是曲线,也可以用直线来近似这条曲线。

怎么表示上面的蓝色直线呢?我们使用sigmoid函数来近似它。c是它的系数。取值范围是(0,c)。

 

 

 机器学习--深度学习基本概念_斜率_05机器学习--深度学习基本概念_梯度下降算法_06

 

 由此,可以使用sigmoid函数的组合来近似我们想要的函数。

以上面的红色曲线为例,将1,2,3这三条曲线用sigmoid函数来表示,b代表直线0。y的表达式如下图所示。

机器学习--深度学习基本概念_梯度下降算法_07

 

 如果有更多的特征输入,y的表达式如下所示。

机器学习--深度学习基本概念_机器学习_08机器学习--深度学习基本概念_机器学习_09

使用矩阵对公式进行简化。

机器学习--深度学习基本概念_损失函数_10机器学习--深度学习基本概念_梯度下降算法_11

 

 

 

所有未知的参数都统称为theta。

机器学习--深度学习基本概念_斜率_12

 

 

 到这里,我们已经定义了含有未知参数的函数,下一步似乎定义损失函数。

 机器学习--深度学习基本概念_斜率_13

 损失函数的定义如下。

机器学习--深度学习基本概念_损失函数_14

 

 

 下面使用梯度下降算法来优化损失函数。

根据求导的结果来更新参数。

机器学习--深度学习基本概念_斜率_15机器学习--深度学习基本概念_数据_16

 

 

 在进行优化时,对数据分成一个一个批次,每次只拿出一个批次来计算L1,根据这个L1来计算gradient,再用这个gradient更新参数。

下一次,选取下一个批次来计算L2,...,直至所有地批次都计算结束。当所有的批次都参与一次计算后,这个过程成为一个Epoch。

机器学习--深度学习基本概念_斜率_17机器学习--深度学习基本概念_损失函数_18

 

 

下面介绍对模型做一些变形的情况。

上面都是用sigmoid组成我们想要的函数,其实也可以用别的函数。Hard sigmoid也可以看成是两个ReLU函数的和。

机器学习--深度学习基本概念_机器学习_19机器学习--深度学习基本概念_梯度下降算法_20

 sigmoid和ReLU在机器学习中被成为激活函数。一般使用ReLU更多。

 接着可以再对模型进行改进。将a作为下一层的输入继续计算。

机器学习--深度学习基本概念_机器学习_21机器学习--深度学习基本概念_机器学习_22

 

 一个sigmoid或者ReLU的处理称为是一个神经元(Neuron),许多的神经元组成神经网络(Neural Network)。

上图中一列神经元叫做一层,有很多层组成,体现了它的深度,整个过程也被称为深度学习。