机器学习
此系列文章为了应付期末考试而作的知识点整理。
1.全为概念学习,若想学习更加深入的知识,请移步专家区。
2.全手打,自己复习的同时,希望能帮到各位和我一样垂死挣扎的同学。
机器学习的含义
- 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能
- 机器学习是对能通过经验自动改进的计算机算法的研究
- 机器学习使用数据或以往的经验,依次优化计算机程序的性能标准
- 简单点说:机器学习就是让机器从数据中学习人能做的事。
数据集
- 定义:数据的集合,一条数据可能会包含输入和输出
- 训练集:用来进行训练,也就是产生模型或者算法的数据集
- 验证集:训练完成后,用来挑选模型的数据集
- 测试集:测试已经学习好的模型或者算法的数据集
模型
定义:一个用来建模数据,参数化的函数
常见的模型
- 人工神经网络
- 决策树
- 感知器
- 支持向量机
- 降维与度量学习
- 聚类
- 贝叶斯分类器
机器学习的概念
- 损失函数:用来表示模型对于某个样本的预测值和真实值不一样的程度。例如:平方误差,交叉熵
- 风险函数:模型在所有样本上的损失函数的平均值
- 性能评估:通过对测试集的预测,来评估模型的相关指标
- 拟合:用模型表征数据分布
- 欠拟合:产生的模型甚至在训练数据上都没有好的表现
- 过拟合:一个在训练数据上表现良好,但对任何新数据的泛化能力却很差的模型
- 正则化:正则化是结构风险最小化策划的实现,用加在损失函数上以降低模型的复杂度
- 梯度下降:梯度的方向是函数值增加得最快的方向
无监督学习
概念:训练样本的标记信息未知
经典任务:
- 概率密度函数估计
- 聚类
- 降维
概率密度函数估计
- 用训练样本来估计样本空间的概率密度
- 参数密度估计
- 非参数密度估计
聚类
数据聚类的目标:通过对无标记训练样本的学习来揭示数据的内在性质及规律,将样本点划分成若干类,使属于同一类的样本点非常相似,而属于不同的样本点不相似。
聚类的性能度量
- 外部指标:Jaccard系数,FM系数,Rand指数等
- 内部指标:DB指数,Dunn指数
聚类的相似性度量
闵科夫斯基距离、马氏距离、相关系数、夹角余弦等
K-Means聚类
K-Means算法思想简单,对与给定的样本集,按照某种度量(如欧氏距离),将样本集划分为K个簇。让簇内的点紧密地连在一起,而让簇间地距离尽量大。
K-Means算法步骤:
- 随机选择k个样本作为初始的类心;
- 计算剩余样本对k个类心得距离,把每个样本划分到最近得类心所代表得类中;
- 更新计算k个类心;
- 判断是否满足迭代收敛或停止条件,否则返回步骤2。
K-Means 聚类示例
层次聚类
聚合聚类:将每一个样本各自分为一类,计算类间距离,合并新类并重复。
具体步骤如下:
1.计算样本之间的两两距离;
2.构造样本数量个类;
3.合并类间距离最小的类为一个新类;
4.计算新类与当前各类距离,统计类的个数,判定停止条件,满足条件则回到3。
分裂聚类:首先将所有样本归类到一个簇,然后依据某种规则逐渐分裂,直到达到某种条件或者增加到设定得簇数。
监督学习
概念:
-
训练数据拥有标记信息
-
经典任务:
回归
分类 -
给定数据集{(x1,y1),(x2,y2)…(xn,yn)},回归是学习y和x之间的函数关系在给定x的时候尽可能准确地预测y
-
线性回归
-
均方误差和最小二乘法
分类
Logistic回归与σ函数
K邻近算法
支持向量机(SVM)
- 支持向量机是一种二分类模型,其基本模型定义为特征空间上间隔最大的线性分类器
- 支持向量:距离超平面(分类界面)最近的一个或者多个训练样本
- 间隔:两个异类支持向量到超平面的距离之和
有监督学习的评价指标
- 精确率,准确率,召回率及F1值
- TP(True Positive):被正确预测的正样本数
- FP(False Positive):被错误预测的正样本数
- TN(True Negative):被正确预测的负样本数
- FN(False Negative):被错误预测的负样本数
精确率:
P
=
T
P
T
P
+
F
P
P=\cfrac{TP}{TP+FP}
P=TP+FPTP
准确率:
A
=
T
P
+
T
N
T
P
+
F
P
+
T
N
+
F
N
A=\cfrac{TP+TN}{TP+FP+TN+FN}
A=TP+FP+TN+FNTP+TN
召回率:
R
=
T
P
T
P
+
F
N
R=\cfrac{TP}{TP+FN}
R=TP+FNTP
F1值:
F
1
=
2
P
R
P
+
R
F1=\cfrac{2PR}{P+R}
F1=P+R2PR
深度学习
- 通过组合底层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示
- 机器学习的一个分支
- “多隐层”的神经网络
- 与传统机器学习相比的优点:
高效性
可塑性
普适性
- 深度神经网络除了输入层和输出层之外,还有多个隐层
z
=
∑
i
w
i
x
i
+
b
z=∑_iw_ix_i+b
z=i∑wixi+b
σ
(
z
)
σ(z)
σ(z)