机器学习(面试题)及知识点

编程入门 行业动态 更新时间:2024-10-04 19:23:18

机器学习(面试题)及<a href=https://www.elefans.com/category/jswz/34/1770093.html style=知识点"/>

机器学习(面试题)及知识点

文章目录

文章目录

  • 文章目录
        • 1,什么是机器学习
        • 2,机器学习与数据挖掘的区别
        • 3.什么是机器学习的过度拟合现象
        • 4.过度拟合产生的原因
        • 5.如何避免过度拟合
        • 6.什么是感应式的机器学习?
        • 7.什么是机器学习的五个流行的算法?
        • 9.在机器学习中,建立假设或者模型的三个阶段指的是什么?
        • 10.什么是监督学习的标准方法?
        • 11.什么是训练数据集和测试数据集?
        • 12.机器学习的方法?
        • 13.非机器学习有哪些类型?
        • 14.什么是非监督学习的功能?
        • 15.什么是监督学习的功能?
        • 16.什么是算法独立的机器学习?
        • 17.朴素贝叶斯方法的优势是什么?
        • 18.为什么朴素贝叶斯如此“朴素”?
        • 19.在机器学习中归纳逻辑程序设计是指什么?
        • 20.在机器学习中,模型的选择是指?
        • 21.什么是贝叶斯网络?
        • 22.贝叶斯逻辑程序的两个组成部分是什么?
        • 23.支持向量机能处理哪两种分类方法?
        • 24.什么是集成学习?
        • 25.什么是集成方法的一般原则,在集成方法中套袋(bagging)和爆发(boosting)指的是什么?
        • 26.在集成方法中什么是增量合成方法?
        • 27.什么是PAC学习?
        • 28.PCA,KPCA和ICE如何使用?
        • 29.什么是数据埋点
        • 30.归一化的类型
        • 31.欧氏距离和曼哈顿距离
        • 32.简要说说一个完整的机器学习项目流程
        • 33.Python机器学习一些必要的库
        • 34.库的基本使用
        • 35.为何选择Python
        • 36.正则化方法
        • 38.决策树算法
        • 39.降维方法
        • 40.关联规则学习

1,什么是机器学习
  • 简单的说,机器学习就是让机器从数据中学习,进而得到一个更加符合现实规律的模型, 通过对模型的使用使得机器比以往表现的更好,这就是机器学习。

    对上面这句话的理解:

    数据:从现实生活抽象出来的一些事物或者规律的特征进行数字化得到。

    学习:在数据的基础上让机器重复执行一套特定的步骤(学习算法)进行事物特征的萃取, 得到一个更加逼近于现实的描述(这个描述是一个模型它的本身可能就是一个函数)。我 们把大概能够描述现实的这个函数称作我们学到的模型。

    更好:我们通过对模型的使用就能更好的解释世界,解决与模型相关的问题。

2,机器学习与数据挖掘的区别
  • 数据挖掘和机器学习的区别和联系,周志华有一篇很好的论述《机器学习和数据挖掘》可以帮 助大家理解。
    数据挖掘受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影响
    最大。简言之,对数据挖掘而言,数据库提供数据管理技术,机器学习和统计学
    提供数据分析技术。
    由于统计学往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的
    很多技术通常都要在机器学习界进一步研究,变成有效的机器学习算法之后才能
    再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖
    掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。
    从数据分析的角度来看,绝大多数数据挖掘技术都来自机器学习领域,但机器
    学习研究往往并不把海量数据作为处理对象,因此,数据挖掘要对算法进行改造,
    使得算法性能和空间占用达到实用的地步。同时,数据挖掘还有自身独特的内容,
    即关联分析。
    而模式识别和机器学习的关系是什么呢,传统的模式识别的方法一般分为两种:
    统计方法和句法方法。句法分析一般是不可学习的,而统计分析则是发展了不少机
    器学习的方法。也就是说,机器学习同样是给模式识别提供了数据分析技术。
    至于,数据挖掘和模式识别,那么从其概念上来区分吧,数据挖掘重在发现知识,
    模式识别重在认识事物。
    机器学习的目的是建模隐藏的数据结构,然后做识别、预测、分类等。因此,机器
    学习是方法,模式识别是目的。
    总结一下吧。只要跟决策有关系的都能叫 AI(人工智能),所以说 PR(模式识别)、
    DM(数据挖掘)、IR(信息检索) 属于 AI 的具 体应用应该没有问题。 研究的东西则
    不太一样, ML(机器学习) 强调自我完善的过程。 Anyway,这些学科都是相通的。
3.什么是机器学习的过度拟合现象
  • 如果一味的去提高训练数据的预测能力,所选模型的复杂度往往会很高,这种现象称为过拟合,所表现的就是模型训练时候的误差很小,但在测试的时候误差很大。
    指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时, 复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表 现就是训练集上效果好,在测试集上效果差。模型泛化能力弱。
4.过度拟合产生的原因
  • 过拟合的第一个原因,就是建模样本抽取错误,包括(但不限于)样本数量太少, 抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点,等等导致抽出 的样本数据不能有效足够代表业务逻辑或业务场景;

    过拟合的第二个原因,就是样本里的噪音数据干扰过大,大到模型过分记住了噪音 特征,反而忽略了真实的输入输出间的关系;

    过拟合的第三个原因,就是在决策树模型搭建中,如果我们对于决策树的生长没有 合理的限制和修剪的话,决策树的自由生长有可能每片叶子里只包含单纯的事件 数据(event)或非事件数据(no event),可以想象,这种决策树当然可以完 美匹配(拟合)训练数据,但是一旦应用到新的业务真实数据时,效果是一塌糊涂。

    过拟合的第四个原因,就是建模时的“逻辑假设”到了模型应用时已经不能成立了。任 何预测模型都是在假设的基础上才可以搭建和应用的,常用的假设包括:假设历 史数据可以推测未来,假设业务环节没有发生显著变化,假设建模数据与后来的 应用数据是相似的,等等。如果上述假设违反了业务场景的话,根据这些假设搭 建的模型当然是无法有效应用的。

    过拟合的第五个原因,就是建模时使用了太多的输入变量,这跟上面第二点(噪音数据) 有些类似,数据挖掘新人常常犯这个错误,自己不做分析判断,把所有的变量交给 软件或者机器去“撞大运”。须知,一个稳定优良的模型一定要遵循建模输入变量“ 少而精”的原则的。

    上面的原因都是现象,但是其本质只有一个,那就是“业务理解错误造成的”,无论是抽样, 还是噪音,还是决策树,神经网络等等,如果我们对于业务背景和业务知识非常了解, 非常透彻的话,一定是可以避免绝大多数过拟合现象产生的。因为在模型从确定需求, 到思路讨论,到搭建,到业务应用验证,各个环节都是可以用业务敏感来防止过拟合 于未然的。

5.如何避免过度拟合
  • 当你使用较小的数据集进行机器学习时,容易产生过度拟合,因此使用较大的数据量能避免过度拟合现象。但是当你不得不使用小型数据集进行建模时候,可以使用被称为交叉验证的技术。在这种方法中数据集被分为两节,测试和训练数据集,测试数据集只测试模型,而在训练数据集中,数据点被用来建模。

    在该技术中,一个模型通常是被给定有先验知识的数据集(训练数据集)进行训练,没有先验知识的数据集进行测试,交叉验证的思想是:在训练阶段,定义一个数据集用来测试模型
    1.dropout:训练神经网络模型时,如果训练样本较少,为了防止模型过拟合, Dropout可以作为一种trikc供选择。
    2.early stop结合cross validation使用。
    3.尽可能的扩大 training dataset,增加训练集的全面性和数量

6.什么是感应式的机器学习?
  • 感应机器学习涉及由实践进行学习的过程,能从一组可观测到的例子的尝试推导出普遍性规则
7.什么是机器学习的五个流行的算法?
  • 决策树
    神经网络
    概率网络
    最邻近法
    支持向量机
9.在机器学习中,建立假设或者模型的三个阶段指的是什么?
  • 建模
    模型测试
    模型应用
10.什么是监督学习的标准方法?
  • 监督学习的标准方法是将一组示例数据的分成训练数据集和测试数据集
11.什么是训练数据集和测试数据集?
  • 在类似于机器学习的各个信息科学相关领域中,一组数据被用来发现潜在的预测关系, 称为“训练数据集”。训练数据集是提供给学习者的案例,而试验数据集是用于测试由学习 者提出的假设关系的准确度。
12.机器学习的方法?
  • 机器学习的各种方法如下:

    概念与分类学习(Concept Vs Classification Learning)。

    符号与统计学习(Symbolic Vs Statistical Learning)。

    归纳与分析学习(Inductive Vs Analytical Learning)。

13.非机器学习有哪些类型?
  • 人工智能 规则推理
14.什么是非监督学习的功能?
  • 求数据的集群
    求出数据的低维表达
    查找数据有趣的方向
    有趣的坐标和相关性
    发现显著的观测值和数据集清理
15.什么是监督学习的功能?
  • 分类 语音识别 回归 时间序列预测 注释字符串
16.什么是算法独立的机器学习?
  • 机器学习在基础数学领域独立于任何特定分类器或者学习算法,被称为算法独立的机器学习。
17.朴素贝叶斯方法的优势是什么?
  • 朴素贝叶斯分类器将会比判别模型,譬如逻辑回归收敛得更快,因此你只需要 更少的训练数据。其主要缺点是它学习不了特征间的交互关系。
18.为什么朴素贝叶斯如此“朴素”?
  • 叶斯算法简单高效,在处理分类问题上,是首先要考虑的方法之一。

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。公式如下:

该公式最大的优点就是可以忽略AB 的联合概率直接求其条件概率分布。

而朴素贝叶斯为什么如此朴素,因为他假定所有的特征在数据集中的作用是同样重要和独立的。正如我们所知,这个假设在现实世界中是很不真实的,因此说朴素贝叶斯真的很“朴素”。

朴素贝叶斯分类是一种非常简单的分类算法,其思想是朴素的。即:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,那个最大,就认为此待分类项属于那个类别。

理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小的时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。

19.在机器学习中归纳逻辑程序设计是指什么?
  • 归纳逻辑程序设计(ILP)是利用逻辑程序设计表达的背景知识和实例,它是机器学习的一个分支。
20.在机器学习中,模型的选择是指?
  • 在不同的数学模型中,选择用于描述相同的数据集的模型的过程被称为模型选择。 模型选择被应用于统计,机器学习和数据挖掘的等相关领域。
21.什么是贝叶斯网络?
  • 贝叶斯网络是用来表示一组变量之间为概率关系的图像模型。
22.贝叶斯逻辑程序的两个组成部分是什么?
  • 贝叶斯逻辑程序由两部分组成。第一成分由一组贝叶斯条款组成,能捕捉特定 域的定性结构。第二组分是定量的,它能对域的量化信息进行编码。
23.支持向量机能处理哪两种分类方法?
  • 结合二分类法

    修改二进制纳入多类学习法。

24.什么是集成学习?
  • 为了解决特定的计算程序,如分类器或专家知识等多种模式,进行战略性生产 和组合。这个过程被称为集成学习。
25.什么是集成方法的一般原则,在集成方法中套袋(bagging)和爆发(boosting)指的是什么?
  • 集成方法的一般原则是要结合定的学习算法多种预测模型,相对于单一模型, 其有更强的健壮性。套袋是一种能提高易变的预测或分类方案集成方法。爆发方 法被依次用来减少组合模型的偏差。爆发和装袋都可以通过降低方差减少误差。
26.在集成方法中什么是增量合成方法?
  • 增量学习方法是一种从新数据进行学习,并能应用于后续由现有的数据集生成的分类器的算法。
27.什么是PAC学习?
  • 可能近似正确模型 (PAC) 学习是一个已经被引入到分析学习算法和统计效率的学习框架。
28.PCA,KPCA和ICE如何使用?
  • PCA(主成分分析),KPCA(基于内核主成分分析)和ICA(独立成分分析)是用 于降维的重要特征提取技术。
29.什么是数据埋点
  • 数据埋点我们可以分为两类,其一是页面统计,其二是行为统计。

页面统计可以帮我们知晓某个页面被多少人访问了多少次,行为统计是指用户在界面上的操作行为,应用最多的是按钮的点击次数。

30.归一化的类型
  • 线性归一化
    这种归一化方法比较适用于在数值比较集中的情况。这种方法有个缺陷,如果max和min 不稳定,很容易使得归一化结果不稳定,使得后续使用效果也不稳定。实际使用中可以用经验常量值来替代 max和 min。 标准差标准化
    经过处理的数据符合标准正态分布,即均值为0,标准差为1。
    非线性归一化
    经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。
31.欧氏距离和曼哈顿距离
  • 欧氏距离(也称为欧几里得度量),是应用勾股定理计算两个点之间的直线距离,也就是指m维空间两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。

下面是欧式距离的公式(分别是二维空间,三维空间,n维空间):

曼哈顿距离表示的是两个点在标准坐标系上绝对轴距之和,是种使用在几何度量空间的几何学用语。

例如在平面上,坐标(x1, y1)的i点与坐标(x2, y2)的j点的曼哈顿距离为:
d(i,j)=|X1-X2|+|Y1-Y2|

如图所示,很直接明了的理解欧氏距离和曼哈顿距离: image.png
图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。

欧氏距离和曼哈顿距离的Python实现:

import numpy as npdef manhattan_distance(vec1, vec2):"""This method implements the manhattan distance metric:param p_vec: vector one:param q_vec: vector two:return: the manhattan distance between vector one and two"""return np.sum(np.fabs(vec1 - vec2))def edclidean_distance(vec1, vec2):"""This method implements the edclidean distance metric:param vec1: vector one:param vec2: vector two:return: the edclidean distance between vector one and two"""# 方法一distance = np.sqrt(np.sum(np.square(vec1 - vec2)))# method 2dist = np.linalg.norm(vec1 - vec2)return distance
32.简要说说一个完整的机器学习项目流程
  • 抽象成数学问题:
    明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。

  • 获取数据:
    数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。数据要有代表性,否则必然会过拟合。而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。

  • 特征预处理与特征选择:
    良好的数据要能够提取出良好的特征才能真正发挥效力。特征预处理、数据清洗是很关键的步骤,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。

  • 训练模型与调优:
    直到这一步才用到我们上面说的算法进行训练。现在很多算法都能够封装成黑盒供人使用。但是真正考验水平的是调整这些算法的(超)参数,使得结果变得更加优良。这需要我们对算法的原理有深入的理解。理解越深入,就越能发现问题的症结,提出良好的调优方案。
    模型诊断:如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术。过拟合、欠拟合判断是模型诊断中至关重要的一步。常见的方法如交叉验证,绘制学习曲线等。过拟合的基本调优思路是增加数据量,降低模型复杂度。欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度。误差分析 也是机器学习至关重要的步骤。通过观察误差样本,全面分析误差产生误差的原因:是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题。诊断后的模型需要进行调优,调优后的新模型需要重新进行诊断,这是一个反复迭代不断逼近的过程,需要不断地尝试, 进而达到最优状态。

  • 模型融合:
    一般来说,模型融合后都能使得效果有一定提升。而且效果很好。工程上,主要提升算法准确度的方法是分别在模型的前端(特征清洗和预处理,不同的采样模式)与后端(模型融合)上下功夫。因为他们比较标准可复制,效果比较稳定。而直接调参的工作不会很多,毕竟大量数据训练起来太慢了,而且效果难以保证。 上线运行:这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。这些工作流程主要是工程实践上总结出的一些经验。并不是每个项目都包含完整的一个流程。这里的部分只是一个指导性的说明,只有大家自己多实践,多积累项目经验,才会有自己更深刻的认识。

33.Python机器学习一些必要的库
  • 包括:Numpy,Scipy,matplotlib,pandas,IPython,scikit-learn等等
34.库的基本使用
  • 1.Numpy-科学计算库
import numpy
i = numpy.array([[520,13,14],[25,9,178]])
print("i:\n{}".format(i))
  • 2.Scipy-强大的科学计算工具集
import numpy as np   #取别名np
from scipy import sparsematrix = np.eye(6)  #eye函数生成6*6矩阵,其中对角线为1
sparse_matrix = sparse.csr_matrix(matrix) #吧np数值转换成csr格式的scipy稀疏矩阵(只会存取非0的元素)
print("对角矩阵:\n{}".format(matrix))
print("稀疏矩阵: \n{}".format(sparse_matrix))
  • 3.pandas-数据分析的利器
import pandas
import numpy as np
import matplotlib.pyplot as pltdata ={"Name":["小米","小红","小面","小张"],"City":["北京","上海","广州","深圳"],"Age":["28","29","26","30"]}data_frame = pandas.DataFrame(data)
display(data_frame)display(data_frame[data_frame.City!="北京"])x = np.linspace(-20,20,10)
y = x**3 + 2*x**2 + 6*x +5plt.plot(x,y,marker = "o")
plt.show()
35.为何选择Python
  • 解释型语言,上手快,很少的代码实现功能。

通常我们这么用:

自动化测试

自动化运维

测试开发

爬虫

大数据分析

科学计算

AI人工智能

机器学习和数据分析本质上都是迭代过程,由数据驱动分析。这些过程必须要有快速迭代和易于交互的工具。

36.正则化方法
  • 正则化方法是其他算法(回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。基于正则化方法的扩展 (典型是基于regression回归方法) 可能比较复杂,越简单可能会利于推广,下面列出的正则化方法是因为它们比较流行 强大简单。

    岭回归数值计算方法 Ridge Regression
    至少绝对的收缩和选择算子 LASSO
    弹性网络 Elastic Net

38.决策树算法
  • 决策树方法是建立一种基于数据的实际属性值的决策模型。决策使用树型结构直至基于一个给定记录的预测决策得到。决策树的训练是在分类和回归两方面的数据上进行的。

    分类回归树 Classification and Regression Tree ,CART
    迭代二叉树3代 Iterative Dichotomiser 3 ,ID3
    卡方自动交互检测 CHAID
    多元自适应回归样条 MARS
    梯度推进机 Gradient Boosting Machines ,GBM
    单层决策树 Decision Stump

39.降维方法
  • 类似群集clustering方法, 降维是寻求和利用数据的内在结构,但在这种情况下,使用无监督的方式只能较少的信息总结或描述数据。以监督方式使用是有用的,能形成可视化的三维数据或简化数据。

    主成分分析 Principal Component Analysis ,PCA
    偏最小二乘回归 Partial Least Squares Regression ,PLS
    萨蒙映射 Sammon Mapping
    多维尺度 Multidimensional Scaling ,MDS
    投影寻踪 Projection Pursuit

40.关联规则学习
  • 关联规则的学习方法是提取那些能解释观察到的变量之间的数据关系的规则。这些规则可以用于在大型多维数据集里,以便能发现重要的和商业上对某个组织或公司有用的的关联。

    关联规则的挖掘过程主要包括两个阶段:第一阶段为从海量原始数据中找出所有的高频项目组;第二极端为从这些高频项目组产生关联规则。关联规则挖掘技术已经被广泛应用于金融行业企业中用以预测客户的需求,各银行在自己的ATM 机上通过捆绑客户可能感兴趣的信息供用户了解并获取相应信息来改善自身的营销。
    Apriori 算法
    Eclat 算法

更多推荐

机器学习(面试题)及知识点

本文发布于:2024-02-07 04:31:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753566.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识点   面试题   机器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!