• 吴恩达-AI-机器学习课后习题解析-第三周


     =================================================  sigmod.m  =========================================================================

    function g = sigmoid(z)
    %SIGMOID Compute sigmoid function
    % g = SIGMOID(z) computes the sigmoid of z.

    % You need to return the following variables correctly
    g = zeros(size(z));

    % ====================== YOUR CODE HERE ======================
    % Instructions: Compute the sigmoid of each value of z (z can be a matrix,
    % vector or scalar).


    g = 1 ./ (1+exp(-z))         


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

    end

     ===================================================== predict.m =====================================================================

    function p = predict(theta, X)
    %PREDICT Predict whether the label is 0 or 1 using learned logistic
    %regression parameters theta
    % p = PREDICT(theta, X) computes the predictions for X using a
    % threshold at 0.5 (i.e., if sigmoid(theta'*x) >= 0.5, predict 1)

    m = size(X, 1); % Number of training examples

    % You need to return the following variables correctly
    p = zeros(m, 1);

    % ====================== YOUR CODE HERE ======================
    % Instructions: Complete the following code to make predictions using
    % your learned logistic regression parameters.
    % You should set p to a vector of 0's and 1's
    %

    p = round(sigmoid(X * theta));   % round(>= 0.5) = 1, round(< 0.5) = 0


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


    end

     =================================================  costFunction.m  =========================================================================

    function [J, grad] = costFunction(theta, X, y)
    %COSTFUNCTION Compute cost and gradient for logistic regression
    % J = COSTFUNCTION(theta, X, y) computes the cost of using theta as the
    % parameter for 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
    %
    % Note: grad should have the same dimensions as theta
    %

    J = (-y' * log(sigmoid(X * theta)) - (1 - y)' * log(1 - sigmoid(X * theta))) / m;

    grad = X' * (sigmoid(X * theta) - y) / m;


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

    end

  • 相关阅读:
    使用vue来开发一个下拉菜单组件(2)
    使用vue来开发一个下拉菜单组件(1)
    在Vue中引入Bootstrap,Font-awesome
    九宫格表格样式
    web upload 上传多张图片实例
    input 的multiple 上传多个文件
    常用 验证码 JS 代码
    最全 H5 form 表单 + 正则验证
    mysql的指令
    Ant编译MapReduce程序
  • 原文地址:https://www.cnblogs.com/duenboa/p/10390783.html
Copyright © 2020-2023  润新知