• 机器学习-一对多(多分类)代码实现(matlab)


    %% Machine Learning Online Class - Exercise 3 | Part 1: One-vs-all
    
    %  Instructions
    %  ------------
    % 
    %  This file contains code that helps you get started on the
    %  linear exercise. You will need to complete the following functions 
    %  in this exericse:
    %
    %     lrCostFunction.m (logistic regression cost function)
    %     oneVsAll.m
    %     predictOneVsAll.m
    %     predict.m
    %
    %  For this exercise, you will not need to change any code in this file,
    %  or any other files other than those mentioned above.
    %
    
    %% Initialization
    clear ; close all; clc
    
    %% Setup the parameters you will use for this part of the exercise
    input_layer_size  = 400;  % 20x20 Input Images of Digits
    num_labels = 10;          % 10 labels, from 1 to 10   
                              % (note that we have mapped "0" to label 10)
    
    %% =========== Part 1: Loading and Visualizing Data =============
    %  We start the exercise by first loading and visualizing the dataset. 
    %  You will be working with a dataset that contains handwritten digits.
    %
    
    % Load Training Data
    fprintf('Loading and Visualizing Data ...
    ')
    
    load('ex3data1.mat'); % training data stored in arrays X, y
    m = size(X, 1);
    size(X, 1);
    
    X=5000*400
    
    size(X, 1) = 5000 取行
    
    size(X,2) = 400 取列
     
    解释
    % Randomly select 100 data points to display
    rand_indices = randperm(m);
    sel = X(rand_indices(1:100), :);
    
    displayData(sel);
    
    fprintf('Program paused. Press enter to continue.
    ');
    pause;
    
    %% ============ Part 2: Vectorize Logistic Regression ============
    %  In this part of the exercise, you will reuse your logistic regression
    %  code from the last exercise. You task here is to make sure that your
    %  regularized logistic regression implementation is vectorized. After
    %  that, you will implement one-vs-all classification for the handwritten
    %  digit dataset.
    %
    
    fprintf('
    Training One-vs-All Logistic Regression...
    ')
    
    lambda = 0.1;
    [all_theta] = oneVsAll(X, y, num_labels, lambda);
    
    fprintf('Program paused. Press enter to continue.
    ');
    pause;
    
    
    %% ================ Part 3: Predict for One-Vs-All ================
    %  After ...
    pred = predictOneVsAll(all_theta, X);
    
    fprintf('
    Training Set Accuracy: %f
    ', mean(double(pred == y)) * 100);
    

      

  • 相关阅读:
    Javascript闭包(转)
    Codeigniter 控制器的继承问题
    ThinkPHP3.1 安全快速入门
    怎么在CI中引入外部的JS与CSS呢?
    Node.js学习笔记(一)
    PHP strstr() 字符串匹配函数
    include和require的区别(转)
    【原】把datagridview中的数据保存到txt文档中
    【转】09年.NET面试题
    【转】Developer Express 系列控件使用心得1
  • 原文地址:https://www.cnblogs.com/liu-wang/p/9472332.html
Copyright © 2020-2023  润新知