线性回归的不足
对于如同上节所示的房价问题,
房间面积为连续型变量,房价也是连续型的变量,可以用线性回归来处理。但是特征和标签也有可能为离散型的变量,此时按照线性回归就会出现问题,如下所示肿瘤为良性还是恶性与肿瘤面积的关系。
在上图中假设这条绿色的线为线性回归得到的结果,可以通过选取一个肿瘤大小作为分界值小于某个值为良性,否则就为恶性
但是如果有下面这样一组数据
如上如所示在这种情况下,有一个相对游离的点,会导致拟合直线斜率变得很大,单纯的按照x的位置分类,就会导致错误,因此需要另一种方法。
logistic regression
上面的问题很明显,结果只有两类,要么是0要么是1,因此可以找到相应的预测函数,sigmoid函数。
函数为,
g(z)
关于z的导数如下
∂g(z)∂θ=∂∂θ11+e−z=11+e−z(1−11+e−z)=g(z)(1−g(z))
在这里假设函数为,同时假设为结果为1的概率,从个人理解来说,因为在后面的分类过程中,大于0.5时就将结果置为一,小于0.5时结果为0,所以 如下所示
p(y=1|x;θ)=hθ(x)
p(y=0|x;θ)=1−hθ(x)
上面两式综合起来为得到下面的式子
p(y|x;θ)=(hθ(x))y+(1−hθ(x))1−y
由于所有样本中数据服从(0-1分布)且相互独立。我们假设有M个样本
L(θ)=p(Y|X;θ)=∏j=0mp(y(j)|x(j);θ)=∏j=0m(hθ(x(j)))y(j)(1−hθ(x(j)))1−y(j)
为方便运算,用log对运算进行简化
l(θ)=log(L(θ))=log(∏j=0m(hθ(x(j)))y(j)(1−hθ(x(j)))1−y(j))=∑j=0my(j)log(hθ(x(j)))+(1−y(j))log(1−hθ(x(j)))
接下来使用梯度上升法,求似然函数的最大值,与线性回归相同符号意义相同。为方便计算先去掉求和运算。
θ=θ+a▽θl(θ)
▽θil(θ)=▽θ(ylog(g(θTX))+(1−y)log(1−g(θTX)))=(y1g(θTX)+(1−y)11−g(θTX))∂∂θg(θTX)=(y−h(θTX))xi
带入到梯度上升法
θi=θi+a∑j=0m(y(j)−h(θTX(j)))xji=θi+a [x1ix2i...xmi]⎡⎣⎢⎢⎢⎢y(1)−h(θTX(1))y(2)−h(θTX(2))...y(m)−h(θTX(m))⎤⎦⎥⎥⎥⎥
将上式写成矩阵形式:
⎡⎣⎢⎢⎢θ1θ2...θn⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢θ1θ2...θn⎤⎦⎥⎥⎥+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ a∑j=0m(y(j)−h(θTX(j)))xj0a∑j=0m(y(j)−h(θTX(j)))xj1...a∑j=0m(y(j)−h(θTX(j)))xjn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢θ1θ2...θn⎤⎦⎥⎥⎥+⎡⎣⎢⎢⎢⎢x10x11...x1nx20x21x2n.........xm0xm1xmn⎤⎦⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢y(1)−h(θTX(1))y(2)−h(θTX(2))...y(m)−h(θTX(m))⎤⎦⎥⎥⎥⎥
令
⎡⎣⎢⎢⎢⎢y(1)−h(θTX(1))y(2)−h(θTX(2))...y(m)−h(θTX(m))⎤⎦⎥⎥⎥⎥=E
故得到
θ=θ+aXTE