首页 > 代码库 > ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)
ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)
ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)
ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践。
在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl。
于是最近就开始搞这个了,教程加上matlab编程,就是完美啊。
新教程的地址是:http://ufldl.stanford.edu/tutorial/
本节学习链接:http://ufldl.stanford.edu/tutorial/supervised/LogisticRegression/
有了线性回归的基础再来学这个,简直是easy啊。
线性回归通常是拟合,预测的输出通常是连续的。
而逻辑回归通常来做离散的预测,比如二值的0或者1,也就是分类问题。
搞懂了目标函数和偏导数后,就可以编程了。
编程题目是对手写数字0和1做分类。
logistic_regression.m代码如下
function [f,g] = logistic_regression(theta, X,y) % % Arguments: % theta - A column vector containing the parameter values to optimize. % X - The examples stored in a matrix. % X(i,j) is the i'th coordinate of the j'th example. % y - The label for each example. y(j) is the j'th example's label. % m=size(X,2); % initialize objective value and gradient. f = 0; g = zeros(size(theta)); h = sigmoid(X'*theta); f=-y*log2(h)+(1-y)*log2(1-h); g=X*(h-y'); % % TODO: Compute the objective function by looping over the dataset and summing % up the objective values for each example. Store the result in 'f'. % % TODO: Compute the gradient of the objective by looping over the dataset and summing % up the gradients (df/dtheta) for each example. Store the result in 'g'. % %%% YOUR CODE HERE %%%
结果如下:
教程里说准确率应该是100%,我这里竟然是99.7%和99.9%。
难道我做错了。。。
如果由谁做到100%,记得告诉我啊。
本文作者:linger
本文链接:http://blog.csdn.net/lingerlanlan/article/details/38390085
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。