我有好几本跟机器学习和深度学习有关的书籍,想先复习机器学习,觉得这书挺适合刚入门的,理论没有很深,还有很多实例操作,写起笔记要简单一些。笔记一使我们产生了对机器学习的基础认识,大概明白它是怎么一个事。现在接着深入一点的学习之前的一些基础点,进而牵发出更多的学习内容。机器学习问题三大类:监督学习、非监督学习和强化学习。其中作者重点讲了下这个监督学习,我自己也觉得三类中监督学习似乎更发挥机器学习的魅力。
监督学习的目标总是我们去训练集给数据打标签(或目标值),我们根据这些标签的本质,可以两大类:①分类;②回归。
分类:使用数据来预测类别的这些监督学习叫做分类。比如我们预测天气是阴天还是晴天还是雨天。然后我们设一个阈值比如0.6,那么模型得出来的结果【0.1,0.8,0.1】,就可以说它预测明天天气是晴天。而当只有两只选择时,我们把这叫做二分类或者二值分类,比如我们读取一个图片去识别它是猫咪还是狗狗。
回归:使用数据预测真实值得这些监督学习就叫做回归。回归的目标是尽可能准确地去预测目标值。比如尽可能小的误差来预测股票价格。
回归和分类很明显的区别:分类是明确分类别,是或不是,是离散型的数据【是,不是,是,不是】,不存在可能是或可能不是;回归就是预测一个接近值,它是连续型的(呈N元N次方程)。
现在讲下OpenCV中的监督学习:
在OpenCV中所有的机器学习模型都派生自cv: :ml: : Statmodel基类。换种形象的说法就是,我们要想成为OpenCV中的一个机器学习模型,就必须提供Statmodel让我们提供的功能。这其中包括一个训练模型类函数(叫做train),还有一个用于评价模型表现的类函数(叫做calcError)。(类函数:就是对象本身包含的函数)
构建一个机器学习模型的过程如下:
①初始化:听过名字调用一个模型来创建一个模型的空实例;
②设置参数:如果模型需要一些参数,可以通过设值函数进行设置,不同的模型有不同的设置方法。比如,为了设K-NN算法,需要指定它的开放参数k;
③