机器学习
1. 机器学习算法
-
机器学习和传统基于规则的区别:
-
基于规则的方法:
(1) 使用显性编程解决问题
(2) 规则可以被人工明确
-
机器学习:
(1) 使用样本训练
(2) 决策的规则复杂或难以描述
(3) 由机器自动学习规则
-
-
机器学习解决的主要问题:
-
分类:指定有k种类别来预测类别(离散)
-
回归:给定输入值来预测数值(连续)
-
聚类:对未标注的数据集按相似性划分为多个类别
-
2. 机器学习分类
-
监督学习:利用已知类别的样本训练学习得到一个模型,再利用这个模型将所有输入映射为相应的输出,从而实现分类的目的
e.g:分类、回归
-
无监督学习:对于没有标记的样本,学习算法直接对输入数据集进行建模,例如聚类,只需要把相似度高的东西放在一起
e.g:聚类
-
半监督学习:试图让学习器自动地对大量未标记数据进行利用以辅助少量有标记数据进行学习
-
强化学习:学习系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大、
3. 机器学习的整体流程
数据收集 -> 数据清洗 -> 特征提取与选择 -> 模型训练 -> 模型评估与测试 -> 模型部署与整合
4. 其它机器学习重要方法
- 梯度下降
- 参数与超参数
- 交叉验证
5. 机器学习的常见算法
1. 线性回归
-
线性回归(Linear regression):线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法
-
线性回归是一种有监督学习
-
我们想要预测值与真实值最接近,就是求损失值最小。可以使用梯度下降的方法求 出当损失函数达到最小的时候的权重参数𝑤,继而完成模型构建
-
回归算法的评价指标:均方误差
-
线性回归拓展——多项式回归
多项式回归,是线性回归的拓展,通常数据集的复杂度会超过用一条直线来拟合的可能性,也就是使用原始的线性回归模型会明显 欠拟合,解决的办法就是使用多项式回归
多项式回归仍然是线性回归的一种,是因 为其非线性体现在特征的维度上,而其权 重参数𝑤𝑤之间的关系仍然是线性的
-
正则项有助于减少过拟合
线性回归的损失函数 + L1正则 = Lasso回归
线性回归的损失函数 + L2正则 = Ridge回归
2. 逻辑回归
逻辑回归模型是一种分类模型,用来解决分类问题。
-
逻辑回归与线性回归都是广义线性模型。逻辑回归在线性回归的基础上引入了非线性因素**(sigmoid函数)**,并设定了阈值,因此可以处理二分类问题
-
逻辑回归只能用于二分类问题
-
逻辑回归拓展——Softmax函数
Softmax回归是逻辑回归的一般化,适用于K分类的问题,本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间,概率相加之和为1
3. 决策树
决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别
-
决策树的构造就是进行属性的选择,确定各个特征属性之间的树结构。构建决策树的关键步骤就是按照所有的特征属性进行划分操作,对所有的划分操作的结果集的“纯度” 进行比较,选择“纯度”最高的属性作为分割数据集的数据点
-
常见的决策树算法有ID3,C4.5,CART等
-
决策树的构建过程:特征选择 -> 决策树生成 -> 剪枝
4. 支持向量机
支持向量机(support vector machine,SVM)是一种二分类模型,它的基本模型是定义 在特征空间上的间隔最大的线性分类器
- 线性支持向量机
- SVM的核心思路是找到一个直线,使离直线比较近的点,尽可能远离这条直线,这 可以使模型具有很强的泛化能力。而这些点就被称为支持向量(Support Vector)
- 在二维空间中,我们用直线来分割,如果是高维空间,我们使用超平面来分割
- 非线性支持向量机
- 使用核函数来构建非线性支持向量机
- 核函数允许算法在变换后的高维特征空间中拟合最大的超平面
5. K最邻近算法
思路:如果一个样本在特征空间中的k个 最相似(即特征空间中最邻近)的样本中的 大多数属于某一个类别,则该样本也属于 这个类别
- KNN在分类预测时,一般采用多数表决法; KNN 在做回归预测时,一般采用平均值法
- K值越大越容易欠拟合,因为分割过于粗糙,越小越容易过拟合,因为分割过于细腻
- 随着K值的 增加,边界会变得更平滑
6. 朴素贝叶斯
朴素贝叶斯是一种简单的多类分类算法,基于贝叶斯定理,并假设特征 之间是独立的
1. 集成学习
集成学习是一种机器学习范式,多个学习者被训练和组合以解决同一个问题,泛化能力比单个学习者强得多
-
集成学习的分类
-
Bagging:独立构建数个基本学习器,然后平均预测,使方差减少
e.g:随机森林
-
Boosting:按顺序方式构建基本学习器,逐步减少偏差
e.g:Adaboost、GBDT、XGboost
-
-
集成学习 — 随机森林
-
随机森林(Random Forest)= Bagging + CART决策树
-
随机森林建立多个决策树,并将它们结合在一起
-
随机森林科用于解决分类和回归问题
-
-
集成学习 — GBDT
-
综合模型的结果是所有基础学习器的结果相加等于预测值,其本质是下一个基础学习器去拟合误差函数对预测值的残差(这个残差就是预测值与真实值之间的误差)
-
GBDT在模型训练的时候,是要求模型预测的样本损失尽可能的小
-
-
GBDT和随机森林哪个容易过拟合?
随机森林,因为随机森林的决策树尝试拟合数据集,有潜在的过拟合风险,而GBDT的决策树则是拟合数据集的残差,然后更新残差,由新的决策树再去拟合新的残差,虽然慢,但是难以过拟合。
2. 无监督学习
-
K-means
-
K-means算法是输入聚类个数k,以及包含n个数据对象的数据集,输出满足方差最小的标准的k个聚类的一种算法
-
K-means算法需要输入聚类的最终个数k ,然后将n个数据对象划分为k个聚类,而最终所获得的聚类满足:
(1) 同一聚类中的对象相似度较高
(2) 而不同聚类中的对象相似度较小
-
-
层次聚类
层次聚类法试图在不同层次对数据集进行划分,从而形成树形的聚类结构,数据集的划 分可采用“自下向上”的聚合策略,也可以采用“自顶向下”的分拆策略。聚类的层次 被表示成树形图。树根拥有所有样本的唯一聚类,叶子是仅有一个样本的聚类