在这个视频中,我们会重温逻辑回归学习算法,使用这种学习算法会得到输出标签 ,
在监督学习问题中全是0 或者 1。因此这是一种针对二分类问题的算法。
给定的输入特征向量 ,它可能对应一张图片,你想识别这张图片识别看它是否是一只猫的图片,因此想要一个算法能够输出预测值
(称之为y帽,即y hat)。也就是你对实际值
的估计。更正式地来说,
是当给定输入特征
时预测
为 1 的概率。(换种说法就是,当
时一张图片的时候,你想要
告诉你这是一张猫图的概率。)在之前的视频中所说的,
是一个
维向量(即
)。规定回归逻辑参数为
,
也是一个
维向量(即
)。另外参数里面还有
,这是个实数(即
)。
因此给定一个输入 以及参数
和
,那么如何产生输出
呢?有一种方法可以试试,尽管可能不怎么有用,就是让
,我们得到一个输入
的线性函数。
事实上,如果使用线性回归,就是这样操作的。但是这对于二分类而言不是一个好的算法。因为你希望能够输出
为1 的概率。因此
的值应该在0 和 1 之间。而刚刚那种算法很难实现这种需求,因为
可能会比 1 大,甚至可能是个负数。这对于概率就是去意义了。所以,让逻辑回归中
等于对
这个值用sigmoid函数的结果。(即,目前是给出一个线性函数,但是其值可能比 1 大,或者是负数,而为了使结果概率在0~1之间,就用sigmoid函数把线性函数的值压缩在0~1之间。)
下图是sigmoid函数的图像,如果我把水平轴作为轴,那么关于
轴的sigmoid函数是这样的,它是平滑地从0走向1,这就是关于的sigmoid(
)函数的图像。我们通常都使用
来表示
的值。
关于sigmoid函数的公式是这样的, ,在这里
是一个实数。请注意:如果
非常大,
就会接近于 0,此时
。相反的,如果
非常小,小到甚至是负数,那么
。
因此当你实现逻辑回归时,你的目标就是去让机器学习参数和
,这样才使得
很好地估计
等于 1 的概率。
在继续进行下一步之前,还有一点需要强调,当进行神经网络编程时,我们通常会将参数和
分开看待。这里的
对应一个偏置值。在一些的机器学习课程里,可能也会看到其他符号去用不用的方式处理参数。在某些课程中,会定义
,因此
的维度就变成了
,(即
),之后继续定义
,(即,sigmoid函数)。在这种情况下,会有一个向量参数
,其中
代替了参数
,而
是代替了参数
。事实上,当你在实现神经网络时,把
和
当作相互独立的参数会更简单。所以在这门课程中,我们不会用第二种符号方法去表达(不同的课程教程,里面简化的方式不一样)。
现在你已经知道逻辑回归模型是什么样子了,下一步要做的是训练参数和
,在此之前,我们还需要定义一个代价函数(cost function)。让我们在下节课里对其进行解释。