2.1二分分类
在神经网络的计算中,通常先有一个叫做前向暂停(forward pause)或叫做前向传播(foward propagation)的步骤,接着有一个叫做反向暂停(backward pause) 或叫做反向传播(backward propagation)的步骤。我们用逻辑回归(logistic regression)来表示。
逻辑回归是一个用于二分类(binary classification)的算法。我们从一个问题开始说起,这里有一个二分类问题的例子,假如有一张图片作为输入,比如这只猫,如果识别这张图片为猫,则输出标签1作为结果;如果识别出不是猫,那么输出标签0作为结果。现在可以用字母来表示输出的结果标签,如下图所示:
为了保存一张图片,需要保存三个矩阵,它们分别对应图片中的红、绿、蓝三种颜色通道,如果图片大小为64x64像素,那么就有三个规模为64x64的矩阵,分别对应图片中红、绿、蓝三种像素的强度值。为了把这些像素值放到一个特征向量中,我们需要把这些像素值提取出来,然后放入一个特征向量 X 。为了把这些像素值转换为特征向量 x xx ,我们需要像下面这样定义一个特征向量 X来表示这张图片,我们把所有的像素都取出来,例如255、231等等,直到取完所有的红色像素,接着最后是255、134、…、255、134等等,直到得到一个特征向量,把图片中所有的红、绿、蓝像素值都列出来。
2.2Logistic 回归
给定一个输入特征向量 X ,它可能对应一张图片,想去识别它,就需要一个算法去预测,这称之为也就是对实际值 y 的估计,特征向量X是维的向量,用来表示逻辑回归的参数,这也是一个 维向量,参数种还有实数b(表示偏差)
下图是sigmoid函数的图像,如果我把水平轴作为 z轴,那么关于 z 的sigmoid函数是这样的,它是平滑地从0走向1,让我在这里标记纵轴,这是0,曲线与纵轴相交的截距是0.5,这就是关于的sigmoid函数的图像。我们通常都使用 来表示
sigmoid函数的公式:
这是另一种符号:
在这个备选的符号惯例里,参数向量 充当b。参数到充当。
2.3logistic 回归损失函数
代价函数:
为了训练逻辑回归模型的参数 和参数 b,我们需要一个代价函数,通过训练代价函数来得到参数 和参数 b
损失函数(Loss function):
损失函数又叫做误差函数,用来衡量算法的运行情况,通过这个称为L的损失函数,来衡量预测输出值和实际值有多接近。一般用预测值和实际值的平方差或者它们平方差的一半,
在逻辑回归中用到的损失函数是:
使用平方误差作为损失函数的时候要让这个误差尽可能地小。
当 时损失函数,如果想要损失函数 尽可能得小,那么就要尽可能大因为sigmoid函数取值 [ 0 , 1 ] 所以会无限接近于1
当时损失函数,如果想要损失函数尽可能得小,那么就要尽可能小,因为sigmoid函数取值[0,1],所以 会无限接近于0。
2.4梯度下降法
定义 w 和 b,都是单一实数,代价函数(成本函数) J ( w , b ) 是在水平轴w和 b上的曲面。因此曲面的高度就是 J ( w , b ) 在某一点的函数值。由于逻辑回归的代价函数(成本函数) J ( w , b ) J(w,b)J(w,b) 特性,我们必须定义代价函数(成本函数) J ( w , b ) 为凸函数。 初始化 w 和 b。
用小红点代表函数值,朝最陡的的下方走,不断地迭代
直到走到全局最优解或者接近全局最优解的地方,也就是代价函数(成本函数)这个凸函数的最小值点。
2.5函数:
导数意味着函数的斜率。正式的斜率定义为在图中这个绿色的小三角形中,高除以宽。函数在不同点的斜率是可变的。