吴恩达机器学习 第二章 逻辑回归算法的学习以及自己对算法的实践运用
吴恩达机器学习 第二章 逻辑回归算法的学习以及自己对算法的实践运用
1、逻辑回归算法学习及实践
1.1逻辑回归算法的学习
逻辑回归算法通俗的讲就是判断是非对错的算法,与之前的线性回归算法相比:线性回归是预测数据值,逻辑回归算法是预测判断相关的问题,从哲学的角度看,生活中本质上就存在两种问题,一种是该不该的问题?,另一种为是不是的问题?对于该不该的问题,我们就可以通过逻辑回归算法来解决,对于是不是的问题,可以通过线性回归算法来进行解决。
回到正题,逻辑回归算法上来,逻辑回归算法的基本原理在于引入sgmoid函数,将数据重新分布在[0,1],区间之上,然后重新构造新的凹性函数作为代价函数,进行梯度下降法运算,或者利用其它算法来实现代价函数的收敛问题,从而找出最优的参数来实现对数据的判断和预测。
g = sigmoid(z)
sigmoid(z) = 1 ./ ( 1 + exp(-z) )
z=θ'*x
sigmoid函数的效果图
下面的为逻辑回归算法中新构造的代价函数和导数公式
J= -1 * sum( y .* log( sigmoid(X*theta) ) + (1 - y ) .* log( (1 - sigmoid(X*theta)) ) ) / m ;
grad = ( X' * (sigmoid(X*theta) - y ) )/ m ;
对比线性回归函数的代价函数和梯度更新公式
J = sum((X * theta - y).^2) / (2*m);
theta = theta - alpha / m * X' * (X * theta - y);
可以看出即使两者的代价函数不同,但最后的梯度下降公式是一致的(间接的说明数学的魅力,和创造这个公式的巧妙性,将逻辑回归和线性回归的导数算法进行了统一)。
通过逻辑回归算法,找出的最优参数theta,也就是预测0-1结果最小的代价函数计算出来的theta值,然后令z=0,从而得到分界线,在图像上的显示,有点类似于线性规划的区域划分,在分界线以下的为拒绝,也就是不该做,在分界线以上的为接受,也就是应该做。
1.2逻辑回归算法的实践
谈谈逻辑回归算法的应用,首先我们看一下吴恩达老师给的案例是根据两种测试的成绩,根据两种成绩结果,从而判断考生能否被录取。这个是一个涉及两个特征变量的问题:
z=theta1*x1+theta2*x2+theta0
针对这个示例可以进行两种实践拓展,第一种为在此基础上增加特征变量的数目,使其