Machine Learning Yearning 翻译,动手写起来!

chapter01-chapter04

Posted by Heron on June 4, 2017

来自MLYearning

  南大周志华老师的西瓜书,用西瓜的例子贯穿全书,Andrew NG这本新书则以机器视觉,识别图片中的猫贯穿全文。自己是入门机器学习,视频看了不少,书也看了不少,不过感觉还是入坑了,深感团队的重要性。现在属于蒙圈状态,既然弄不清,干脆就借着Andrew NG大神的书来梳理一下。(ps:貌似刚开始订阅出了新的十几章,到现在好像就没有推送了)

1. Why Machine Learning Strategy

  目前机器学习是无数应用的重要基础,搜索引擎、垃圾邮件分类、语音识别、商品推荐等。 在实际项目中,如果我们的学习算法精度不够,面临这种压力的情况,该怎么做?

  • 收集更多的数据(包含有猫的图片)
  • 收集各种类型的图片(不同姿势、不同颜色、不同设置相机拍的照片)
  • 算法训练的时间更久一点,梯度下降的迭代次数更多一些。
  • 尝试使用更大的网络,增加层数、隐层神经元数量、参数。
  • 尝试更小的网络(估计是重新设计网络的意思了)
  • 增加正则化(例如L2)
  • 更改网络结构(激活函数、隐层神经元数量等等)

  如果我们选择的方向正确,那么我们的项目最终会成功。但是,如果方向选择错误,那最终的结果就是我们可能浪费了数月的努力,但是结果依旧没有改变。 这本书将会告诉你怎么做。大部分机器学习问题都会留下蛛丝马迹告诉我们哪些尝试是有用的,哪些是无用的。学着去发现这些蛛丝马迹将会大大节约我们的时间。

2.How to use this book to help your team

  阅读完此书,对于如何设置一个专业的机器学习项目你将会有更深入的理解。(ps:你的小组成员可能没有读过这本书),这时候你建议小组定义一个单一的评价指标,但是小组成员并不信服,你怎么劝说他们。   这也是为什么我把每个章节都写很简短,这样你就可以打印其中的部分信息给你的成员看,让他们知道你背后是有大神支持的。   在优化问题上一点小小的改动都可能对你团队的产品产生巨大的影响。为了帮助你的团队少做改动,我希望你可以成为你们团队的超级英雄! superhero

3.Prerequisites and Notation

  如果你已经在Coursera上学习过机器学习的课程,或者你对监督式学习有过了解,那么会帮助你理解这本书。   我会假设你对监督式学习已经很熟悉了:使用有标记的成对的训练数据(x, y)来学习x到y的映射方法。监督式学习算法包括线性回归,Logistic回归,神经网络。机器学习有很多种形式,但是机器学习的实际价值主要还是来自于监督式学习。   我将会经常提高神经网路(也成为“深度学习”)。你只需要有个基本的了解。如果你还不熟悉我提到的概念,学习Coursera课程machine learning的前三周内容。

4.Scale drives machine learning progress

  深度学习(神经网络)中的许多思想已经存在几十年了,为什么这些想法直到今天才火了起来?是因为其中两个主要的驱动因素就是:

  • 海量数据的获取。现在的人们在数字设备上花费了大量的时间(笔记本电脑、移动设备)。他们的数字化活动生成了大量的数据,这些数据就可以作为我们学习算法的食物(输入)。
  • 大规模计算的能力。仅仅在前几年我们才能够使用我们现在拥有的海量数据的优势来训练我们的神经网络。

  如果使用传统的学习算法,比如Logistic回归,即使我们积累更多的数据,算法的表现可能依然很“平坦“(学习曲线)。这意味着就算我们为算法提供更多的数据,但是算法的表现不会继续提高。 plateaus 似乎是过去的算法对于我们现在的数据不知道该怎么做。如果在相同的监督式学习任务上训练一个小的神经网络,那么结果可能表现的更好: smallNN   小的神经网络意味着我们只使用较少的隐层神经元、网络层数、参数。最终,如果训练一个更大的神经网络,你可以获得更好的表现。 LargeNN

什么情况下可以获得最好的表现:

  • 训练一个非常大的神经网络,达到图中绿色的线。
  • 获取更大的数据量。

  其他的细节也很重要(神经网络结构),在神经网络结构上有了很多的创新。但是提升算法表现最值得信赖的方法依然是:

  • 训练一个更大的网络。
  • 获取更多的数据。

  完成上述两个步骤的过程非常复杂。这本书将详细的讨论这些细节。我们将从对传统学习算法和神经网络都有用的一般策略开始,为建立深度学习算法建立一个最现代化的策略。