deep learning 笔记
SVM
PCA
为什么不是直接拿x做奇异值分解,而是使用X’*X
为什么在确定了所要降到的维数k之后,通过pca方法求得的k维平面就是最优的
求矩阵的特征向量和特征值是希望能够通过把矩阵分解成特征向量和特征值的乘积,从而使用特征向量来描述矩阵的特点,特征向量一般使用单位向量,因为我们希望使用特征向量来描述矩阵在具体某个方向上的变换,也就是说我们更关心的是变换的方向,而特征值则描述了这个变换的权重。通过保留权重大的变换,去除权重小的变换,我们可以对矩阵进行降维。
如果矩阵表示的是样本数据,降维的过程就是数据的除噪过程,通过降维,去除了特征中不那么重要的feature,或者通过降维,去除样本中不是很能够表达趋势的样本
降维的做法可行的基础是,现实生活中的数据,大部分都是高度相关的,也就是说,其实这些数据可以通过更加少了的特征来描述,可以类比成代码中基类的抽象。
在使用PCA之前,重要的一点是将样本数据进行归一化处理,通常一个样本中的不同特征所使用的单位都是不一样的,这导致了不同特征数值的范围存在较大的差异,归一化能够使得图像更加紧凑,方便处理。
归一化还有另外一个好处就是使用归一化之后的样本计算X’*X,得到的就是样本的协方差矩阵
异常检测(高斯分布)
无监督的算法
当样本本身没有标签的时候,使用无监督的算法来进行分类(kmeans等)
当异常样本的数量占比很小的时候,使用无监督的算来来进行分类(异常分析【首先使用正常的样本计算模型的参数,将异常的样本分到cv和test数据中,然后使用cv和test数据来评估得到的模型】等),
直观上来讲,异常样本占比小意味着这些异常样本或许不足以构成一个分类,也就是说数量太少以至于无法形成一个确定的类型(不同异常样本之间产生异常的原因可能不一样),所以我们不会尝试去将所有异常的样本归为一个类型。
推荐系统
协同过滤
推荐系统的基本思路是对每个用户去训练出一组参数,用于对该用户的未评分的电影做出评分预测,从而决定是否推荐该电影给用户
比较关键的问题是如何将一部电影抽象成特征值,这里使用的是协同过滤的方法
online learning
源源不断的数据在产生,每次数据产生的时候就去拟合数据,然后将数据丢弃。因为数据是不断产生的,没必要存储旧的数据。
如果用户有可能随着时间而改变他们的选择,旧的数据就显得无意义了。
photo ocr流程
pocr的典型流程是text detection -> split character-> recognize character
text detection使用的是sliding window加上神经网络
split character也是
recognize character使用的是神经网络
当识别率不够高的时候,需要分析具体是流水线上的哪个环节导致了较低的识别率,并把精力集中在解决那个问题上
人工合成数据
1、首先是要确定你的模型是一个拟合度高的模型,再去考虑人工合成样本(分析学习曲线)
2、考虑将当前的样本扩大十倍需要多长的时间,寻找快速拓展样本的方法
3、do everything with a purpose, when you start doing something, ask yourself, why i do this
(which part of knowledge is import, focus on it)
总结
需要注意分析算法有效性的方法,数据处理是否正确,损耗函数是否正确,梯度下降是否正确(偏导数是否求对了)