假如我手上有一个未知的蘑菇,我知道它的一系列特征(伞盖形状、发现地点、颜色、气味等等),但是仅仅依靠个人的经验判断能不能吃难免会翻车,这就要用到更多的经验。大数据就很好地解决了这个个人经验缺乏的问题:如果你已经阅尽了10000个蘑菇,那么你就能做出更加准确的判断了。
SVM支持向量机
SVM是机器学习中的一种方法,在2011年前后深度学习爆发之前曾统治机器学习数十年。它实现简单,在很多情况下表现优秀,需要的数据量小,因此成为机器学习的经典方法之一。
SVM定位:线性分类器,也就是用一条直线划分二维平面上的数据(或用n-1维的不弯曲物体划分n维的数据),另一个著名的线性分类器是逻辑回归模型(区别可以自行百度)。
假设处理二维的数据,数据有一个变量x,一个预测值y。在平面中的分割直线则设为kx+b=0。如果找到一条直线,它离两个类别中的点距离最大,则为最好的直线。有了这样一条分割线,就可以计算坐标中的点是在这条线的哪一边,也就是属于哪一类。
如何找到这条直线:画与这条直线距离相等的两条平行线(让这条直线它又长又宽),使它们与平面上的点有接触(也可以理解成这条直线宽到与平面上的点接触),两边首次接触到的平行直线之间的中线就是最佳的直线。两条平行直线接触到的至少3个点为支持向量。
为什么是3个点:两条平行直线分别通过两个不同的点并不能确定它们的斜率,而一条直线通过两个点、另一条直线通过另一个点且与之平行就能确定两条直线的位置。
但是在实际情况中,数据的类别之间并不是分的那么明显,有可能有极端情况,也就是一个标号为A类别的数据实际上离B类别的样本更近,却与A类别相差大。那么这里就引进了一个松弛参数