机器学习(七)- logistic regression

来源:互联网 发布:qq飞车数据异常 编辑:程序博客网 时间:2024/06/06 03:39

logistic regression

对于逻辑回归,就是运用已知的数据集(training set)去拟合一组θ,等同于在空间中拟合出一条曲线,不过这条曲线不同于线性回归,这条曲线是用于空间划分,对于二分类,就是用曲线将平面划分成两个区域,那么对于这两个不同的区域θTx对应于大于等于0和小于0,随后再代入g(z)即sigmoid函数的时候,就对应于大于等于0.5和小于0.5,这个时候联系概率就将对应区域等同于y=1y=0,当然和线性回归一样,是建立在我们已经完成特征选取和模型假设之后,我们所用模型为:

hθ(x)=g(θTx)=11+eθTx

具体步骤其实就是迭代下面两个方程:
第一个是参数更新方程
θj:=θjα1mi=1m(hθ(x(i))y(i))x(i)j

第二个是代价函数
J(θ)=1m(i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i))))

化成矩阵形式就是:
θ:J(θ)=θα1mXT(g(Xθ)y)=1m(yTlogg(Xθ)+(1yT)log(1g(Xθ)))

matlab 代码实现:

J = - 1/m * (y' * log(sigmoid(X * theta)) + ...    (1-y') * log(1 - sigmoid(X * theta)));grad = theta - alpha * 1/m * (X' * (sigmoid(X * theta) - y));
阅读全文
0 0