Logistic回归常用于二分类问题。当然,也可以用于多分类,多分类可以使用softmax
方法进行处理。
二分类
在二分分类问题中,对于某个输入,输出的结果是离散的值。
示例:Cat与Non-Cat,构建一个猫图分类器,即输入一张图片,希望该分类器准确判断出该图片是否为猫图,并输出它的预测结果(猫图1,非猫图0)。
彩色图像以三个独立的矩阵存储在计算机中,分别对应于图像红色、绿色和蓝色三通道信息。这三个矩阵与图像大小相同,例如Cat图像的分辨率为64像素x 64像素,三个矩阵(rgb)分别为64 x 64像素。
在模式识别(Pattern Recognition)及机器学习中,对于处理的各种类型的数据,通常采用一些特征向量来表示。简单地将一张猫图表示为一个特征向量,可以直接把三个矩阵进行拆分重塑,最终形成维数为nx=64 × 64 × 3 = 12288的特征向量x。
实现这个分类器,需要准备大量的猫图及少量的非猫图,并取其中大部分组成该分类器的训练样本,少部分组成测试样本。将这些样本表示为特征向量的形式,一个样本由一对(x,y)进行表示,其中x为nx维的特征向量,y是该特征向量的标签(Label),根据该特征向量表示的是猫图或非猫图,取值为0或1。如果有m个训练样本对,它们将被表示为:
( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) . . . ( x ( m ) , y ( m ) ) (x^{(1)},y^{(1)}),(x^{(2)},y^{(2)})...(x^{(m)},y^{(m)}) (x(1),y(1)),(x(2),y(2))...(x(m),y(m))
接着,使用矩阵表示数据,训练集中所有特征向量x(1)、x(2)…x(m)以及它们的标签y(1)、y(2)…y(m)分别进行列组合,变成两个矩阵X∈ℝnx × m、Y∈ℝ1×m:
X = [ x ( 1 ) , x ( 2 ) . . . x ( m ) ] X = [x^{(1)},x^{(2)}...x^{(m)}] X=[x(1),x(2)...x(m)]
Y = [ y ( 1 ) , y ( 2 ) . . . y ( m ) ] Y = [y^{(1)},y^{(2)}...y^{(m)}] Y=[y(1),y(2)...y(m)]
Logistic回归
Logistic回归是一种用于解决监督学习(Supervised Learning)问题的学习算法。进行Logistic回归的目的,是最小化训练数据的标签值与预测值之间的误差。我们接着Cat与Non-Cat的示例,建立猫图分类器的Logistic回归模型。
猫图分类器中,要实现的是:对于给定的特征向量x、标签y,预测该图为猫图的概率ŷ,即:
G i v e x , y ^ = P ( y = 1 ∣ x ) , 0 ≤ y ^ ≤ 1 Give\ x,\ ŷ=P(y=1|x),\ 0 ≤ ŷ ≤ 1 Give x, y^=P(y=1∣x), 0≤y^≤1
我们采用线性拟合的方式,构建ŷ关于x的函数:
y ^ = W T x + b 其 中 , w ∈ R n x , b ∈