0
点赞
收藏
分享

微信扫一扫

Scala第十章节(列表、集相关知识点)

Gaaidou 03-22 19:30 阅读 2

总结

本系列是机器学习课程的系列课程,主要介绍机器学习中分类算法,本篇为分类算法与SVM算法部分。

本门课程的目标

完成一个特定行业的算法应用全过程:

懂业务+会选择合适的算法+数据处理+算法训练+算法调优+算法融合
+算法评估+持续调优+工程化接口实现

参考

图解机器学习 | 支持向量机模型详解

支持向量机通俗导论(理解SVM的三层境界)

支持向量机(SVM)

机器学习中的算法(2)-支持向量机(SVM)基础

看了这篇文章你还不懂SVM你就来打我https://tangshusen.me/2018/10/27/SVM/

斯坦福CS229 | 机器学习-吴恩达主讲(2018·完整版)

https://www.bilibili.com/video/BV1hT4y1r73X/

机器学习定义

SVM算法

SVM算法简介与分类

在这里插入图片描述
在这里插入图片描述

支持向量机学习方法,针对不同的情况,有由简至繁的不同模型:

最大间隔分类器

支持向量机详解

1)线性可分 SVM 与硬间隔最大化
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

SVM 总结

1)模型总结

支持向量机(Support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,他的学习策略就是间隔最大化,同时该方法可以形式化为一个求解图二次规划。
在这里插入图片描述
2)模型优缺点
(1)SVM模型优点
在这里插入图片描述

在这里插入图片描述

基于Python的 SVM 代码实践

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
iris = datasets.load_iris()
X = iris.data[:, :2]  #只取前两维特征,方便可视化
y = iris.target
svc = svm.SVC(kernel='linear', C=1).fit(X, y)
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
h = (x_max / x_min) / 100
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
plt.subplot(1, 1, 1)
Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(xx.min(), xx.max())
plt.title('SVC with linear kernel')
plt.show()

输出为:
在这里插入图片描述

在这里插入图片描述

使用多项式核函数
初始化 SVM 对象的代码替换为下面这行

# svc = svm.SVC(kernel='linear', C=1).fit(X, y)
svc = svm.SVC(kernel='poly', degree=3).fit(X, y)

输出为:
在这里插入图片描述

使用rbf核函数(高斯核函数)
初始化 SVM 对象的代码替换为下面这行

# svc = svm.SVC(kernel='linear', C=1).fit(X, y)
# svc = svm.SVC(kernel='poly', degree=3).fit(X, y)
svc = svm.SVC(kernel='rbf', C=1).fit(X, y)**

输出为:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

确定方向过程

针对完全没有基础的同学们
1.确定机器学习的应用领域有哪些
2.查找机器学习的算法应用有哪些
3.确定想要研究的领域极其对应的算法
4.通过招聘网站和论文等确定具体的技术
5.了解业务流程,查找数据
6.复现经典算法
7.持续优化,并尝试与对应企业人员沟通心得
8.企业给出反馈

举报

相关推荐

0 条评论