访存模式分析实验思路(毕设笔记9)
因为作者只是个刚刚修读过人工智能基础的入门菜鸡,然后这次要做的是针对访存数据进行无监督学习。数据大概长这个样子:
0x7f1eae6dc103:W 0x7fff31765108(from Pin)
指令地址,访存方式,存储地址
0x7faf78ee1103,w,8,0x7ffd865120c8(from DynamoRIO)
指令地址,访存方式,数据大小,存储地址
首先是需要了解一下聚类的常见方式和实现,参考了这篇https://cncws.github.io/introduction-to-ml-with-python/unsupervised-learning-and-preprocessing/
和https://cncws.github.io/introduction-to-ml-with-python/clustering/
,两篇博客都从宏观上介绍了流行的聚类方法,后者包括了使用sckit-learn进行简单实现的代码说明。
从阅读的结果来说,聚类主要方式有:kmeans,凝聚聚类,层次聚类和DBSCAN等,然后kmeans对数据成簇的形状要求比较高,它要求所成簇基本上是凸的,如果不满足这一要求,聚类的结果可能会不理想。
然后就是相同作者写下的这篇https://cncws.github.io/introduction-to-ml-with-python/dimensionality-reduction-feature-extraction-and-manifold-learning/
和https://cncws.github.io/introduction-to-ml-with-python/preprocess-and-scaling/</