概述
机器学习(Machine Learning,ML) 是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
机器学习是用数据或以往的经验,以此优化计算机程序的性能标准,主要使用归纳、综合而不是演绎。
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.
机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA 序列测序、语音和手写识别、战略游戏和机器人等领域。
分类
按学习方式
- 监督学习(Supervised Learning):输入的训练数据带有标签。模型的在训练过程中, 通过不断的校正预测偏差, 训练过程将调整直到模型在训练数据上达到所需的准确性为止。比如分类和回归问题等。常用算法包括决策树、贝叶斯分类、最小二乘回归、逻辑回归、支持向量机、神经网络等。
- 非监督学习(Unsupervised Learning):输入数据没有标签,通过推断输入数据内在结构来构建模型. 比如聚类, 降维关联规则学习等。常用算法包括独立成分分析、K-Means 和 Apriori 算法等。
- 半监督学习(Semi-Supervised Learning):输入数据有标签和没有标签数据的混合,并通过推断输入数据内在结构来构建模型, 常用于分类和回归。常用算法包括图论推理算法、拉普拉斯支持向量机等。
按功能划分
- 回归算法
- 线性回归
- 逻辑回归
- 多元自适应回归(MARS)
- 本地散点平滑估计(LOESS)
- 基于实例的学习算法
- K - 邻近算法(kNN)
- 学习矢量化(LVQ)
- 自组织映射算法(SOM)
- 局部加权学习算法(LWL)
- 正则化算法
- 岭回归(Ridge Regression)
- LASSO(Least Absolute Shrinkage and Selection Operator)
- Elastic Net
- 最小角回归(LARS)
- 决策树算法
- 分类和回归树(CART)
- ID3 算法 (Iterative Dichotomiser 3)
- C4.5 和 C5.0
- CHAID(Chi-squared Automatic Interaction Detection()
- 随机森林(Random Forest)
- 多元自适应回归样条(MARS)
- 梯度推进机(Gradient Boosting Machine, GBM)
- 贝叶斯算法
- 朴素贝叶斯
- 高斯朴素贝叶斯
- 多项式朴素贝叶斯
- AODE(Averaged One-Dependence Estimators)
- 贝叶斯网络(Bayesian Belief Network)
- 基于核的算法
- 支持向量机(SVM)
- 径向基函数(Radial Basis Function ,RBF)
- 线性判别分析(Linear Discriminate Analysis ,LDA)
- 聚类算法
- K - 均值
- K - 中位数
- EM 算法
- 分层聚类
- 关联规则学习
- Apriori 算法
- Eclat 算法
- 神经网络
- 感知器
- 反向传播算法(BP)
- Hopfield 网络
- 径向基函数网络(RBFN)
- 深度学习
- 深度玻尔兹曼机(DBM)
- 卷积神经网络(CNN)
- 递归神经网络(RNN、LSTM)
- 栈式自编码算法(Stacked Auto-Encoder)
- 降维算法
- 主成分分析法(PCA)
- 主成分回归(PCR)
- 偏最小二乘回归(PLSR)
- 萨蒙映射
- 多维尺度分析法(MDS)
- 投影寻踪法(PP)
- 线性判别分析法(LDA)
- 混合判别分析法(MDA)
- 二次判别分析法(QDA)
- 灵活判别分析法(Flexible Discriminant Analysis,FDA
- 集成算法
- Boosting
- Bagging
- AdaBoost
- 堆叠泛化(混合)
- GBM 算法
- GBRT 算法
- 随机森林
- 其他算法
- 特征选择算法
- 性能评估算法
- 自然语言处理
- 计算机视觉
- 推荐系统
- 强化学习
- 迁移学习
数据集的划分
- 训练集(Training set) —— 学习样本数据集,包含数据标签/数据特性结构分析,主要用来训练模型。
- 验证集(validation set)—— 用于对构建模型调整和优化。验证集还用来确定网络结构或者控制模型复杂程度的参数。
- 测试集(Test set) —— 测试和评估模型。
模型拟合问题
拟合(Fitting):泛化。
- 欠拟合(Underfitting): 模型没有很好地捕捉到数据特征,不能够很好地拟合数据,对训练样本的一般性质尚未学好。一般原因是模型简单, 数据量/特征不足。解决办法一般为增加特征, 减少正则化参数, 使用非线性模型, 调整模型的容量等.
- 过拟合(Overfitting): 为了构建准确率比较高的模型,把样本辅助性质或者噪声作为所有数据集的一般性质,导致泛化能力下降。出现原因为样本选取有误, 噪音干扰过大, 参数过于复杂. 解决方案为正则化, 数据扩增, Dropout等.
常见的模型指标
- 正确率 —— 提取出的正确信息条数 / 提取出的信息条数
- 召回率 —— 提取出的正确信息条数 / 样本中的信息条数
- F 值 —— 正确率 * 召回率 * 2 / (正确率 + 召回率)(F值即为正确率和召回率的调和平均值)
模型
- 分类问题 —— 说白了就是将一些未知类别的数据分到现在已知的类别中去。评判分类效果好坏的三个指标就是上面介绍的三个指标: 正确率,召回率,F值。
- 回归问题 —— 对数值型连续随机变量进行预测和建模的监督学习算法。回归往往会通过计算 误差(Error)来确定模型的精确性。
- 聚类问题 —— 聚类是一种无监督学习任务,该算法基于数据的内部结构寻找观察样本的自然族群(即集群)。聚类问题的标准一般基于距离: 簇内距离(Intra-cluster Distance) 和 簇间距离(Inter-cluster Distance) 。簇内距离是越小越好,也就是簇内的元素越相似越好;而簇间距离越大越好,也就是说簇间(不同簇)元素越不相同越好。一般的,衡量聚类问题会给出一个结合簇内距离和簇间距离的公式。
特征工程
-
特征选择 —— 也叫特征子集选择(FSS,Feature Subset Selection)。是指从已有的 M 个特征(Feature)中选择 N 个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征以降低数据集维度的过程,是提高算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤。
-
特征提取 —— 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点,连续的曲线或者连续的区域。