【Stanford Machine Learning Open Course】9. week3编程题解
这里是斯坦福大学机器学习网络课程的学习笔记。课程地址是:https://class.coursera.org/ml-2012-002/lecture/index
本周题目包括:
1. sigmoid 函数表达式
2. logistic 回归方法的成本函数
3. logistic 回归方法的梯度下降法
4. 二分类的预测函数
5. 正则化的logistic回归方法的成本函数
6. 正则化的logistic回归方法的梯度下降法
题解:
1. sigmoid 函数表达式
function g = sigmoid(z)
g = zeros(size(z)); g=1./(1+power(e,-z)); end
2. logistic 回归方法的成本函数 & 3. logistic 回归方法的梯度下降法
function [J, grad] = costFunction(theta, X, y)
m = length(y); J = 0; grad = zeros(size(theta)); J=1/m*(-y'*log(sigmoid(X*theta))-(1-y)'*log(1-sigmoid(X*theta))); grad=1/m*((sigmoid(X*theta)-y)'*X)';
end
4. 二分类的预测函数
function p = predict(theta, X) m = size(X, 1); % Number of training examples p = zeros(m, 1); admitted=find(sigmoid(X*theta)>=0.5);p(admitted)=1; end
5. 正则化的logistic回归方法的成本函数 & 6. 正则化的logistice回归方法的梯度下降法
function [J, grad] = costFunctionReg(theta, X, y, lambda) m = length(y); % number of training examples J = 0; grad = zeros(size(theta)); [J_normal, grad_normal] = costFunction(theta,X,y); J = J_normal + lambda/(2*m)*(theta'*theta-theta(1)^2); grad = grad_normal + lambda/m*theta; grad(1) = grad(1)-lambda/m*theta(1); end
转载请注明出处: http://www.cnblogs.com/liyuxia713/