机器学习的常用算法
笔记内容侵权联系删除
线性回归
线性回归(Linear regression):线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
线性回归是一种有监督学习。
多项式回归,是线性回归的拓展,通常数据集的复杂度会超过用一条直线来拟合的可能性,也就是使用原始的线性回归模型会明显欠拟合。解决的办法就是使用多项式回归。
逻辑回归
逻辑回归:逻辑回归模型是一种分类模型用来解决分类问题
逻辑回归与线性回归都是广义线性模型。逻辑回归在线性回归的基础上引入了非线性因素(sigmoid函数),并设定了阈值,因此可以处理二分类问题
【例如我问人的性别,只有两种情况,男的或者女的这就是二分类问题】
逻辑回归扩展-Softmax函数(1)
逻辑回归只能用于二分类问题,如果是多分类问题,我们通常使用Softmax函数
Softmax回归是逻辑回归的一般化,适用卡K分类的问题。
Softmax函数的本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其虫向量中的每个元素取值都介于(0,1)之间。
Softmax为多类问题中的每个分类分配了概率值。这些概率加起来等于1。
决策树
决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。
决策树的构建关键点
决策树的构造就是进行属性的选择,确定各个特征属性之间的树结构。构建决策树的关键步骤就是按照所有的特征属性进行划分操作,对所有的划分操作的结果集的纯度力进行比较,选择“纯度”最高的属性作为分割数据集的数据点。
【纯度差异越大,决策树越好】
决策树的构建过程
特征选择:从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)
决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长。
剪枝:决策树容易过拟合,需要剪枝来缩小树的结构和规模(包括预剪枝和后剪枝)。
【将一个混乱的样本分割成清晰的样本】
支持向量机,
支持向量机(support vector machine,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。SVM还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习算法是求解凸二次规划的最优化算法。
线性支持向量机
直线被用来将数据分割到不同类别中,而实际上我们可以多条直线将数据分来。SVM的核心思路是找到一个直线,使离直线比较近的点,尽可能远离这条直线,这可以使模型具有很强的泛化能力。而这些点就被称为支持向量(Support Vector)在二维空间中,我们用直线来分割,如果是高维空间,我们使用超平面来分割。
【将一个混乱的样本分割成清晰的样本】
非线性支持向量机
使用核函数来构建非线性支持向量机。
核函数允许算法在变换后的高维特征空间中拟合最大的超平面常见核函数
【它利用的技巧或者遵循的原理是核函数的内积在低维空间,和高维空间中的内积相同】
K最邻近算法(1)
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
KNN的核心思想是“近朱者赤,近墨者黑,其在逻辑上十分的简洁。
KNN是非参数方法,常用在决策边界非常不规则的数据集中使用。
KNN在分类预测时,一般采用多数表决法;
KNN在做回归预测时,一般采用平均值法
KNN的需要非常大的计算量。
一般来说,较大的k值会降低噪声对分类的影响,但会使类之间的边界不那么明显
。K值越大越容易欠拟合,因为分割过于粗糙,越小越容易过拟合,因为分割过于细腻。
朴素贝叶斯
朴素贝叶斯算法(Naive_Bayes):朴素贝叶斯是一种简单的多类分类算法,基于贝叶斯定理,并假设特征之间是独立的。
【简单说,它就是是你知道了先验概率的情况下,去计算后验概率】
【举个栗子,我知道下雨的概率,也知道了下雨打伞的概率,然后我想要现在知道打伞的情况,下雨的概率是多少】
集成学习
集成学习是一种机器学习范式,在这种范式中,多个学习者被训练和组合以解决同一个问题。通过使用多个学习者,集成的泛化能力可以比单个学习者强得多,
如果随机向数千人提出一个复杂的问题,然后汇总他们的答案。在许多情况下,会发现这个汇总的答案比专家的答案更好。这就是群众智慧。
集成学习-GBDT
GBDT是Boosting算法的一种。
综合模型的结果是所有基础学习器的结果相加等于预测值,其本质是下一个基础学习器去拟合误差函数对预测值的残差(这个残差就是预测值与真实值之间的误差)。
GBDT在模型训练的时候,是要求模型预测的样本损失尽可能的小。
无监督学习-K-means
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据集,输出满足方差最小的标准的k个聚类的一种算法。
K-means算法需要输入聚类的最终个数k,然后将n个数据对象划分为k个聚类,而最终所获得的聚类满足:(1)同一聚类中的对象相似度较高;(2)而不同聚类中的对象相似度较小。
无监督学习-层次聚类
层次聚类法试图在不同层次对数据集进行划分,从而形成树形的聚类结构,数据集的划分可采用“自下向上”的聚合策略,也可以采用“自顶向下”的分拆策略。聚类的层次被表示成树形图。树根拥有所有样本的唯一聚类,叶子是仅有一个样本的聚类。