机器学习训练方法
模型中的参数和超参数
模型中不但有参数,还有超参数的存在。超参数的目的是为了让模型能够学习到最佳的参数
- 参数由模型自动学习
- 超参数由人工手动设定
梯度下降法
梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,该方向为当前位置最快下降方向,梯度下降中越接近目标值,变化量越小,公式如下:
●其中η成为学习率,i表示第i条数据。权重参数w每次迭代变化的大小。
●收敛:目标函数的值变化非常小或达到最大迭代次数。
- 批量梯度下降(BGD):使用所有数据集中的样本(共m个样本)在当前点的梯度之和来对权重参数进行更新操作
- 随机梯度下降(SGD):随机选取一个数据集中的样本在当前的梯度来对权重参数进行更新操作
- 小批量梯度下降(MBGD):结合了BGD和SGD的特征每次选择数据集中n个样本的梯度来对权重参数进行更新操作
三种梯度下降方法比较:
- SGD中,因为每次训练选取的样本是随机的,这本身就带来了不稳定性,会导致损失函数在下降到最低点的过程中,产生动荡甚至反向的位移。
- BGD最稳定,但是过于消耗运算资源
- MBGD是SGD与BGD平衡之后的方法。
交叉验证
- 交叉验证:是用来验证分类器的性能一种统计分析方法, 基本思想是把在某种意义下将原始数据进行分组,一部分作为训练集,另一部分作为验证集, 首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此来做为评价分类器的性能指标。
- k-折交叉验证(K-CV) :
- 将原始数据分成k组(-般是均分 )。
- 将每个子集数据分别做一-次验证集, 其余的k - 1组子集数据作为训练集,这样会得到k个模型。
- 用这k个模型最终的验证集的分类准确率的平均数作为此K - CV下分类器的性能指标。
机器学习常见算法
线性回归
线性回归( Linear regression) :线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
线性回归是一 种有监督学习。
线性回归模型:hw(x)=wTx+b
W:权重;b:偏置;x:样本
模型预测与真实值的关系:y=WTx+ε
y:真实值;ε:误差
线性回归损失函数:
误差ε受到众多因素独立影响,根据中心极限定律,误差ε服从正态分布。根据正态
分布函数与最大似然估计,可以求出线性回归的损失函数。
我们想要预测值与真实值最接近,就是求损失值最小。可以使用梯度下降的方法求出当损失函数达到最小的时候的权重参数w,继而完成模型构建。
线性回归扩展:多项式回归
多项式回归,是线性回归的拓展,通常数据集的复杂度会超过用一条直线来拟合的可能性,也就是使用原始的线性回归模型会明显欠拟合。解决的办法就是使用多项式回归。
n次方就是多项回归的维度。
多项式回归仍然是线性回归的一种,是因为其非线性体现在特征的维度上,而其权
重参数w之间的关系仍然是线性的。
线性回归防止过拟合
逻辑回归
逻辑回归模型是一种分类模型,用来解决分类问题。模型的定义如下:
逻辑回归与线性回归都是广义线性模型。逻辑回归在线性回归的基础上引入了非线性因素(sigmoid函数), 并设定了阈值,因此可以处理二分类问题。
逻辑回归损失函数:
其中w为权重参数,m为样本个数,x表示样本, y表示真实值 。同样可以通过梯度下降算法求得所有权重参数w的值。
逻辑回归扩展:softmax函数
● 逻辑回归只能用于二分类问题,如果是多分类问题,我们通常使用Softmax函数。
Softmax为多类问题中的每个分类分配了概率值。这些概率加起来等于1。
决策树
● 特征选择:从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)。
● 决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长。
● 剪枝:决策树容易过拟合,需要剪枝来缩小树的结构和规模(包括预剪枝和后剪枝)。
支持向量机
支持向量机( support vector machine, SVM)是- -种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器
。
SVM还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习算法是求解凸二次规划的最优化算法。
线性支持向量机
直线被用来将数据分割到不同类别中,而实际上我们可以多条直线将数据分来。
SVM的核心思路是找到一个直线,使离直线比较近的点,尽可能远离这条直线,这可以使模型具有很强的泛化能力。而这些点就被称为支持向量(Support Vector)
在二维空间中,我们用直线来分割,如果是高维空间,我们使用超平面来分割。
非线性支持向量机
高斯函数用的最广,应用场景多。
K最邻近算法
K最近邻(k-Nearest Neighbor, KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
- KNN的核心思想是“近朱者赤,近墨者黑”其在逻辑上十分的简洁。
- KNN是非参数方法,常用在决策边界非常不规则的数据集中使用。
- KNN在分类预测时,-般采用多数表决法; KNN在做回归预测时,一般采用平均值法
- KNN的需要非常大的计算量。
一般来说,较大的k值会降低噪声对分类的影响,但会使类之间的边界不那么明显
K值越大越容易欠拟合,因为分割过于粗糙,越小越容易过拟合,因为分割过于细腻。
朴素贝叶斯
朴素贝叶斯算法( Naive Bayes) :朴素贝叶斯是一种简单的多类分类算法 ,基于贝叶斯定理,并假设特征之间是独立的。给定样本特征X,样本属于类别H的概率是:
集成学习
集成学习是一种机器学习范式,在这种范式中,多个学习者被训练和组合以解决同-一个问题。通过使用多个学习者,集成的泛化能力可以比单个学习者强得多。
如果随机向数千人提出一个复杂的问题,然后汇总他们的答案。在许多情况下,会发现这个汇总的答案比专家的答案更好。这就是群众智慧。
集成学习-随机森林
集成学习-GBDT
K-means(无监督学习的算法)
层次聚类(无监督学习的算法)
层次聚类法试图在不同层次对数据集进行划分,从而形成树形的聚类结构,数据集的划分可采用“自下向上”的聚合策略,也可以采用“自顶向下”的分拆策略。聚类的层次被表示成树形图。树根拥有所有样本的唯一聚类,叶子是仅有一个样本的聚类。
本笔记对应课程视频: