zoukankan      html  css  js  c++  java
  • 机器学习面试问题1

    本机器学习面试问题系列博客共有10章,从1到10分别总结了机器学习面试的经典常用问题,也是阿里面试常用考题,系小编呕心沥血之作,希望大家能够在参考之余和小编积极交流,欢迎评论,欢迎来踩!希望能对和小编一样的机器学习爱好者提供实质性帮助。

    基本知识

    监督与非监督的区别

    监督:输入的数据有明确的标识,可建立模型做预测,多用于分类和回归。 
    非监督:数据并不被特别标识,需要建立模型得出数据的内在结构,多用于聚类。

    L1和L2的区别

    L1范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。 
    比如 向量A=[1,-1,3], 那么A的L1范数为 |1|+|-1|+|3|.

    简单总结一下就是: 
    L1范数: 为x向量各个元素绝对值之和。 
    L2范数: 为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或者Frobenius范数 
    Lp范数: 为x向量各个元素绝对值p次方和的1/p次方.

    在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便人类提取特征。 
    L1范数可以使权值稀疏,方便特征提取。 
    L2范数可以防止过拟合,提升模型的泛化能力。

    生成模型和判别模型的区别

    生成模型:由数据学习联合概率密度分布P(X,Y),求出条件概率分布P(Y|X)作为预测的模型,即生成模型P(Y|X)=P(X,Y)/P(X),再利用它分类。 
    判别模型:由数据直接学习决策函数y=f(x)或者条件概率分布P(Y|X)作为预测的模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。 
    典型的判别模型包括K近邻、感知机、决策树、支持向量机等。 
    由生成模型可以得到判别模型,但由判别模型得不到生成模型。生成模型学习联合概率分布P(X,Y),而判别模型学习条件概率分布P(Y|X)。

    算法的优缺点

    K-means

    1.优点: 
    1)算法快速、简单。 
    2)对大数据集有较高的效率并且是可伸缩性的。 
    3)时间复杂度近于线性,为O(nkt),适合挖掘大规模数据集。 
    2.缺点: 
    1)k是事先给定的,这个k值的选定是非常难以估计的。 
    2)在该算法中首先需要根据初始聚类中心来确定一个初始划分,然后对初始聚类中心进行优化。这个初始聚类中心的选择对聚类结果又较大影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。 
    3)从K-means算法中可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此数据量非常大时,算法的时间开销也是非常大的。 
    3.改进: 
    基于熵值法及动态规划的改进k-means算法。 
    熵值法用来修订算法的距离计算公式,以提高算法的聚类精确程度, 动态规划算法用来确定算法的初始聚类中心。

    KNN

    1.优点: 
    1)简单,易于理解,易于实现,无需估计参数,无需训练。 
    2) 适合对稀有事件进行分类。 
    3)特别适合于多分类问题(multi-modal,对象具有多个类别标签), kNN比SVM的表现要好。 
    2.缺点: 
    1)该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。 
    2)该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。 
    3)可理解性差,无法给出像决策树那样的规则。 
    4)类别评分不是规则化的。 
    3.改进策略: 
    针对以上算法的不足,算法的改进方向主要分成了分类效率和分类效果两方面。 
    分类效率:事先对样本属性进行约简,删除对分类结果影响较小的属性,快速的得出待分类样本的类别。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。 
    分类效果:采用权值的方法(和该样本距离小的邻居权值大)来改进,Han等人于2002年尝试利用贪心法,针对文件分类实做可调整权重的k最近邻居法WAkNN (weighted adjusted k nearest neighbor),以促进分类效果;而Li等人于2004年提出由于不同分类的文件本身有数量上有差异,因此也应该依照训练集合中各种分类的文件数量,选取不同数目的最近邻居,来参与分类。

    Apriori

    是经典的关联规则数据挖掘算法。 
    1.优点: 
    1)简单、易理解。 
    2)数据要求低。 
    2.缺点: 
    1)在每一步产生候选项目集时循环产生的组合过多,没有排除不应该参与组合的元素。 
    2)每次计算项集的支持度时,都对数据库中的全部记录进行了一遍扫描比较,如果是一个大型的数据库时,这种扫描会大大增加计算机的I/O开销。 
    3.改进: 
    1)利用建立临时数据库的方法来提高Apriori算法的效率。 
    2)Fp-tree 算法。以树形的形式来展示、表达数据的形态;可以理解为水在不同河流分支的流动过程。 
    3)垂直数据分布。相当于把原始数据进行行转列的操作,并且记录每个元素的个数。

  • 相关阅读:
    SyntaxError: Non-ASCII character 'xe7' in file解决方法
    python实现微信打飞机游戏
    ubuntu 系统出错一览
    MVC的特点
    架构
    策略模式
    bin
    使用XSLT实现Word下载
    <a>标签的href属性
    call-template和apply-templates
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6654124.html
Copyright © 2011-2022 走看看