OpenCV-Python实战(13)——OpenCV与机器学习的碰撞
0. 前言
机器学习是人工智能的子集,它为计算机以及其它具有计算能力的系统提供自动预测或决策的能力,诸如虚拟助理、车牌识别系统、智能推荐系统等机器学习应用程序给我们的日常生活带来了便捷的体验。机器学习的蓬勃发展,得益于以下三个关键因素:1) 海量数据集;2) 算法的快速发展;3) 计算机硬件的发展。在本文中,我们将学习 OpenCV
提供的常见机器学习算法和技术,用于解决计算机视觉项目中的实际问题,例如分类和回归问题。
1. 机器学习简介
机器学习是利用计算机编程,从历史数据中学习以对新数据进行预测的过程。机器学习可以分为三类——监督学习、无监督学习和半监督学习,这些技术所包含的算法如下图所示:
1.1 监督学习
监督学习使用的样本都有相应的期望输出值(或称为样本标签),由于我们知道每个训练数据的正确标签,因此监督学习可以根据预测与相应的期望输出之间的差异来校正这些预测。基于这些校准,算法可以从错误中学习以调整其内部参数,以拟合出最接近样本集合与相应的期望输出之间的函数。
监督学习问题可以进一步分为以下分类和回归:
- 分类:当输出