机器学习课程结束总结

There are words that may take minute(s)

不知不觉,我在Coursera上跟随Andrew大神的机器学习课程在断断续续的节奏中,终于完结了。从对机器学习只是单纯的感兴趣、不了解,到现在对机器学习在脑中有了大概的概念和思路,这门课程帮助我一路走到现在。

Andrew大神用非常浅显易懂的方式使我明白了各种机器学习模型的大概思路和简单的实现方法,这么易懂的教程我在国内从未发现过,现在的各种教程基本都是从数学推理和定义入手,各种公式定理推导让我这种人看了简直一脸懵逼,可能还没开始入门就已经放弃了。

课程内容基本分为三部分:

  • 监督学习
  • 无监督学习
  • 算法问题排查和优化(debug)

监督学习中,介绍的模型和算法有:

  • 线性回归&梯度下降&正规方程
  • 逻辑回归(二分类&多分类)
  • 神经网络&反向传播
  • 支持向量机&核函数

无监督学习中,介绍的模型和算法有:

  • K-均值算法&主成分分析(PCA)
  • 异常检测&正态分布/联合正态分布
  • 推荐系统&协同过滤算法

在讲解这些内容的过程中,课程中还讲到了很多有用/常用的技巧和方法;

  • 使用正规化防止过拟合(Regularization)
  • 在神经网络和K-均值算法中使用随机初始化(Random Initialization)
  • 通过画出各种关系曲线(迭代次数-代价函数等)来评估模型当前的效果和存在的问题
  • 使用precision/recall评估模型的训练效果
  • 使用随机梯度下降/小批量梯度下降来减少计算量
  • 使用map reduce等方法使得模型能够运行在分布式架构上
  • 如何选取特征
  • 在特定情况下如何选取合适的算法/模型(正态分布的乘积 vs 联合正态分布)

在学习的过程中,我把逻辑回归和神经网络用Tensorflow自己实现了一遍,踩了又填了一些坑,对这些内容有了更深的理解。希望自己能够继续坚持下去,向着真正的人工智能前进。