本次文章内容: Coursera吴恩达机器学习课程,第七周编程作业。编程语言是Matlab。
本文只是从代码结构上做的小笔记,更复杂的推导不在这里。算法分两部分进行理解,第一部分是根据code对算法进行综述,第二部分是代码。
本次作业分两个part,第一个是using SVM,第二个部分是using SVM to build a spam classier.
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。最后画出结果。
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
版权声明:本文为博主原创文章,转载请附上博文链接!