所有的知识,无论过去,当下和未来,都可以利用某个单一,通用的学习算法中从数据中获取。–《终极算法》
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习系统是训练出来的,而不是明确地用程序编写出来的,将与某个任务相关的许多示例,输入到机器学习系统,它会在这些示例中找到统计结构,从而最终找到规则将任务自动化。
比如,你想为度假照片添加标签,并且希望将这项任务自动化,那么你可以将许多人工打好标签的照片输入到机器学习系统,系统将学会把照片与特定标签联系在一起的统计规则。
在经典的程序设计中,人们输入的是规则(程序)和需要根据这些规则进行处理的数据,系统输出的是答案。机器学习是一种新的编程范式,利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。
机器学习是一种新的编程范式,机器学习算法需要“输入数据点、预期输出的示例、衡量算法效果好坏的方法“三个要素来进行机器学习,系统输出的是规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。
机器学习和深度学习的核心问题在于有意义地变换数据,机器学习模型都是为输入数据寻找合适的表示,对数据进行变换,使其更适合手头的任务。
深度学习是机器学习的一个分支领域,是从数据中学习表示的一种数学框架,强调从连续的层 (layer) 中进行学习,这些分层表示几乎总是通过神经网络 (neural network) 模型来学习得到的。
机器学习包含多交叉学科,同时也在很多方面得到应用,如自然语言处理、图像处理、数据挖掘、推荐系统领域等。机器学习包含监督学习、无监督学习、半监督学习、强化学习、深度学习、迁移学习等。
机器学习算法中常用到的便是监督学习和无监督学习,监督学习包含回归和分类两方面,无监督学习为聚类。
当你有一些问题和他们的答案时,你要做的有监督学习就是学习这些已经知道答案的问题,当你具备此类学习的经验时,便是学习的成果。然后当你接受到一个新的此类问题时,便可通过学习得到的经验,得出新问题的答案。当我们有一些样本数据集时,对于每个单一的数据根据他的特征向量我们要去判断他的标签,那么就是监督学习。监督学习分为**回归分析(Regression Analysis)和分类(Classification)**两类。
李航统计学习方法第二版中,共介绍了十种监督学习方法:感知机、k 近邻、朴素贝叶斯、决策树、逻辑回归与最大熵模型、支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场。
首字联为:感 K 朴决逻,支提 E 隐条。
十种监督学习方法特点的概括总结表:
方法 | 适用问题 | 模型特点 | 模型类型 | 学习策略 | 学习的损失函数 | 学习算法 |
---|---|---|---|---|---|---|
感知机 | 二分类 | 分离超平面 | 判别模型 | 极小化误分点到超平面距离 | 误分点到超平面距离 | 随机梯度下降 |
K近邻 | 多类分类,回归 | 特征空间,样本点 | 判别模型 | - | - | - |
朴素贝叶斯 | 多类分类 | 特征与类别的联合概率分布,条件独立假设 | 生成模型 | 极大似然估计,最大后验概率估计(MAP) | 对数似然损失 | 概率计算公式,EM算法 |
决策树 | 多类分类,回归 | 分类树,回归树 | 判别模型 | 正则化的极大似然估计 | 对数似然损失 | 特征选择,生成,剪枝 |
逻辑回归与最大熵模型 | 多类分类 | 特征条件下类别的条件概率分布,对数线性模型 | 判别模型 | 极大似然估计,正则化的极大似然估计 | 逻辑损失 | 改进的迭代尺度算法,梯度下降法,拟牛顿法 |
支持向量机 | 二类分类 | 分离超平面,核技巧 | 判别模型 | 极小化正则化合页损失,软间隔最大化 | 合页损失 | 序列最小最优化算法(SMO) |
提升方法 | 二类分类 | 弱分类器的线性组合 | 判别模型 | 极小化加法模型的指数损失 | 指数损失 | 前向分步加法算法 |
EM算法 | 概率模型参数估计 | 含隐变量的概率模型 | - | 极大似然估计,最大化后验概率估计 | 对数似然损失 | 迭代算法 |
隐马尔可夫模型 | 标注 | 观测序列与状态序列的联合概率分布模型 | 生成模型 | 极大似然估计,最大化后验概率估计 | 对数似然损失 | 概率计算公式,EM算法 |
条件随机场 | 标注 | 状态序列条件下观测序列的条件概率分布,对数线性模型 | 判别模型 | 极大似然估计,正则化极大似然估计 | 对数似然损失 | 改进的迭代尺度算法,梯度下降法,拟牛顿法 |
监督学习中,模型就是所要学习的条件概率分布 P ( X ∣ Y ) P(X|Y) P(X∣Y)或者决策函数 Y = f ( X ) Y = f(X) Y=f(X)。
按问题类型分类:
概率模型和非概率模型:
生成模型和判别模型:
线性模型和非线性模型:
分类与标注:
三种损失函数
学习的策略是优化一下结构风险函数:
min f ∈ H 1 N ∑ i = 1 n L ( y i , f ( x i ) ) + λ J ( f ) {\underset {f\in H} {\min}} {\frac{1}{N}} \sum_{i=1}^{n}L(y_i,f(x_i))+\lambda J(f) f∈HminN1i=1∑nL(yi,f(xi))+λJ(f)
第一项为经验风险(经验损失),第二项为正则化项。
二分类推广
统计学习问题转化为最优化问题,有显式解析解,对应的最优化问题比较简单,通常解析解不存在,需要通过数值计算的方式求解。
朴素贝叶斯法与隐马尔科夫模型:最优解就是极大似然估计值,可以由概率计算公式直接计算。
感知机,逻辑回归模型,最大熵模型,条件随机场:利用梯度下降法、拟牛顿法,无约束最优化问题的解法。
支持向量机:解凸二次规划的对偶问题,有序列最小最优化算法。
决策树:基于启发式算法,特征选择、生成、剪枝是启发式地进行正则化的极大似然估计。
提升方法:启发式地从前向后逐步学习模型。
EM算法:迭代求解含隐变量概率模型参数
支持向量机、逻辑回归模型、最大熵模型,条件随机场的学习是凸优化问题,全局最优解存在,其他学习问题不是凸优化问题。
我们有一些问题,但是不知道答案,我们要做的无监督学习就是按照他们的性质把他们自动地分成很多组,每组的问题是具有类似性质的(比如数学问题会聚集在一组,英语问题聚集在一组……)。
所有的数据只有特征向量没有标签,但是可以发现这些数据呈现出聚群的结构,本质是相似的类型会聚集在一起。把这些没有标签的数据分成各个组合便是聚类。比如每天都会搜到大量新闻,然后把它们全部聚类,就会自动分成几十个不同的组(比如娱乐、科技、政治…),每个组内新闻都具有相似的内容结构。
八种无监督统计机器学习方法:
此外还有非负矩阵分解(NMF)、变分推理、幂法。
这些方法通常用于无监督学习的 聚类、降维、话题分析、图分析。
** 无监督学习方法的特点:**
- | 方法 | 模型 | 策略 | 算法 |
---|---|---|---|---|
聚类 | 层次聚类 | 聚类树 | 类内样本距离最小 | 启发式算法 |
- | k均值聚类 | k中心聚类 | 样本与类中心距离最小 | 迭代算法 |
- | 高斯混合模型 | 高斯混合模型 | 似然函数最大 | EM算法 |
降维 | PCA | 低维正交空间 | 方差最大 | SVD |
话题分析 | LSA | 矩阵分解模型 | 平方损失最小 | SVD |
- | NMF | 矩阵分解模型 | 平方损失最小 | 非负矩阵分解 |
- | PLSA | PLSA模型 | 似然函数最大 | EM算法 |
- | LDA | LDA模型 | 后验概率估计 | 吉布斯抽样,变分推理 |
图分析 | PageRank | 有向图上的马尔可夫链 | 平稳分布求解 | 幂法 |
** 含有隐变量概率模型的学习方法的特点:**
算法 | 基本原理 | 收敛性 | 收敛速度 | 实现难易度 | 适合问题 |
---|---|---|---|---|---|
EM算法 | 迭代计算、后验概率估计 | 收敛于局部最优 | 较快 | 容易 | 简单模型 |
变分推理 | 迭代计算、后验概率近似估计 | 收敛于局部最优 | 较慢 | 较复杂 | 复杂模型 |
吉布斯抽样 | 随机抽样、后验概率估计 | 依概率收敛于全局最优 | 较慢 | 容易 | 复杂模型 |
未完待续。。。