机器学习 (machine learning) 是无数重要应用的基础,包括网页搜索,垃圾邮件检测,语音识别,以及产品推荐等等。如果你或你的团队正在研发一个机器学习应用,并且你想要取得快速的进展,那么这本书将会帮助到你。
设想你正在建立一家初创公司来为猫咪爱好者们提供不计其数的猫咪图片。
你采用 神经网络 (neural networks) 来构建一套 计算机视觉系统 (computer vision system),用于检测图片中的猫咪。
但悲剧的是,你的学习算法的精确度还不够好。为了改进猫咪检测算法,你面临着的巨大压力。你该怎么做?
你的团队有许多的改进方案,例如:
- 获取更多的数据,即收集更多猫咪的图片。
- 收集更多样化的训练数据集,比如处于不常见位置的猫咪图片,颜色奇异的猫咪图片,以及使用不同相机参数拍摄的猫咪图片等等。
- 通过增加 梯度下降 (gradient descent) 的迭代次数,使算法训练得久一些。
- 尝试一个拥有更多层 (layer) / 更多隐藏元 (hidden units) / 更多参数 (parameters) 的,规模更大的神经网络。
- 尝试规模更小的神经网络。
- 尝试加入 正则化 (regularization) 技术(例如 L2 正则化)。
- 改变神经网络的架构(激活函数 (activation function),隐藏单元数目等等)
- ...
如果你能够在以上这些可能的方向中做出正确的选择,那么你将建立起一个领先的猫咪图片平台,并带领你的公司走向成功。但如果选择不好,则可能因此浪费掉几个月的时间。你要如何开始呢?
这本书将告诉你怎么做!大多数机器学习问题留下的线索能告诉你什么是有用的的尝试,什么是没用的尝试。理解这些线索将会节省你几个月甚至几年的开发时间。