• 机器学习面试问题3


    以下内容承接机器学习相关面试2。

    Apriori

    Apriori算法是一种关联规则的基本算法,是挖掘关联规则的频繁项集算法,也称“购物篮分析”算法,是“啤酒与尿布”案例的代表。

    算法步骤:

    1)依据支持度找出所有频繁项集。

    Apriori算法是发现频繁项集的一种方法。Apriori算法的两个输入参数分别是最小支持度和数据集。该算法首先会生成所有单个元素的项集列表。接着扫描数据集来查看哪些项集满足最小支持度要求,那些不满足最小支持度的集合会被去掉。然后,对剩下来的集合进行组合以生成包含两个元素的项集。接下来,再重新扫描交易记录,去掉不满足最小支持度的项集。该过程重复进行直到所有项集都被去掉。为了生成所有频繁项集,使用了递归的方法。

    2)依据置信度产生关联规则。

    关联分析的目标包括两项:发现频繁项集和发现关联规则。首先需要找到频繁项集,然后才能获得关联规则(计算关联规则的可信度需要用到频繁项集的支持度)。

    频繁项集(frequent item sets)是经常出现在一块儿的物品的集合。 
    关联规则(association rules)暗示两种物品之间可能存在很强的关系。 
    支持度(support)被定义为数据集中包含该项集的记录所占的比例。 
    可信度或置信度(confidence)是针对关联规则来定义的。规则{尿布}➞{啤酒}的可信度被定义为”支持度({尿布,啤酒})/支持度({尿布})”,由于{尿布,啤酒}的支持度为3/5,尿布的支持度为4/5,所以”尿布➞啤酒”的可信度为3/4。这意味着对于包含”尿布”的所有记录,我们的规则对其中75%的记录都适用。

    详细算法可参见: 
    http://www.cnblogs.com/qwertWZ/p/4510857.html

    ID3(C4.5,CART)

    决策树是一种基本的分类与回归方法。

    决策树学习常用的算法包括 ID3、C4.5、CART。

    ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。

    具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。

    ID3相当于用极大似然法进行概率模型的选择。

    C4.5算法与ID3算法相似,C4.5的算法对ID3算法进行了改进。C4.5在生成的过程中,用信息增益比来选择特征。

    CART由特征选择、树的生成及减枝组成。 
    CART算法由以下两步组成: 
    1)决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大。 
    2)决策树减枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。

    SVM

    支持向量机SVM是一种二类分类模型。

    SVM主要思想可概括为两点: 
    1)它通过使用非线性映射算法将低维输入空间的样本映射到高维属性空间,从而使得在属性空间采用线性算法对样本的非线性特性进行分析成为可能。 
    2) 它通过使用结构化风险最小化的理论在属性空间构建最优化分割超平面,使得学习器得到全局最优化,并在整个样本空间的期望风险以某个概率满足一定上界。

    SVM的学习算法是求解凸二次规划的最优化算法。 
    支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机(硬间隔支持向量机)、线性支持向量机(软间隔支持向量机)、非线性支持向量机。

    线性可分支持向量机

    当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机。

    硬间隔最大化:几何间隔最大。

    线性可分支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。是一个约束最优化问题(凸优化问题)。

    线性支持向量机

    当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机。 
    仍然是最优化问题,但相较于硬间隔最大化,在约束表示中多了 。

    非线性支持向量机

    当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

    对于输入空间中的非线性分类问题,可以通过非线性变换将它转化为某个高维特征空间中的线性分类问题,在高维空间中学习线性支持向量机。

    选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种: 
    ⑴线性核函数K(x,y)=x·y; 
    ⑵多项式核函数K(x,y)=[(x·y)+1]^d; 
    ⑶径向基函数K(x,y)=exp(-|x-y|^2/d^2) 
    ⑷二层神经网络核函数K(x,y)=tanh(a(x·y)+b)

    函数间隔,可以表示分类预测的正确性及确信度。 
    定义超平面关于训练集的函数间隔为超平面关于训练数据集中所有样本点的函数间隔最小值。 
    几何间隔 
    定义超平面关于训练集的几何间隔为超平面关于训练数据集中所有样本点的几何间隔最小值。 
    函数间隔与几何间隔的关系:, 当||w||=1时,函数间隔等于几何间隔。若超平面参数w和b成比例地改变(超平面没有改变)时,函数间隔也按此比例改变,而几何间隔不变。 
    间隔最大化:分离超平面与离该平面最近的点的距离最远。 
    支持向量:离分离超平面最近的点。

  • 相关阅读:
    NYOJ 123士兵杀敌(四)(树状数组)(插线问点)
    NYOJ 634万里挑一(优先队列)
    NYOJ 119士兵杀敌(三)(RMQ问题)(ST表)
    NYOJ 116士兵杀敌(二)(树状数组)(插点问线)
    迁移anaconda导致原来jupyter notebook无法使用
    Anaconda安装
    pandas注意点
    群与双线性映射
    numpy.cov() 协方差计算方法
    Annoy模型
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6654128.html
Copyright © 2020-2023  润新知