Hello, SciPy!

“学而时习之,不亦乐乎”,利用放假几天时间,简单复习了一下之前学习的Machine Learning课程,并且用刚上手没两天的SciPy重新完成了大部分Ng的课后作业,SciPy真的非常好用~

SciPy

SciPy

上图是SciPy官方网站对SciPy的介绍,SciPy并不是单个开源项目,而是一组开源项目共同构成的Python科学计算生态系统,一个非常值得一看的系列Tutorial在这里

下面是重写后的课后练习的notebooks:

  1. Linear regression
  2. Logistic Regression
  3. Multi-class Classification
  4. Learning curve(Bias v.s. Variance)
  5. SVM
  6. K-Means & PCA

神经网络相关的实验还没有重写,sklearn没有提供监督学习的神经网络组件,需要用pylearn2来做,有时间补上。

Machine Learning小结(5):异常检测

写这篇小结的时候,Ng的课程已经结束了(期待SoA哈哈哈),回顾整个课程内容,虽然Ng有意的屏蔽了大部分的数学内容,但是提纲挈领的为我们展现了常见机器学习算法的基本容貌和应用技巧,令人受益良多。从视频、课后问答到编程作业,都完美的示范了一门在线课程应该是什么样子的,不能感谢更多。

回到正题,异常检测,也称为离群点检测,是用来发现一些特征不同于预期的样本,在应用中具有极高的价值。异常检测有多种方法,Ng课程中讲的是基于统计学方法(高斯模型)的异常检测。

继续阅读:

Machine Learning小结(4):主成分分析(PCA)

主成分分析(PCA)是一种通常用来做数据降维的非监督学习算法,下图是数据降维的直观说明:

Principal Component Analysis

Principal Component Analysis

在PCA中,我们将每个样本看做特征线性空间中的一个向量,左图代表具有三个特征的样本(处于三维空间中,每个特征代表一个维度),通过寻找空间中样本的主成分PC1、PC2,以此建立新的二维线性空间来完成3D到2D的降维。

继续阅读:

Machine Learning小结(1):线性回归、逻辑回归和神经网络

machine learning

Coursera上machine learning课程的图标

跟风学习CourseraAndrew Ng叔的数据挖掘课程已经一个多月了,刚开始在Coursera上看到这门课的时候还有些犹豫,因为研一的时候已经修过学校的数据挖掘课了,那为什么还要再学习这个课程呢?现在想想真是庆幸自己还是选择听听看,原因如下:

  1. 一年没用数据挖掘,好多知识都忘记了,正好当做复习
  2. Ng确实很厉害,把看上去非常复杂的理论讲得十分简单清楚,这一定是对问题的本质有很深的理解才能做到的
  3. lamda的课也是很有水平的,翻翻收藏的ppt,理论功底不可谓不深,但我学艺不精,除去实验外还是不明白在实践中该如何去使用这些工具,Ng的课恰好在这方面是个很好的补充

写到这都和一篇广告软文似的,还是赶紧进入正题吧,趁着脑袋里东西还热乎,赶紧总结一下。PS:本文绝非教程类的文章,而是给自己写的Tips,一则作为学习的记录,二则为以后回忆时方便。如果对这些内容感兴趣,强烈建议直接在Coursera上学习该课程。

继续阅读: