From f391ac661ef61bfa78805724d0d17f3bbce9aa55 Mon Sep 17 00:00:00 2001 From: neingeist Date: Wed, 15 Oct 2014 10:10:30 +0200 Subject: [PATCH] Add cost function for regularized logistic regression --- ex2/costFunctionReg.m | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ex2/costFunctionReg.m b/ex2/costFunctionReg.m index 87b7e8e..deaae32 100644 --- a/ex2/costFunctionReg.m +++ b/ex2/costFunctionReg.m @@ -2,12 +2,12 @@ function [J, grad] = costFunctionReg(theta, X, y, lambda) %COSTFUNCTIONREG Compute cost and gradient for logistic regression with regularization % J = COSTFUNCTIONREG(theta, X, y, lambda) computes the cost of using % theta as the parameter for regularized logistic regression and the -% gradient of the cost w.r.t. to the parameters. +% gradient of the cost w.r.t. to the parameters. % Initialize some useful values m = length(y); % number of training examples -% You need to return the following variables correctly +% You need to return the following variables correctly J = 0; grad = zeros(size(theta)); @@ -17,10 +17,8 @@ grad = zeros(size(theta)); % Compute the partial derivatives and set grad to the partial % derivatives of the cost w.r.t. each parameter in theta - - - - +J = 1/m * (-y'*log(sigmoid(X*theta)) - (1-y)'*log(1-sigmoid(X*theta))) ... + + lambda/(2*m) * theta(2:end)' * theta(2:end); % =============================================================