文章目录
- 一、LDA是什么?
- 二、LDA的代码实现(使用sklearn)
- 三、SVM是什么?
- 四、SVM的代码实现(月亮数据集)
- 1. 使用线性核
- 2. 多项式核
- 3. 高斯核
- 五、SVM的代码实现(鸢尾花数据集)
- 总结
线性判别分析LDA(Linear Discriminant Analysis)又称为Fisher线性判别,是一种监督学习的降维技术,也就是说它的数据集的每个样本都是有类别输出的,这点与PCA(无监督学习)不同。LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用。
假设我们有两类数据 分别为红色和蓝色,如下图所示,这些数据特征是二维的,我们希望将这些数据投影到一维的一条直线,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。
训练数据集:



支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
导入包并展示数据:






首先是了解了LDA 和SVM 这两种算法的思想。LDA算法的核心是对数据集进行分类降维;而SVM是找到几何间距margin,处理线性可分问题,对应的非线性问题处理方法是:非线性SVM。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189522.html