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

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

三、logistic 回归

1、二分分类

  首先如果给你一张图片,你来判断它是否是猫:

深度学习与神经网络学习笔记(二)_第1张图片

  对于我们来说这看一眼就会说这是猫,而对于机器来说它会做的判断就会是:是猫(1)和不是猫(0)而这个就是我们要输出的y值,其实大部分时候一直输出的都是一个概率值,而我们只是通常把概率最大的值作为1输出。

  其实机器识别一个图片和我们肉眼识别是不一样的,比如说上面这样的一张图片,对于机器来说,它将会被看成三个不同的颜色矩阵(见下图),分别是红色、绿色和蓝色,每一个矩阵中的一个数字对应的就是图片在这个像素点(64*64,为了在图片中能够表示清楚,三基色的图片中用4*5的矩阵表示,其实是一样的意思)上的对应颜色的强度值,比如红色第一个像素点的255就表示图片在该像素点的红色强度值为255(强度值在0-255的范围内,255表示最大,0表示没有此颜色)

深度学习与神经网络学习笔记(二)_第2张图片

  然后,我们可以把矩阵表示成一个 xy 输入给机器x为:

x=255231...255134...25513493...xRNX

  y的取值为:
y(0,1)

  这样我们所采用的样本集m可以表示为:

m={(x(1),y(1)),(x(2),y(2)),,(x(m),y(m))}

如果我们对应的每一个输入值 x n 个(表示我们所构建的影响因子有 n 个)那 x 可以表示为一个 mn 的矩阵:

深度学习与神经网络学习笔记(二)_第3张图片

而y可以直接表示为一个 1n

y={y(1),y(2),,y(m)}

2、logistic 回归

  输入:

深度学习与神经网络学习笔记(二)_第4张图片

  参数:
(ω,b)

  输出:
y^

  映射(函数):
y^=σ(ωTx+b)

  其中
σ(z)=1/1+ez

  这里的 σ(z) 函数就是一个激励函数,其图像为:

深度学习与神经网络学习笔记(二)_第5张图片

  这就保证了当 ωTx+b 值越大(趋近无穷)最后计算出来的 y^ 就会越接近于1,而 ωTx+b 值越小(负无穷)最后计算出来的 y^ 就会越接近于0,最后达到一个输出 (01) 结果的目的。

  所以现在我们机器学习所要做的就是去学习这个函数中的参数: ω,b

3、logistic 回归损失函数

  机器学习将会一次又一次地训练我们所给出的样本,最后产生 ω,b ,但是我们用训练过程出来的 ω,b 却也计算不出完全正确每个样本的 y 值,因此我们需要通过对 ω,b 所计算出来的 y^ 与实际的 y 值做比较,而给他们做比较的这个函数就叫做损失函数:
L(y^,y)=(ylogy^+(1y)log(1y^))

y=1L(y^,y)=logy^,y^0y1

y=0L(y^,y)=log(1y^),y^0y1

  损失函数反应的是其学习后得出的 ω,b 所计算出来的预测值: y^ 相对于实际值 y 所损失的一个度量。

  这样对每个样本进行计算,最后计算出所有样本的损失函数的均值就是我们所说的成本函数:

J(ω,b)=1mi=1nL(y^(i),y(i))

  即为:

J(ω,b)=1mi=1n{y(i)logy^(i)+(1y(i))log(1y^(i))}

4、梯度下降法

深度学习与神经网络学习笔记(二)_第6张图片

  我们首先还是上图,这里是成本函数、 ωb 所模拟的一个三维图像,我们就是通过图像中每个小红点一步一步去找到使 J(ω,b) 最小的那个解的。而我们所要用的就是通过斜率(通过导数求得)来进行判断

深度学习与神经网络学习笔记(二)_第7张图片

  我们先通过二维函数来理解梯度下降,如图可知,当导数 dJ(ω)dω<0 时我们将会向右边方向进行 ω 值的变化,如果大于0就向左边进行变化,最终找到值为0的点就是我们所要找到的最优解,而每次变换的 =αdJ(ω)dω ,这里的α为学习率,也就是梯度下降的变化率。

  同样我们可以直接投影到三维图像上去解决这个问题。这时候就应该是:

ω:=ωJ(ω,b)ωb:=bJ(ω,b)b

  其中 J(ω,b)b 为成本函数对参数 b 的偏导数

你可能感兴趣的:(神经网络和机器学习)