总结:Coursera:Machine Learning By Andrew Ng

总结:Coursera:Machine Learning By Andrew Ng

能够和贫僧打成平手的,世上没有几人

存在的问题

这门课程的概念的阐述与课后作业编程作业都力求简单明了,可以感受到省略了很多数学证明,虽然学完每一章都带着一些疑问,但正是复杂的数学原理与直观理解之间的平衡,才可以让缺乏相关基础的人感受到机器学习的魅力。机器学习的魅力感受到了,但存在的疑惑也是需要寻求答案的,下面先罗列一下我在课程中遇到的疑惑:

  • 线性回归代价函数的形式,为什么是预测结果与训练集之间的差的平方
  • 逻辑回归的假设为什么是S型函数
  • 逻辑回归的代价函数的形式的由来
  • 反向传播算法的证明
  • 神经网络激活函数的由来与选择
  • 主成分分析的原理
  • 支持向量机的引入,在逻辑回归的基础上进行修改的,但是为什么要那么修改呢
  • 为什么高斯分布可以用于异常检测

以上就是我在学习这门过程中存在的疑惑,但是肯定的,这个过程中必定存在我没有意识到,但是我仍然不清楚的地方,我也十分期待在接下来我能够有幸发现它们,接下来我也会带着这些问题继续寻求答案。

未来的计划

未来计划我主要参考了知乎用户”微调”的文章如何用3个月零基础入门机器学习

需要准备的基础数学知识

  • 线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
  • 统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
  • 优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的求解方法如梯度下降、牛顿法、基因算法和模拟退火等
  • 微积分:偏微分,链式法则,矩阵求导等
  • 信息论、数值理论等

入门(3-6个月)

  • Coursera:Machine Learning By Andrew Ng:入门课程,升级版本是Ng在斯坦福的CS229
  • Python机器学习:快速了解sklearn,内容涉及数据预处理、维度压缩、核函数、评估方法、集成学习、情感分析、聚类、神经网络、Theano
  • Introduction to Statistical Learning with R,频率学派圣经ESL的入门版本,除去了复杂 的数学推导,加入R编程方便快速上手。
  • 周志华《机器学习》,入门阶段的参考书,辅助网课和书籍学习。

进阶(3-6个月)

  • Kaggle 挑战赛/练习,类似的还有国内的平台,天池竞赛以及其他公司举办的比赛,使用Kaggle将技能落到实处,避免产生什么都懂的幻觉。
  • sklearn文档学习,与使用kaggle的目的一致,该文档写得和教程差不多。
  • 周志华机器学习,在kaggle挑战和阅读Sklearn文档的过程中你还会时不时的遇到一些新的名词,比如流形学习(manifold learning)等。这个时候你会发现西瓜书真的是一本中级阶段大而全的书籍:)

    深度学习(3-6个月)

  • Andrew Ng深度学习课程
  • Deep Learning - by IanGoodFellow:阅读建议,为了补充基础可以阅读第1-5章其中也包含了一些数学知识,只关注主流神经网络知识可以阅读6-10章,介绍了DNN/CNN/RNN,需要进一步了解一些调参和应用技巧,推荐阅读11和12章。第13-20章为进阶章节,在入门阶段没有必要阅读。其实比较实际的做法是吴恩达的课程讲到什么概念,你到这本书里面可以阅读一些深入的理论进行概念加深,按章节阅读还是比较耗时耗力的。

深入研究

如果你希望继续深入的话,中文可以继续阅读周志华老师的《机器学习》和李航老师的《统计学习基础》,英文可以入手《Elements of Statistical Learning》。在这个阶段,重点要形成成体系的知识脉络,切记贪多嚼不烂,切记!
从阅读论文角度来说,订阅Arxiv,关注机器学习的顶级会议,如ICML/NIPS等,相关的方法在知乎上可以很容易搜索到,不在此赘述。

实践经验:

  • 嗑盐
  • 企业实习,打破幻想,了解工业界的主流模型。补上学术界忽视的内容,比如可视化和数据清洗。了解技术商业化中的取舍,培养大局观。
  • 在工作中使用