15. 第十五章 异常检测(Anomaly Detection)
15.1 问题动机
15.2 高斯分布(Gaussian distribution)
15.3 异常检测算法
15.4 开发和评估异常检测系统
15.5 异常检测VS.监督学习
异常检测:
非常少的正例样本(0~20)
大量负例样本
许多不同 "类型 "的异常现象。任何算法都很难从正例中学习异常现象是什么样子的。未来的异常现象可能看起来与我们目前看到的任何异常都不同
监督学习:
大量的正例和反例
足够多的正面例子让算法来了解正例是什么样的,未来正面的例子可能是与训练集中的例子相似
15.6 选择要使用什么特征
非高斯分布的特征:可以通过函数变换到高斯分布,log,指数等操作
异常检测的误差分析
如果正常样本希望p ( x ) p(x)p(x)较大;如果异常样本希望p ( x ) p(x)p(x)较小
经常遇到的问题是无论正常样本还是异常样本p ( x ) p(x)p(x)都较大。这样可以通过在训练集上找到这个样本,看是否能通过添加新特征将两类样本区分开来
监测数据中心的计算机:选择那些在异常情况下可能会出现异常大或异常小的特征。
15.7 多元高斯分布
15.8 使用多元高斯分布的异常检测
16. 第十六章 推荐系统(Recommender System)
16.1 问题规划
目前,许多大公司都在尝试搭建自己的推荐系统
学习一些特征学习的思想
例如:预测电影评分:根据一些用户多某些电影的打分,预测其对其他电影的打分起到偏好推荐的作用。
16.2 基于内容的推荐算法
16.3 协同过滤(Collaborative Filtering)
16.4 协同过滤算法
16.5 矢量化:低秩矩阵分解
16.6 实现细节:均值规范化
17. 第十七章 大规模机器学习
17.1 大数据学习
“不是谁有最好的算法就能获胜。而是谁拥有最多的数据”。
“It’s not who has the best algorithm that wins. It’s who has the most data." ——[Banko and Brill, 2001]
17.2 随机梯度下降(Stochastic Gradient Descent,SGD)
问题:当数据量很大时,我们采用批量梯度下降法梯度更新会很慢。
批量梯度下降法:使用全体样本计算梯度
随机梯度下降法:每次只使用一个样本计算梯度
小批量梯度下降法:每次使用一小部分样本计算梯度
随机梯度下降法通常比批量梯度下降法收敛更快!
17.3 小批量梯度下降法(Mini-batch Gradient Descent)
随机梯度下降法无法利用一些并行化的操作,小批量梯度下降法通常更快!
17.4 随机梯度下降法收敛
17.5 在线学习
适合大量数据流下,每次使用一个数据,用过即弃。
能够实时跟随用户偏好,例如CTR学习。
不使用固定数据集,而是连续的数据集。
17.6 减少映射与数据并行
Hadoop开源平台
18. 第十八章 应用示例:照片OCR
18.1 问题描述与OCR流水线
18.2 滑动窗口(Sliding Windows)
18.3 获取大量数据:人工数据合成
从零开始自行生成
对于OCR任务,可以获取不同的字库,将字体放到不同的背景上,然后用模糊算子或者仿射变换得到数据集。
通过引入失真来合成数据
例如:拉伸压缩变换
引入的失真应该代表测试集中的噪声/失真类型。
通常情况下,向你的数据添加纯粹的随机/无意义的噪音是没有帮助的。
讨论得到更多数据
在花费精力之前,请确保你有一个低偏差的分类器(绘制学习曲线)。例如,不断增加神经网络中的特征数/隐藏单元数,直到你有一个低偏差的分类器。
要获得10倍于我们目前所拥有的数据,会有多少工作?
人工合成数据
自己收集
众包(亚马逊众包平台)
18.4 顶层分析:每一部分工作怎么样
估算每个组成部分造成的误差(上限分析)。
核心思想:假设一个模快是完美的,看看它对提升整个系统的性能的增益是多少?值不值得花费大量的时间,避免浪费时间。木桶效应。不要凭直觉决定要干什么!!!
19. 第十九章 总结与感想
总结主要章节:
监督学习
线性回归;逻辑回归;神经网络,SVM
无监督学习
k-means;PCA;异常检测
具体应用
推荐系统;大规模机器学习
构建机器学习系统的利器
偏差方差分析;正则化;决定下一步做什么;评估学习算法;学习曲线;误差分析;上限分析