机器学习(Machine Learning,ML) 是使用计算机来彰显数据背后的真实含义,它为了把无序的数据转换成有用的信息。是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
机器学习 组成
主要任务
- 分类问题(classification):将实例数据划分到合适的类别中
- 应用实例:判断网站是否被黑客入侵(二分类),手写数字的自动识别(多分类)
- 回归问题(regression):主要预测数值型数据
- 应用实例:股票价格波动的预测,房屋价格的预测
监督学习(supervised learning)
- 必须确定目标变量的值,以便机器学习可以发现特征和目标变量之间的关系。监督学习中,我们知道正确的输出的结果应该是什么,并且知道在输入和输出之间有着特定关系。(分类和回归)
- 样本集:训练数据 + 测试数据
- 训练样本 = 特征(feature) + 目标变量(label: 分类-离散值 / 回归-连续值)
- 特征通常是训练样本的列,他们是独立测量得到的
- 目标变量:目标变量是机器学习预测算法的结果
- 在分类算法中目标变量的类型通常是标称型(如:真与假),而在回归算法中通常是连续值(如1~100)
- 监督学习需要注意
- 偏置方差权衡
- 功能的复杂性和数量的训练数据
- 输入空间的维度
- 噪声中的输出值
- 知识表示
- 可以采用规则集的形式【例如:数学成绩大于90分为优秀】
- 可以采用概率分布的形式【例如:通过统计分布发现,90%的同学的数学成绩在70分以下,那么大于70分为优秀】
- 可以使用训练样本集中的一个实例【例如:通过样本集合,我们训练出一个模型实例,得出年轻,数学成绩好的为优秀】
非监督学习(unsupervised learning)
- 在机器学习中,无监督学习问题中,数据是未加标签的
- 无监督学习是密切相关统计数据密度估计的问题,然而无监督学习还包含寻求,总结和解释数据的主要特点等技术。在无监督学习中,使用的许多方法是基于用于处理数据的数据挖掘方法。
- 非监督学习的类型:
- 聚类,将数据集分成由类似的对象组成多个类的过程为聚类
- 密度估计:通过样本分布的紧密程度,来估计分组的相似性
- 此外,无监督学习还可以减少数据特征的维度,以便我们使用二维或者三维图形直观的观察数据
强化学习
这个算法可以训练程序做成某一决定。
训练过程
算法汇总

机器学习的使用
- 算法场景
- 需要收集或分析的数据是什么

开发流程
- 搜集数据
- 准备数据
- 分析数据
- 训练算法
- 测试算法
- 使用算法
数学基础
- 微积分
- 统计学
- 线性代数
工具
Python
- 可执行伪代码
- Python 比较流行
- Python 语法特定,清晰简练
- 缺点:性能问题
- 库
- 科学函数库:SciPy、Numpy
- 绘图工具库:Matplotlib
- 数据分析库:Pandas
数学工具
- Matlab
附:机器学习专业术语
- 模型(model):计算机层面的认知
- 学习算法(learning algorithm),从数据中产生模型的方法
- 数据集(data set):一组记录的合集
- 示例(instance):对于某个对象的描述
- 样本(sample):也叫示例
- 属性(attribute):对象的某方面表现或特征
- 特征(feature):同属性
- 属性值(attribute value):属性上的取值
- 属性空间(attribute space):属性张成的空间
- 样本空间/输入空间(samplespace):同属性空间
- 特征向量(feature vector):在属性空间里每个点对应一个坐标向量,把一个示例称作特征向量
- 维数(dimensionality):描述样本参数的个数(也就是空间是几维的)
- 学习(learning)/ 训练(training):从数据中学得模型
- 训练数据(training data):训练过程中用到的数据
- 训练样本(training sample):训练用到的每个样本
- 训练集(training set):训练样本组成的集合
- 假设(hypothesis):学习模型对应了关于数据的某种潜在规则
- 真相(ground-truth):真正存在的潜在规律
- 学习器(learner):模型的另一种叫法,把学习算法在给定数据和参数空间的实例化
- 预测(prediction):判断一个东西的属性
- 标记(label):关于示例的结果信息,比如我是一个“好人”。
- 样例(example):拥有标记的示例
- 标记空间/输出空间(label space):所有标记的集合
- 分类(classification):预测是离散值,比如把人分为好人和坏人之类的学习任务
- 回归(regression):预测值是连续值,比如你的好人程度达到了0.9,0.6之类的
- 二分类(binary classification):只涉及两个类别的分类任务
- 正类(positive class):二分类里的一个
- 反类(negative class):二分类里的另外一个
- 多分类(multi-class classification):涉及多个类别的分类
- 测试(testing):学习到模型之后对样本进行预测的过程
- 测试样本(testing sample):被预测的样本
- 聚类(clustering):把训练集中的对象分为若干组
- 簇(cluster):每一个组叫簇
- 监督学习(supervised learning):典范—分类和回归
- 无监督学习(unsupervised learning):典范—聚类
- 未见示例(unseen instance):“新样本“,没训练过的样本
- 泛化(generalization)能力:学得的模型适用于新样本的能力
- 分布(distribution):样本空间的全体样本服从的一种规律
- 独立同分布(independent and identically distributed,简称i,i,d.):获得的每个样本都是独立地从这个分布上采样获得的。
机器学习基础补充
数据集的划分
- 训练集(Training Set) 学习样本数据集,通过匹配参数来建立一个模型,主要用来训练模型
- 验证集(Validate Set) 对学习出来的模型,调整模型参数
-
模型拟合程度
欠拟合(underfitting):模型没有很好地捕捉到数据特征,不能够很好拟合数据
过拟合(overfitting): 模型把训练样本训练地“过好了”,导致模型把样本的一些特征当做潜在的特征,导致泛化能力下降。
常见模型指标
正确率 提取出正确信息条数 / 提取出的信息条数
- 召回率 提取出正确信息条数 / 样本中的信息条数
- F值 正确率 召回率 2 /(正确率 + 召回率)(F值即为正确率和召回率的调和平均值)
举个例子如下:
举个例子如下: 某池塘有 1400 条鲤鱼,300 只虾,300 只乌龟。现在以捕鲤鱼为目的。撒了一张网,逮住了 700 条鲤鱼,200 只 虾, 100 只乌龟。那么这些指标分别如下: 正确率 = 700 / (700 + 200 + 100) = 70% 召回率 = 700 / 1400 = 50% F 值 = 70% 50% 2 / (70% + 50%) = 58.3%
模型
- 分类问题,将一些未知的数据分到现在已知的类别中。判断分类结果好坏的3个指标:正确率,召回率,F值
- 回归问题,对数值型连续随机变量进行预测和建模的监督学习方法。
- 聚类问题,聚类是一种无监督学习任务,该算法基于数据的内部结构寻找观察样本的自然族群(即集群)。聚类问题的标准一般基于距离:簇内距离(Intra-cluster Distance) 和 簇间距离(Inter-cluster Distance) 。簇内距离是越小越好,也就是簇内的元素越相似越好;而簇间距离越大越好,也就是说簇间(不同簇)元素越不相同越好。一般的,衡量聚类问题会给出一个结合簇内距离和簇间距离的公式。
特征工程
- 特征选择
- 特征提取

