结合openCV学习DIP之机器学习
2021/7/11 23:08:30
本文主要是介绍结合openCV学习DIP之机器学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
综述
结合openCV学习DIP之传统图像特征与匹配
图像特征
图像的浅层特征主要是颜色、纹理和形状
图像特征是指: 可以表达图像中对象的主要信息, 并且以此为依据可以从其他未知图像中检测出相似或相同的该对象A.
在特征提取上,传统的图像处理都是自行设计提取固定特征的算子,在深度学习上主要是利用CNN网络来广泛的提取图像的特征.
笔记以吴恩达课程为基础, 全面介绍机器学习相关术语, 再以李航《统计学习方法》和周志华《机器学习》以及《学习openCV3》为基础,记录学习内容, 将不定期更新.
机器学习-吴恩达课程笔记
本章以吴恩达机器学习课程为基础, 记录期间的学习笔记,该课程和本笔记仅以入门为目标, 即不涉及理论具体推导.
第一课-基本术语和LogisticRegression
目的: 将一个图片输入到一个 (暂称为)机构 中, 自动对其进行分类
分类的结果有二类分类和多类分类, 根据分类结果不同,可以将分类器分为:
二类分类: 感知机,支持向量机SVM, Adaboost提升方法,Logistic回归模型
多类分类: k近邻树(k近邻法),朴素贝叶斯法,决策树,Logistic回归模型,最大熵模型
如何遍历一个包含了N个图片的集合? 一般是for循环,但是这种费时.
回归:简单理解为两组数据关系的统计分析方法
对于一张图片一般是3个通道,假设图片size是64x64, 那么将这张图片记为x, x通过维度变换为nx1的列向量,如下图所示:
假设训练集train set记为X有m个样本,每个样本是,其中表示第i个样本的标签, 标签的信息即分类信息, 比如猫or狗
上述是一个n维列向量,显然, 训练集X是一个n行m列的矩阵,同理标签Y如下
LogisticRegression 逻辑回归模型
为预测值, 为标签真实值, X为输入的图片集合记号, 对其有表达式:
得到一个线性的模型, 但是输出的范围变成了∞, 想要函数值限定在[0,1]
其中, 该表达式将其值域锁定在了[0,1]上
Loss function损失函数和Cost function成本函数
loss function是对于单个样本而言, 目的是求 真实值 和 预测值之间的差距, 自然是越小越好,其数学表达式为:
由于y是标签值,自然是不变的, 而是预测值, 其值和w和b有密切关系,将
带入L()中
cost function是对于群体样本而言, 其数学表达式为:
上述问题转换成: 如何确定 w和b的值, 使得L和J 存在最小值, 即使得分类的错误率最低?
答案: GradientDescent 梯度下降法
梯度下降法或最速下降法steepest descent 是求解无约束最优化问题的一种常用方法
graditent descent是一种迭代算法, 选取适当的初值,不断迭代更新x的值,将目标函数值最小化,直到收敛.
负梯度方向是使函数值 下降 最快的方向, 应当以负梯度方向更新x值
书中或许不太容易理解, 作图理解如下: 注意parameter学习率
对于上图抛出的问题,
该曲线的递减部分, 其斜率为负, 梯度负方向,负负得正,w+正数,因此w向右移动, 递增部分, 斜率为正, 梯度负方向,w+负数,因此w向左移动
在上述的问题中, 如何通过计算得到的损失函数的值, 自动更新输入的w和b的值呢? 从而自动调整模型的参数,使得预测能力的错误率降低?
为了回答这个问题, 引入正向传播和反向传播的概念, 在下图的反向传播中, 就是将来参数b 在梯度下降时需要的梯度值,其方向取- ,这里就是反向传播中如何求取(简单的高数知识)
例子1: 单个样本
假设有样本, 因为 , 那么
显然x是列向量, w应该为行向量, b则为1x1的单数值
根据logistic 回归模型,有
对w1和w2和b进行gradient descent, 引入学习率
例子2: 多个样本
成本函数
假设有样本, 因为 , 那么,
直接将其看成矩阵,然后求即可
Nerual Networ
2 layers nerual network
为了区分, 现将[i]表示网络第i层, (i)表示第i个样本(方便理解,可以把每个样本理解成一张图片)
下图中表示第1层的激活函数activation function, 该函数的表达式暂且不表.应当注意即 下图中的第一层
应该根据输入的X维度和输出的分类结果Y的维度, 从第一层开始逐步推出每一层的维度
激活函数 ActivationFunction
上述的网络引入了新的概念: 激活函数
激活函数的作用是什么? 表达式一般是什么样的?
这篇关于结合openCV学习DIP之机器学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程