Coursera-吴恩达-机器学习-第七周-编程作业: Support Vector Machines

本次文章内容: Coursera吴恩达机器学习课程,第七周编程作业。编程语言是Matlab。

本文只是从代码结构上做的小笔记,更复杂的推导不在这里。算法分两部分进行理解,第一部分是根据code对算法进行综述,第二部分是代码。

本次作业分两个part,第一个是using SVM,第二个部分是using SVM to build a spam classier.

1 Support Vector Machines

Part 0 Initialization 

          clear ; close all; clc; 常规操作。

Part 1: Loading and Visualizing Data

        可视化test data。

Part 2: Training Linear SVM

       使用函数svmTrain()训练SVM,用到的是一个simplified version of the SMO。

      并画出结果。

Part 3: Implementing Gaussian Kernel

       使用核函数对非线性数据进行分类。

Part 4: Visualizing Dataset 2 

Part 5: Training SVM with RBF Kernel (Dataset 2)

       使用函数svmTrain()训练SVM,  并画出结果。

Part 6: Visualizing Dataset 3 

       加载一个新的数据集,这个数据集已经分出来了the training set 和 the cross validation set。

Part 7: Training SVM with RBF Kernel (Dataset 3)

    在函数dataset3Params(X, y, Xval, yval)中编写循环,循环不同的Gaussian Kernel参数,用 the cross validation set Xval, yval to 选出最好 C and  delta parameter。最后画出结果。

2 Spam Classication

Part 0 Initialization 

          clear ; close all; clc; 常规操作。

Part 1: Email Preprocessing

          使用 SVM to classify emails into Spam v.s. Non-Spam, 先把each email 转化成 a vector of features. 然后执行 the preprocessing steps for each email. 使用 processEmail.m 函数,在词库中找到对应的词的index,并产生 word indices vector。

Part 2: Feature Extraction 

          在已知INDEX之后,我们可以生成 a vector of features in R^n. 使用函数 emailFeatures.m 产生 a feature vector for a given email.

Part 3: Train Linear SVM for Spam Classification

          linear SVM 训练模型可以得到学得的参数。并用svmPredict函数进行测试Training Accuracy。

Part 4: Test Spam Classification

          训练完了以后, 我们可以在test set上进行评估。并输出Test Accuracy。

Part 5: Top Predictors of Spam

         选出单词全中最高的weight。

Part 6: Try Your Own Emails

         使用其他邮件进行检测,输出预测结果。
--------------------- 
作者:帅金毛 
来源:CSDN 
原文:https://blog.csdn.net/qq1376725255/article/details/83097471 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq1376725255/article/details/83144445