机器学习概述
写在前面
今天是2017年1月1日元旦节,作为新年第一天,往往想到的是对过去一年的总结及对新年的规划,回想这些年从学校出来工作生涯,以及自己在机器学习工作中的一些积累,觉得是时候将机器学习中的一些知识整理出来,一方面可以对自己的知识及技能作梳理,另一方面在此呈现可以为正在学习该方面知识的人的一些参考。
1、机器学习概念
首先,我们先简单介绍下机器学习的概述、引用一句网络上典型的对机器学习的解释:
“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”
上述对于机器学习的定义给人感觉不是特别直观,我们换一种更直观的表述:
“机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能用于预测相关问题的输出”。根据这个定义,我们了解机器学习是为了解决一个特定的任务,建立在数据上的一个模型,通过现有数据训练该模型,达到对目标较好地输出。
2、机器学习分类
根据机器学习解决的任务,可以将机器学习分为监督学习(supervised learning)和无监督学习(unsupervised learning)。两者之间最主要的区别是训练数据集中是否有正确值的判断标准,如果有则为监督学习,否则该任务为非监督学习。
而在两类学习任务中,由于训练数据类型可以简单将机器学习任务分三方面:回归(regression)、分类(classification)、聚类(cluster)及降维()问题。下面表格展示了这两类情况:
|
监督学习(supervised) |
无监督学习(UNsupervise) |
特征空间 |
目标空间 |
回归 |
线性回归、多项式回归 |
— |
连续变量 |
连续变量 |
分类 |
逻辑回归、决策树或随机森林、 |
— |
连续或离散 |
离散或标签 |
聚类 |
— |
K-means、DBSCAN, |
连续或离散 |
— |
降维 |
— |
线性降维、非线性降维 |
连续或离散 |
— |
3、机器学习与统计的关系
机器学习是计算机的分支,而统计是数学的分支,两者的起源是不一样的,而随着这两个学科的发展,机器学习与统计解决的问题较相似,两者之间又有许多联系。现在有一种说法是说机器学习是统计的一个分支,我们可以从下面的维度来区分这两则之间的关系:
类型 |
机器学习 |
统计 |
主要结构 |
网络(Networks)、图(graphs) |
模型(models) |
结构中特征参数 |
权值(weights) |
参数(paramelers) |
执行方式 |
学习(learning) |
拟合(fitting)、估计(estimation) |
效能检验 |
泛化能力(generalization) |
测试(test) |
有标签结果数据 |
监督学习(supervised learning) |
回归(regression)、分类(classification) |
无标签结果数据 |
非监督学习(unsuperivised learning) |
密度估计(density estimation)、聚类(cluster) |
4、机器学习与数据挖掘关系
本质上,机器学习与数据挖掘是没有区别的,他们之间仅仅是名字上的不同,数据挖掘的概念应是较机器学习之前出来(我是先学习数据挖掘从而了解机器学习),但一般来说,机器学习更偏向于完全自动化地进行,而数据挖掘更偏向于人为参与地执行,给出一个结果对过程的解释,或者说机器学习更偏向于数学。
5、机器学习一般流程
机器学习的整理流程:
1)确定整体目标
2)查看数据集类型
3)选择学习方法(模型)
4)数据预处理(清洗,如果是监督学习需将数据集分割成训练集和验证集)
5)对不同的模型,选择不同的策略训练该模型
6)在验证集(Validation set)上选择合适的模型
7)应用结果
在以上七步中,有监督学习和无监督学习有细微差异,首先,有监督学习需要将训练数据集分成训练集与验证集,训练集用于训练不同的模型,而验证集用于检验模型的泛化能力,而无监督学习由于没有目标标签,因此省略该步;其次对于有监督学习的学习策略往往是使得学习的目标尽量和数据的目标保持一致,这也是训练模型的策略,无监督学习策略往往根据训练任务的定义而取得较好的结果。
6、机器学习的两种实现
1)频率派(Frequentist View):将模型参数看做未知的常数,通过某种合适准则在训练数据集上估计该参数。如在解决回归问题,特征空间和目标空间都是连续变量,首先假定特征空间向目标空间映射关系为线性或非线性模型,一旦选定了模型,就对应于模型的参数,可以通过最小二乘准则或最大似然估计准则估计该模型的参数。在频率派中,常用的准则为最小二乘(OLS)及最大似然估计(MLE)
2)贝叶斯学派(bayesian Approach):假定模型为一个概率分布,将模型中的参数看做随机变量(random variable),给定该参数一个先验分布,在训练数据集中,当特征空间的数据集给定时就可以估计该参数的后验概率,即最大后验概率的参数值。在贝叶斯学派中估计方式主要采用点估计、最大后验估计(MAP)及贝叶斯估计(MC及MCMC方法)。
随着机器学习的发展,频率派和贝叶斯学派的界限不再这么明显,频率学派的损失函数可以通过数学推导得到贝叶斯式子,反之亦然。因此,现在学习机器学习对着两派的观点不刻意区分。
以上几点是我对机器学习整体概况的整理,后续将会陆续整理机器学习中常用的模型。