二分类
让计算机对一张猫的图片进行分辨,判断图片中的是否为猫,这类问题属于分类 classification
问题中的二分类
问题。二分类问题的结果只有两种。将结果分为 3 类及 3 类以上的问题,称为多分类
问题。
对于二分类问题,一般在计算机中用数字来表示结果,即 y={0,1}。0 表示负类 negative class
,1 表示正类 positive class
。
对于回归问题,我们可以使用线性回归模型或者多项式回归模型。对于分类问题,我们可以使用的一种模型就是 logistic regression
。
logistic regression
- 注意,虽然
logistic regression
中有 regression 一词,但它是个分类算法。
- logistic regression 与
sigmoid function
是同一回事。
表达式为:g(z)=1+e−z1 。
图像:
对于二分类问题,假设函数的表达式为:hθ(x)=g(θTx)=1+e−θTx1
有必要解释一下 hypothesis representation
这个概念。对于一个问题,我们会提出一个假设,而假设的具体形式,也就是表达式,就是 hypothesis representation 。如,对于二分类问题,表达式为 hθ(x)=g(θTx)=1+e−θTx1 。
hθ(x) 的值为得到某一结果的概率:
- 得到 y=1 的这个结果的可能性表示为 hθ(x)=P(y=1∣x;θ)。表达式的意思为 probability that y=1, given x, parameterized by θ 。如 hθ(x)=0.7 表示 y=1 的概率为 0.7 。
- 相对的,得到 y=0 这个结果的可能性为 hθ(x)=1−P(y=0∣x;θ)
决策边界 decision boundary
若假定,y=1 的判定条件为 hθ(X)≥0.5 ,y=0 的判定条件为 hθ(X)<0.5
则 上述条件等价为:y=1 的判定条件为 X≥0 ,y=0 的判定条件为 X<0
又 X=θTx,假定 θTx=θ0+θ1x1 ,
则可得 y=1 的判定条件为 θ0+θ1x1≥0 ,y=0 的判定条件为 θ0+θ1x1<0
而 θ0+θ1x1≥0 与 θ0+θ1x1<0 一样,反映的是坐标系中的一块区域,这块区域的边界就称为决策边界
。通过这个决策边界,可以实现分类。
对于二分类问题,如何拟合 θ ?
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))
Cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x)) if y=1 if y=0
这里的log是以e为底的。
合并两式得代价函数:
J(θ)=−m1∑i=1m[y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
- 该 logistic regression 的代价函数由统计学中的极大似然法得来。
- 如果将之前回归问题所使用的代价函数用于二分类问题,会得到一个非凸函数。但我们希望得到是一个凸函数。
代价函数的图像:
可见,当 hθ(x) 对一个样本点 (x,y) (其中 y 为标签值)的预测值越接近 y ,代价函数的值就越小。
二分类问题的梯度下降算法
Repeat{θj:=θj−α∂θj∂J(θ)( simultaneously update for all θj)}
即,
Repeat{θj:=θj−αi=1∑m(hθ(x(i))−y(i))xj(i)( simultaneously update for all θj)}
可以发现分类问题的梯度下降算法与回归问题的梯度下降算法是一样的。
多分类
对于多分类问题,会使用到称为一对多分类 one-vs-all classification
(或称 one-vs-rest
)的算法。这个算法本质上仍是将多分类问题当作二分类问题来处理。
(一图胜千言):
Summary: