吴恩达机器学习 - 逻辑回归的正则化

吴恩达机器学习 - 逻辑回归的正则化

版权声明:如果感觉写的不错,转载标明出处链接哦~blog.csdn.net/wyg1997 https://blog.csdn.net/wyg1997/article/details/80734142

题目链接:点击打开链接


先贴笔记

吴恩达机器学习 - 逻辑回归的正则化_第1张图片
吴恩达机器学习 - 逻辑回归的正则化_第2张图片


代码:

costFunction.m(求代价和各方向梯度)(注意:Θ0Θ0单独计算):

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. 

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly 
J = 0;
grad = zeros(size(theta));

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta.
%               You should set J to the cost.
%               Compute the partial derivatives and set grad to the partial
%               derivatives of the cost w.r.t. each parameter in theta

[~, n] = size(X);
%以下计算一定要记得不正则化theta_0
J = (-y'*log(sigmoid(X*theta))-(1-y')*log(1-sigmoid(X*theta)))/m + ...
lambda/(2.0*m)*(theta(2:n)'*theta(2:n));

grad(1) = X(:,1)'*(sigmoid(X*theta)-y)./m;
grad(2:n) = X(:,2:n)'*(sigmoid(X*theta)-y)./m + lambda/m*theta(2:n);


% =============================================================

end

   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

然后展示下不同λ画出的不同图案

吴恩达机器学习 - 逻辑回归的正则化_第3张图片
吴恩达机器学习 - 逻辑回归的正则化_第4张图片
吴恩达机器学习 - 逻辑回归的正则化_第5张图片

				
				

你可能感兴趣的:(机器学习)