吴恩达机器学习第七周测试和编程作业

代码:https://github.com/LiuZhe6/AndrewNGMachineLearning

文章目录

    • 测验:Support Vector Machines
      • 第一题
      • 第二题
      • 第三题
      • 第四题
      • 第五题
    • 编程作业:Support Vector Machines
      • 作业一:Gaussian Kernel
      • 作业二:Parameters (C, sigma) for Dataset 3
      • 作业三:Email Preprocessing
      • 作业四:Email Feature Extraction

测验:Support Vector Machines

第一题

吴恩达机器学习第七周测试和编程作业_第1张图片
吴恩达机器学习第七周测试和编程作业_第2张图片
答案
B

第二题

吴恩达机器学习第七周测试和编程作业_第3张图片
吴恩达机器学习第七周测试和编程作业_第4张图片
吴恩达机器学习第七周测试和编程作业_第5张图片
吴恩达机器学习第七周测试和编程作业_第6张图片
吴恩达机器学习第七周测试和编程作业_第7张图片
答案
A
分析:当西格玛平方减少时,图像变陡。

第三题

吴恩达机器学习第七周测试和编程作业_第8张图片
吴恩达机器学习第七周测试和编程作业_第9张图片
答案
AB

第四题

吴恩达机器学习第七周测试和编程作业_第10张图片
答案
AC

第五题

吴恩达机器学习第七周测试和编程作业_第11张图片
答案
BC
分析:
A:多分类问题当然可以用核函数。
B:线性核函数(不使用核函数)当然绘制出来是一条直线。
C:没错。
D:theta大小依赖于C。

编程作业:Support Vector Machines

作业一:Gaussian Kernel

gaussianKernel.m

sim = exp(-sum((x1 - x2).^2) / (2*sigma^2));

作业二:Parameters (C, sigma) for Dataset 3

吐槽一下,mac贼慢。。。
dataset3Params.m

value = [0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30];

minC = 0;
minSigma = 0;
% 最小值设为交叉验证集的用例数
minError = size(Xval,1);
for i = 1:8,
    for j = 1:8,
        model= svmTrain(X, y, value(i), @(x1, x2) gaussianKernel(x1, x2, value(j)));
        predictions = svmPredict(model,Xval);
        error = mean(double(predictions ~= yval));
        if minError > error
            minError = error;
            minC = value(i);
            minSigma = value(j);
        end;
    end;
end;

C = minC;
sigma = minSigma;

作业三:Email Preprocessing

processEmail.m

for i = 1:length(vocabList)
        if (strcmp(vocabList{i},str))
            word_indices = [word_indices;i];
        end;
    end;

作业四:Email Feature Extraction

emailFeatures.m

x(word_indices) = 1;

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