opencv机器学习(2020.4.9)
opencv机器学习1.训练集与测试集2. 监督数据与无监督数据3.生成模型和判别模型4.机器学习算法Mahalanobis通过除以协方差来对数据空间进行变换,然后再计算距离K均值非监督的聚类方法正态/朴素贝叶斯分类器通用分类器决策树一个判别分类器Boosting多个判别子分类器的组合随机森林人脸检测/Haar分类器期望最大化(EM)一种用于聚类...
opencv机器学习
1.训练集与测试集
2. 监督数据与无监督数据
3.生成模型和判别模型
4.机器学习算法
Mahalanobis 通过除以协方差来对数据空间进行变换,然后再计算距离
K均值 非监督的聚类方法
正态/朴素贝叶斯分类器 通用分类器
决策树 一个判别分类器
Boosting 多个判别子分类器的组合
随机森林
人脸检测/Haar分类器
期望最大化(EM) 一种用于聚类的非监督生成算法
K近邻
神经网络
支持向量机
5.视觉中使用机器学习
考虑训练速度:最近邻法,正态贝叶斯,决策树
考虑内存: 决策树和神经网络
考虑判断速度:神经网络,正态贝叶斯和SVM
考虑精确度:boosting 和随机森林
6 .诊断机器学习中的问题
欠拟合
过拟合
7.评估机器学习结果的工具
交叉验证 k-1训练集 ,1测试集
画ROC曲线图和混淆矩阵 评估分类器参数的变化对分类器性能的影响
8.ML库的通用类
save() 存储训练模型
load() 加载训练模型
clear() 释放所有内存
train() 训练数据
predict() 预测一个新数据样本的标签或者值
注意:
a.训练的数据必须是32FC1(32位单通道)
b.只采用单通道
c.一般情况下矩阵以行排列数据样本,数据矩阵的构成方式(行,列)=(数据样本,特征变量)
CV_ROW_SAMPLE 特征向量以行排列(默认)
CV_ROW_SAMPLE 特征向量以行排列(默认)
d.reponse 可以是类别标签,也可以是连续性的数值(人体温度),返回值是一个一维向量,向量的每一个值对应一个输入数据样本
CV_VAR_CATEGORICAL 输出的 值是离散标签
CV_VAR_ORDERED 输出的值是数值类型标签
e.回归类型的算法只能处理有序输入
预测
训练迭代次数
cvTermCriteria()
9.Mahalanobis距离
是数据所在空间的协方差的度量
cvCalcCovarMatrix() 计算协方差矩阵
cvInvert() 计算协方差矩阵的逆矩阵
cvMahalanobis() 计算距离
10.K均值
cvKmeans2()
11.朴素贝叶斯分类
cvNormalBayesclassifier::train(trainData, response, var_idex = 0, sample_idx = 0) 只支持CV_ROW_SAMPLE类型数据
predict(sample, result = 0) result返回 对应的类别
如果只有一个输入向量,则只返回一个浮点数,result将被设为NULL
12.二叉决策树
三个最常用的度量:熵,吉尼系数,错分类
回归不纯度
分类不纯度
训练树:cvDTreeParame()
13.boost
14.随机森林
随机森林可以通过搜集很多树的子节点对各个类别的投票,然后选择获得最多投票的类别作为判断结果
15.人脸识别和Haar分类器
haar+adboost
更多推荐



所有评论(0)