1.SVM原理和优缺点
- 原理:支持向量机(SVM)通过寻找最大边界(margin)来分类数据。它试图找到一个超平面,将不同类别的数据分隔开,支持向量是距离超平面最近的样本点。
- 优点:
- 在高维空间表现良好。
- 具有良好的泛化能力。
- 可以有效处理非线性问题(通过核技巧)。
- 缺点:
- 对噪声敏感,尤其在数据集较小的情况下。
- 训练时间较长,对于大数据集表现不佳。
- 参数选择和核函数选择可能会影响结果。
2.手写K-means算法
import numpy as np
def k_means(X,k,max_iters=100):
centroids=X[np.random.choice(X.shape[0],k,replace=False)]
for_in range(max_iters):
distances=np.linalg.norm(X[:,np.newaxis]-centroids,axis=2)
labels=np.argmin(distances,axis=1)
centroids=np.array([X[labels==i].mean(