1.不会算法如何学习机器学习?
2.计算机视觉算法有哪些?CV算法
不会算法如何学习机器学习?
先看看相关的码博图书:要有好几本作为参考,最好是码博角度差异大、深浅程度不同,码博比如系统的码博导论式的、深入的码博有推导的、浅出的码博计数器源码手把手的。它要充当不同学习过程中的码博工具书。
网络教程:比如Andrew Ng的码博、各种专题的码博博客,有针对地找相应的码博教程,相对着看,码博网络资源比如cto学院的码博课程跟书的表达方式毕竟是不一样的,也是码博很有益的信息源。
paper:比如学CNN的码博时候,就搜一堆论文来,码博集中一段时间看一轮,一定要有针对性,带着很明确的问号去看。
开源资源:很多很多东西,其实都有人做出来开源了,直接拿来用,源码github一边用一边理解,甚至可以学习源码。
关注这个领域:关注相关的会议期刊,关注大牛们(Hinton、Bengio、LeCun等)的动向,微博加一堆领域大牛每天看一眼他们分享什么上来。
基础知识:线代、统计、概率、源码数数学分析;信息论方面基本概念要理解,比如要知道相对熵是什么意思和怎么算;凸优化和最优估计相关内容,在各种各样问题中都会遇到,学好了可以帮大忙。
机器学习主要就是找到目标函数并且做参数估计,虽然有很多现成工具,但是不熟悉优化问题的话,会很抓瞎。
熟悉几个模型:神经网络(SAE、RBM、源码 框架CNN等)、SVM、最大熵、CRF、随机森林、GMM等等。了解不同应用场景下各种模型有什么优劣,挑一些自己以后可能常用到的多练习。
计算机视觉算法有哪些?CV算法
计算机视觉是深度学习领域内备受关注的分支,它汇聚了计算机科学、订单 源码数学、工程、物理学以及心理学等多个学科的知识。关于计算机视觉算法有哪些,业内专家给出了以下解答。
早期算法包括:
子空间(线性降维)
PCA(主成分分析):旨在最大限度地保留原始数据的主要信息,同时降低冗余信息;
LDA(线性判别分析):通过增大类间差距、减小类内差距来实现分类;
非线性降维:流形学习、加入核函数等方法。
ICA(独立成分分析):相较于PCA,ICA在处理光照、人脸表情、姿态等方面具有更好的效果,但其泛化能力有限。
HMM(隐马尔可夫):相比其他算法,HMM在处理光照变化、表情和姿态变化等方面更加鲁棒。
后期算法:通过loss函数优化模型结构,从而得到具有区分度的特征。
常用算法总结:
计算机视觉相关算法的源代码;
计算机视觉常用算法博客。
特征提取算法(寻找关键点):
(1) SIFT(尺度不变特征变换):具有尺度不变性,能够在图像中检测到关键点;
(2) SURF(加速稳健特征,SIFT加速版):通过构建Hessian矩阵,判断当前点是否为邻近区域中更亮或更暗的点,从而确定关键点位置;
优:特征稳定;
缺:对于边缘光滑的目标提取能力较弱。
(3) ORB:结合Fast与Brief算法,为Fast特征点增加方向性,实现旋转不变性,并提出金字塔方法解决尺度不变性问题;
ORB算法速度是SIFT的倍,是SURF的倍。
经观察,ORB算法在特征点标记时数量较少,如图所示。
SIFT、SURF、ORB实现;
(4) FAST角点检测:主要考虑像素点附近的圆形窗口上的个像素,通过比较像素强度,判断是否为角点;
非极大值抑制:在存在多个关键点时,删除角响应度较小的特征点。
(5) HOG(方向梯度直方图);
(6) LBP(局部二值特征):论述了高维特征与验证性能的正相关关系,即人脸维度越高,验证的准确度就越高。
(7) Haar: