起因

最近萌生了一个项目的想法,也从网上找到了相关项目的代码,但涉及机器学习的知识。因此,我决定开始了解并深入学习相关知识。

该系列文章即Coursera中斯坦福大学机器学习课程的笔记。

机器学习

计算机程序处理某一系列任务的性能,通过学习与之相关的经验,得到了提升。

这个经验一般用E表示,一系列任务用T表示,P则是程序性能的度量。

比如机器学习下棋:

一般来说,机器学习分为两类:

监督学习

监督学习,就好像小孩子学习。如果小孩子做的对,我们会表扬;反之,我们会批评他们。

因此,我们利用标记了正确与否的数据集来训练机器学习。

监督学习分为两种问题:

回归

回归方法一般解决结果具有连续性的问题。比如房价和房子大小的关系,可以表现为连续函数。

当然,如果你有胆量,股价走势也可以用回归方法预测。

分类

分类则解决离散分类问题,比如预测明天是否下雨。也可以类别多一些,但都是离散类别,比如预测明天是晴朗、多云还是下雨。

非监督学习

在非监督学习中,我们自己可能对数据都不太了解。

聚类方法可以帮助我们获取数据的结构信息。

显然,在这里我们没有对预测结果的反馈——也就是没有老师家长来纠正学生的错误。

聚类

我们有一万篇关于经济的文章,我们想将其自动分类,每一类中有一些共同点,诸如词频、句长、页数等。

非聚类

假设一个医生学医时并没有学习一些疾病的病人特点,但有多年从医经验,见过很多疾病的病人的特点。如果一个新病人来看病,医生就可能基于此判断其病症,甚至判断多病并发。

医生一开始并不知道病人的一些特点意味着可能患什么病。但通过大量数据的学习,就有可能做出判断,而这个判断没有标准答案来参考。