吴恩达深度学习课程笔记-神经网络编程基础-逻辑回归
吴恩达深度学习课程笔记
第二周:神经网络编程基础(Basics of Neural Network programming)
2.2 逻辑回归(Logistic Regression)
对于二元分类问题来讲,给定一个输入特征向量 ,它可能对应一张图片,你想识别这张图片看它是否是一只猫。你想要一个算法能够输出预测,称之为
,也就是你对实际值
的估计。更正式的来说,你想让
表示
等于 1 的一种可能性,前提条件是给定了输入特征
。换句话来说,如果
是图片的特征向量,你想让
来告诉你这是一张猫的图片的几率有多大。
是一个
维的向量(相当于有
个特征的特征向量),我们用
来表示逻辑回归的参数,这也是一个
维向量(因为
实际上是特征权重,维度与特征向量相同 ),参数里面还有
,这是一个实数,表示偏差。
所以给出输入 以及参数
和
之后,如何输出预测值
呢?一种方式是令
。这时候我们得到的是一个关于输入
的线性函数,实际上这是你在做线性回归时所用到的,但是对于二元分类问题这不是一个好的算法。因为
表示实际值
等于 1 的几率,
应该在 0 到 1 之间,而
可能比 1 要大得多,也可能是一个负值,对于在 0 和 1 之间的概率来说它是没有意义的。因此在逻辑回归中,我们采用如下算法:
,这样就将线性函数转换为非线性函数了。
下图是 函数的图像,如果将水平轴作为
轴,那么关于
的
函数是是平滑地从 0 走向 1,曲线与纵轴相交的截距是 0.5。
函数是这样定义的:
是一个实数,如果
非常大,则
会非常接近 1;相反的,如果
非常小,或者说是一个绝对值很大的负数,那么
会非常接近 0。因此当你实现逻辑回归时,你的工作就是去让机器学习参数
以及
,这样才使得
成为对
这一情况的概率的一个很好的估计。
下一篇:吴恩达深度学习课程笔记-神经网络编程基础-逻辑回归损失函数