• Andrew Ng 的 Machine Learning 课程学习 (week4) Multi-class Classification and Neural Networks


    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛。这门课程对想要了解和初步掌握机器学习的人来说是不二的选择。这门课程涵盖了机器学习的一些基本概念和方法,同时这门课程的编程作业对于掌握这些概念和方法起到了巨大的作用。

    课程地址 https://www.coursera.org/learn/machine-learning

    笔记主要是简要记录下课程内容,以及MATLAB编程作业....

    Neural Networks: Representation

    lrCostFunction.m

     1 h_theta = sigmoid( X * theta);
     2 
     3 eqsum = sum( -y .* log( h_theta) - (1-y) .* log( 1 - h_theta));
     4 
     5 extra_fun = lambda / (2*m) * (theta' * theta - theta(1) * theta(1));
     6 J = 1/m * eqsum + extra_fun;
     7 
     8 E = h_theta - y;
     9 grad = 1/m * X' * E + lambda / m .* theta;
    10 grad(1) = grad(1) - lambda / m * theta(1);

    oneVsAll.m

     1     % Set Initial theta
     2     initial_theta = zeros(n + 1, 1);
     3     
     4     % Set options for fminunc
     5     options = optimset('GradObj', 'on', 'MaxIter', 50);
     6 
     7     % Run fmincg to obtain the optimal theta
     8     % This function will return theta and the cost 
     9     for c = 1:num_labels
    10          [all_theta(c,:)] = fmincg (@(t)(lrCostFunction(t, X, (y == c), lambda)),initial_theta, options);
    11     end

    predictOneVsAll.m

    1 h = sigmoid( X * all_theta' ); % 5000 x 401 x 401 x 10 = 5000 x 10
    2 [max_value ,p] = max(h, [], 2);

    predict.m

     1 X = [ones(m, 1) X];
     2 % Theta1 has size 25 x 401
     3 % Theta2 has size 10 x 26
     4 z2 =  X * Theta1';   % 5000 x 25
     5 a2 = sigmoid(z2);    % 5000 x 25
     6 a2 = [ones(m,1) a2]; % 5000 x 26
     7 z3 = a2 * Theta2';     % 5000 x 10
     8 a3 = sigmoid(z3);
     9 
    10 [max_value ,p] = max(a3, [], 2);
  • 相关阅读:
    DEVMODE 结构体
    VS2019如何将主菜单从标题栏移到单独一行
    最近学到的东西
    线上问题处理相关思考
    mybatis+spring
    jenkins
    自动化case校验点
    Sqlserver大数据迁移,导出-》导入(BULK INSERT)
    阿里P7大佬带你解密Sentinel
    《高可用系列》-限流神器Sentinel,不了解一下吗?
  • 原文地址:https://www.cnblogs.com/zhubinwang/p/4979805.html
Copyright © 2020-2023  润新知