←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
2.1 二元分类 | 回到目录 | 2.3 Logistic 回归损失函数 |
Logistic 回归 (Logistic Regression)
在这个视频中,我们会重温逻辑回归学习算法,该算法适用于二分类问题,本节将主要介绍逻辑回归的Hypothesis Function(假设函数)。
对于二元分类问题来讲,给定一个输入特征向量
X
X
X,它可能对应一张图片,你想识别这张图片识别看它是否是一只猫或者不是一只猫的图片,你想要一个算法能够输出预测,你只能称之为
y
^
\hat{y}
y^,也就是你对实际值
y
y
y 的估计。更正式地来说,你想让
y
^
\hat{y}
y^ 表示
y
y
y 等于1的一种可能性或者是机会,前提条件是给定了输入特征
X
X
X。换句话来说,如果
X
X
X 是我们在上个视频看到的图片,你想让
y
^
\hat{y}
y^ 来告诉你这是一只猫的图片的机率有多大。在之前的视频中所说的,
X
X
X 是一个
n
x
n_x
nx 维的向量(相当于有
n
x
n_x
nx 个特征的特征向量)。我们用来
w
w
w 表示逻辑回归的参数,这也是一个
n
x
n_x
nx 维向量(因为
w
w
w 实际上是特征权重,维度与特征向量相同),参数里面还有
b
b
b,这是一个实数(表示偏差)。所以给出输入
x
x
x 以及参数
w
w
w 和
b
b
b 之后,我们怎样产生输出预测值
y
^
\hat{y}
y^,一件你可以尝试却不可行的事是让
y
^
=
w
T
x
+
b
\hat{y}=w^Tx+b
y^=wTx+b。
这时候我们得到的是一个关于输入
x
x
x 的线性函数,实际上这是你在做线性回归时所用到的,但是这对于二元分类问题来讲不是一个非常好的算法,因为你想让
y
^
\hat{y}
y^ 表示实际值
y
y
y 等于1的机率的话,
y
^
\hat{y}
y^ 应该在0到1之间。这是一个需要解决的问题,因为
w
T
x
+
b
w^Tx+b
wTx+b 可能比1要大得多,或者甚至为一个负值。对于你想要的在0和1之间的概率来说它是没有意义的,因此在逻辑回归中,我们的输出
y
^
\hat{y}
y^ 应该是等于由上面得到的线性函数式子作为自变量的sigmoid函数中,公式如上图最下面所示,将线性函数转换为非线性函数。
下图是sigmoid函数的图像,如果我把水平轴作为 z z z 轴,那么关于 z z z 的sigmoid函数是这样的,它是平滑地从0走向1,让我在这里标记纵轴,这是0,曲线与纵轴相交的截距是0.5,这就是关于的sigmoid函数的图像。我们通常都使用 z z z 来表示 w T x + b w^Tx+b wTx+b 的值。
关于sigmoid函数的公式是这样的,
σ
(
z
)
=
1
1
+
e
−
z
\sigma(z)=\frac1{1+e^{-z}}
σ(z)=1+e−z1 ,在这里
z
z
z 是一个实数,这里要说明一些要注意的事情,如果
z
z
z 非常大那么
e
−
z
e^{-z}
e−z 将会接近于0,关于
z
z
z 的sigmoid函数将会近似等于1除以1加上某个非常接近于0的项,因为
e
e
e 的指数如果是个绝对值很大的负数的话,这项将会接近于0,所以如果
z
z
z 很大的话那么关于
z
z
z 的sigmoid函数会非常接近1。相反地,如果
z
z
z 非常小或者说是一个绝对值很大的负数,那么关于
e
−
z
e^{-z}
e−z 这项会变成一个很大的数,你可以认为这是1除以1加上一个非常非常大的数,所以这个就接近于0。实际上你看到当
z
z
z 变成一个绝对值很大的负数,关于
z
z
z 的sigmoid函数就会非常接近于0,因此当你实现逻辑回归时,你的工作就是去让机器学习参数
w
w
w 以及
b
b
b 这样才使得
y
^
\hat{y}
y^ 成为对
y
=
1
y=1
y=1 这一情况的概率的一个很好的估计。
在继续进行下一步之前,介绍一种符号惯例,可以让参数
w
w
w 和参数
b
b
b 分开。在符号上要注意的一点是当我们对神经网络进行编程时经常会让参数
w
w
w 和参数
b
b
b 分开,在这里参数
b
b
b 对应的是一种偏置。在之前的机器学习课程里,你可能已经见过处理这个问题时的其他符号表示。比如在某些例子里,你定义一个额外的特征称之为
x
0
x_0
x0,并且使它等于1,那么
X
X
X 现在就是一个
n
x
n_x
nx 加1维的变量,然后你定义
y
^
=
σ
(
θ
T
x
)
\hat{y}=\sigma(\theta^Tx)
y^=σ(θTx) 的sigmoid函数。在这个备选的符号惯例里,你有一个参数向量
θ
0
,
θ
1
,
θ
2
,
⋯
,
θ
n
x
\theta_0,\theta_1,\theta_2,\cdots,\theta_{n_x}
θ0,θ1,θ2,⋯,θnx,这样就
θ
0
\theta_0
θ0 充当了
b
b
b,这是一个实数,而剩下的
θ
1
\theta_1
θ1 直到
θ
n
x
\theta_{n_x}
θnx 充当了
w
w
w ,结果就是当你实现你的神经网络时,有一个比较简单的方法是保持
b
b
b 和
w
w
w 分开。但是在这节课里我们不会使用任何这类符号惯例,所以不用去担心。 现在你已经知道逻辑回归模型是什么样子了,下一步要做的是训练参数
w
w
w 和参数
b
b
b,你需要定义一个代价函数,让我们在下节课里对其进行解释。
课程PPT
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
2.1 二元分类 | 回到目录 | 2.3 Logistic 回归损失函数 |