考研复试问题/面试问题——机器学习(1)(入门系列)

这篇具有很好参考价值的文章主要介绍了考研复试问题/面试问题——机器学习(1)(入门系列)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

奥卡姆剃刀原理

若非需要,勿增实体,当所有的理论都能解释现象,那么就选择最简单的。

没有免费的午餐定理(NFL原则)

不好比较哪个算法好、如果a算法在某方面比B算法表现良好的话,必存在其他问题使B比A的表现好。

什么是机器学习?

我们日常中的程序就像命令一样指导计算机去做什么,而机器学习是以数据而非命令为基础的非显示编程,前者注重因果,后者注重关联。机器学习是人工智能的核心,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构从而不断改善自身的性能。
从实践的意义上来说,机器学习算法利用已有数据或经验(有标签和无标签的样本),训练某种模型,并利用此模型对未来数据进行预测(标记新样本数据)。
应用场景:搜广推(搜索+广告+推荐)

监督学习和无监督学习的区别(根据有无标签进行分类)

有监督学习:数据集由目标值和特征值组成,或者说是有标签的数据,模型从目标值中去学习,常见的有线性回归、逻辑回归、神经网络
无监督学习:无监督学习的训练集中没有人为的标注的结果,学习模型就是为了推断出数据的一些内在结构。常见的有聚类、异常检测、降维,
半监督学习(SSL):为了减少监督学习中给训练数据做标记的工作量,是监督学习与无监督学习相结合的一种学习方法,训练数据中有部分数据是有标记的,有部分数据没有标记

机器学习常见问题(根据功能进行分类)

回答思路:定义+常见应用+常见算法

(1)回归

是一种监督学习算法。给定一个样本特征,希望预测其对应的属性值, 如果预测值是连续的实数, 这就是一个回归问题,在回归问题中,我们学习出拟合样本分布的曲线。例如房屋价格预测。回归问题常用的算法有线性回归、岭回归、回归树模型KNN(K近邻)算法等。
Sklearn:

(2)分类

是一种监督学习算法。给定一个样本特征,希望预测其对应的属性值, 如果是离散的, 那么这就是一个分类问题,包括二分类、多分类、多标签分类。分类问题中,我们学习出来一条「决策边界」完成数据区分,对于大多数实际应用,模型会通过softmax函数输出每一个类别的概率,然后选取置信度(概率)最大的类别输出。例如判断是否为垃圾邮件、是否患癌症等
常用的算法包括: KNN(K近邻)算法、逻辑回归算法、朴素贝叶斯算法、决策树模型、随机森林分类模型、GBDT模型、XGBoost模型、支持向量机(SVM)模型、神经网络等

(3)聚类

是一种无监督学习算法,给定一组样本特征, 我们没有对应的属性值 , 而是想发掘这组样本在多维空间的分布, 比如分析哪些样本靠的更近,哪些样本之间离得很远, 这就是属于聚类问题。其目的是将相似的数据点划分到同一类别中,从而形成多个互不相同的类别。常见的应用如谷歌新闻聚类、DNA序列检测、根据顾客行为进行市场分类、天文数据分析。常用的算法为K-means算法、层次聚类、DBSCAN

(4)降维

是一种无监督学习算法,如果我们想用维数更低的子空间来表示原来高维的特征空间, 那么这就是降维问题。例如主成分分析法PCA

你认为你本科学的数学有哪些会用到机器学习中?

(1)函数:
针对不同的问题和任务需要选取恰当的模型,模型就是一组函数的集合,例如线性回归中的多元线性函数、逻辑回归中的s型函数、神经网络中的激活函数。
判断这个函数的好坏,需要一个衡量标准,也就是我们通常说的损失函数(Loss Function),它也需要依据具体问题而定,如回归问题一般采用欧式距离,分类问题一般采用交叉熵代价函数。
如何确定参数使代价函数最小可以使用梯度下降算法,最小二乘法等和其他一些技巧(tricks)
(2)线性代数:矩阵化vectorization,比方说现在某个线性回归特征值和样本很多,当我们在计算预测值和真实值差的平方的时候,采用循环和矩阵乘法所需要的时间差距很大。我表达不太准确,但是我之前调用过time函数看过他们之间的差距,dot函数时候numpy库里的,numpy底层是由c++实现的,加上一些硬件支持会快很多。
(3)概率论:正态分布
(4)统计学:比方说逻辑回归里的代价函数就根据极大似然估计的统计原理推导出来的,误差=均差+偏差
(5)优化:优化中的凸优化和微积分中的偏导数衍生出梯度下降的方法得到代价函数最小值
(6)信息论:熵、基尼系数

机器学习开发流程

首先确定系统的架构,这决定了需要选择什么样的机器学习模型以及需要收集什么样的数据
接下来的开发流程主要分为五步,分别是:数据收集和预处理、特征工程、模型的选择和训练、模型评估和优化以及模型测试。
(1)数据收集和预处理:确定需要哪些数据来训练你的学习器。收量足够数量的猫狗图片作为训练数据集,可以从公共数据集中获取,也可以自己收集标注。对数据进行数据编码、无量纲化等预处理操纵,并将数据集分为训练集和测试集,
(2)特征工程:
(3)模型的选择和训练:模型的选择需要我们掌握各个模型的特点,根据需要完成的任务目标选择合适的学习模型,并在训练集上进行训练。
(4)模型评估和优化: 从训练集中划分出验证集,使用验证集对训练好的模型进行评估,如计算准确率,精确率,召回率等指标。也可以绘制学习曲线,观察偏差和方差,并且进行误差分析,根据诊断结果调整模型,对训练过程进行优化,如调整学习率、增加正则化项、修改网络结构、增加样本数量等,以提高模型性能。因此这个过程中可能需要去收集更多的数据,即重新进行第前四步,通常要在这个循环中进行多次迭代才能达到想要的性能。
(5)模型测试:使用测试集对模型进行最终测试,得到最终的识别效果。
最后,在生产环境中部署,部署之后意味着用户可以使用它了,部署之后要确保你可以持续监控系统的性能和维护系统,如果系统在实践中性能不好就要回到第一步。

数据预处理

定义:从数据中检测、纠正、删除损坏的不准确的或者不适用于模型记录的过程
目的:去除噪音,让数据适应模型,匹配模型的需求
方法:数据清理,数据集成,数据变换,数据编码、数据归约、特征提取、缺失值/异常值的处理
数据预处理可以通过sklearn来实现:
(1)模块preprocessing:几乎包含数据预处理的所有内容。
(2)模块Impute:填补缺失值专用。
(3)模块feature_selection:包含特征选择的各种方法的实践》
(4)模块decomposition:包含降维算法

(1)数据清理

清洗“脏数据”,包括检查数据一致性,处理无效值和缺失值等。impute.SimpleImputer缺失值填补

(2)数据集成

(3)数据变换

包括数据无量纲化(标准化和归一化)和正则化
不属于同一量纲指的是特征的规格不一样,不能够放在一起比较。数据无量纲化(标准化和归一化)可以解决这一问题,将不同规格的数据转换为统一规格,或者是将不同分布的数据转换为某个特定分布的需求。
线性的无量纲化包括中心化处理(让所有的记录减去一个固定值)和缩放处理(除以一个固定值)例如归一化是将数据按最小值中心化,再按极差缩放,数据收敛到[0,1]之间

特征缩放的原因:为了使不同的特征值对输出的影响相近。特征值取值范围差异较大时会使梯度下降运行很慢,通过重新缩放这些特征,使它们具有相近的尺度(无量纲化:包括归一化、标准化。),使梯度下降时参数的更新更加容易、有效,可显著加快梯度下降的速度。

preprocessing.MinMaxScaler:归一化,将原始数据映射到一个区间内(通常是[0,1]),异常值可能会影响归一化。数据预处理代码_
归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。

preprocessing.StandardScaler:标准化,数值服从正态分布,平均为0,标准差为1。
标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。
标准化方式:L1L2范数标准化、(L1范数生成稀疏矩阵,L2可以利用正则化防止过拟合)

(4)数据编码

包括离散数据编码(定性特征转化为定量特征,定性特征不能直接使用)、连续数据编码(信息冗余)

连续数据编码
sklearn.preprocessing.Binarize定量特征二值:核心在于设定一个阈值,将连续性变量根据阈值转化为二进制离散变量(大于阈值的赋值为1,小于等于阈值的赋值为0)。
preprocessing.KBinsDiscretizer:设置多个阈值将连续型变量根据阈值转换成K进制离散变量。

离散数据编码
preprocessing.LabelEncoder:标签专用,能够将分类转换为分类离散数值
preprocessing.OrdinalEncoder:特征专用,能够将分类特征转换为分类离散数值
preprocessing.OneHotEncoder:把离散数值转换成独热编码,创建哑变量

常见编码方式
(1)手动为每一种定性值直接指定一个定量值,但是这种方式过于灵活,增加了调参的工作。
(2)哑编码(dummy encoding):基于数据集的某一特征的N个状态值,用N-1位编码来作区别
婴儿 幼儿 少年 青年 中年 老年
10000 01000 00100 00010 00001 00000
前五个状态每一个状态位代表当前状态是否激活,1为激活,0为未激活。五个状态位都为未激活的状态,则默认为第六个状态。
对于线性模型来说,使用哑编码后的特征可达到非线性的效果。)
(3)独热编码(one-hot encoding):基于数据集的某一特征的N个状态值,用N位编码来作区别
婴儿 幼儿 少年 青年 中年 老年
100000 010000 001000 000100 000010 000001
其中每一个状态位代表当前状态是否激活,1为激活,0为未激活。

(5)数据归约

寻找依赖于发现目标的数据的有用特征,以缩减数据规模,从而在尽可能保持数据原貌的前提下,最大限度地精简数据量。

特征工程

特征值可能存在的问题/为什么需要特征工程?
特征之间有相关性,特征和标签无关,特征太多或太少,或者干脆就无法表现出应有的数据现象或无法展示数据的真实面貌,信息利用率低(不同的机器学习算法和模型对数据中信息的利用是不同的,对定量变量多项式化,或者进行其他的转换,都能达到非线性的效果。)
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

定义:特征工程是将原始数据转换为更能代表预测模型的潜在问题的特征的过程,其本质是一项工程活动,可以通过挑选最相关的特征,提取特征以及创造特征来实现。其中创造特征又经常以降维算法的方式实现。

目的:降低计算成本,提升模型上限(最大限度地从原始数据中提取特征以供算法和模型使用。

方法:特征提取、特征预处理、特征升维、特征降维

(1)特征提取(特征编码)

属于数据预处理:将任意数据转换为可用于机器学习的数字特征。例如字典型特征提取、文本型特征提取。

(2)特征预处理

预先处理,包括归一化标准化、异常样本清洗、样本数据不平衡问题处理。

(3)特征创造(特征升维)

在现有的少量特征的基础之上,创造新的特征。

(4)特征选择(特征降维)

在现有的海量特征的基础之上,选择有限的、少部分的特征。
降低的对象是多维数组。降低的是特征的个数,得到一组“不相关”的主变量的过程文章来源地址https://www.toymoban.com/news/detail-845342.html

到了这里,关于考研复试问题/面试问题——机器学习(1)(入门系列)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能技术基础系列之:机器学习基础

    作者:禅与计算机程序设计艺术 在互联网的飞速发展和计算机的高计算性能的驱动下,人工智能迎来了新的时代。机器学习作为人工智能领域的一个重要分支,是实现这一目标的一种方法。本文将从机器学习的基本概念出发,介绍机器学习的一些基本术语、概率论基础、算法

    2024年02月07日
    浏览(58)
  • 架构师必知必会系列:人工智能与机器学习架构

    作者:禅与计算机程序设计艺术 机器学习(ML)是一个正在蓬勃发展的新领域,它可以用来解决复杂的问题、提升产品的性能、改善用户体验等方面的应用场景。随着机器学习技术的不断进步,越来越多的公司和个人将人工智能(AI)技术纳入到自己的产品或服务中,实现更加智

    2024年02月08日
    浏览(49)
  • 计算机复试专业课面试问题锦集

    本文说明:本文以简答题为主,大家可以对照复习,内容均来自网络,部分自己进行了详解,请大家自行找对应章节进行学习,并指出文章内容错误,谢谢! 1、数组和链表的区别。 从逻辑结构上来看 ,数组必须实现定于固定的长度,不能适应数据动态增减的情况,即数组的

    2024年03月25日
    浏览(64)
  • 真假阳性问题:可解释性机器学习与人工智能

    在过去的几年里,人工智能(AI)和机器学习(ML)技术已经取得了显著的进展,这些技术在各个领域得到了广泛的应用。然而,随着这些技术的发展,一个重要的问题也逐渐凸显:真假阳性问题。真假阳性问题是指在预测或分类任务中,模型预测为正例(阳性)的样本实际上是否确实

    2024年04月28日
    浏览(38)
  • 考研复试-上机考试备考

    上机真题 2016年 1.编写黑洞数计算过程

    2024年02月04日
    浏览(61)
  • 考研复试——线性代数(2)

    1. 什么是矩阵的秩?如何计算一个矩阵的秩? 矩阵的秩是指 矩阵中线性无关的行或列的最大数量 。具体地说,矩阵的秩等于它的行最简形式或列最简形式中非零行或非零列的数量。 计算矩阵的秩有多种方法,以下是两种常用的方法: 高斯消元法 :将矩阵通过 初等变换 化

    2024年02月16日
    浏览(44)
  • 考研复试——线性代数

    由于考研复试的面试老师可能会问一些数学问题,一位学长也跟我说,研究生要不断地和线性代数和概率论打交道,可能这就是老师喜欢问数学问题的原因吧,这里整理一下。 合同矩阵: 余子式: n 阶行列式中,划去元 aij所在的第 i 行与第 j 列的元,剩下的元不改变原来的

    2024年02月19日
    浏览(43)
  • 考研复试——概率论

    因为初试考的数二,没有学概率论,要从头学习时间也不够,只能先整理一些重要的概念,希望能应对面试的问答。 1. 大数定律 大数定律(Law of Large Numbers)是概率论中的一组定理,它描述了 随机事件重复试验的平均结果将趋近于事件的期望值 。 简单来说,当试验次数无限

    2023年04月09日
    浏览(39)
  • Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能

    安装 Python 环境,选择一个 IDE,如 PyCharm、VSCode等。 安装 Python 环境是使用 Python 进行编程的第一步。Python 官网提供了 Windows、Linux 和 macOS 等主流操作系统的安装包,可以前往官网下载对应版本的 Python 并进行安装。 在安装完 Python 后,需要使用 pip 工具对常用的第三方库进行

    2024年02月09日
    浏览(71)
  • 考研复试单片机常见问答

    以下均来自于网络收集,侵删。 振荡周期 :是指为单片机提供时钟信号的震荡源的周期。 机器周期 :常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作,完成一个基本操作所需要的时间称为机器周期。 指令周期 :一条指令

    2024年04月23日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包