先学经历
- 观看b/站《李宏毅机器学习(2017)》教学视频p1-p20。(直接搜“机器学习”,ps:没错就是刚好看到了CNN)
一、特征提取
因为我用的是DEAP数据集
labels中有4个评价指标。
我直接对每个指标进行一个2分类的划分,由于每个指标的取值是[0,9],所以简单粗暴地以4.5划分为High和Low。
因为8064维的维数有点高,我决定训练之前先降个维。
不能所有数据一起PCA降维,要先分出训练集和测试集,降维之前先标准化。
对于用PCA降维的实现看了些资料:
https://blog.csdn.net/ccblogger/article/details/81866631
matlab_PCA
python_PCA
sklearn_PCA
下面是百度百科中对pca降维的一段解释,还是挺清晰的:
“对于一个训练集,100个对象模板,特征是10维,那么它可以建立一个10010的矩阵,作为样本。求这个样本的协方差矩阵,得到一个1010的协方差矩阵,然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个104的矩阵,这个矩阵就是我们要求的特征矩阵,10010的样本矩阵乘以这个104的特征矩阵,就得到了一个1004的新的降维之后的样本矩阵,每个特征的维数下降了。
当给定一个测试的特征集之后,比如110维的特征,乘以上面得到的104的特征矩阵,便可以得到一个1*4的特征,用这个特征去分类。”
https://blog.csdn.net/qq_36523839/article/details/82558636
二、训练
这边是直接参考的《李宏毅机器学习(2017)》这里边举得例子。用的是keras。
经典的CNN模型
参数调整
三、画图
ps:本人初学,比较菜。有错漏之处,还望交流指正~