机器学习中遇到的一些问题

1、人工智能与计算机视觉的关系?

感知智能(perception):Speech Vision
认知智能(cognitive): NLP

2、深度学习兴起的标志性事件?

2006 Hinton layer-by-layer 可以训练深度网络

3、怎么区分机器学习和数学?

机器学习的模型选择是有假设空间的,这个假设空间取决于人的经验。如果模型的假设空间有问题,那么拟合出的模型的范化能力就会差。

4、机器学习算法研究常说的“没有免费的午餐”是什么意思?

没有一个机器学习模型能在所有的情况下表现良好。机器学习算法都有一定的局限性.

5、深度学习监督学习两类任务( Discriminative model VS generative model, 分类和回归) 内在联系?

可以相互转化,通过条件概率的公式。

6、深度学习模型设计可以在哪些方面考虑创新?

拓扑图(网络结构)、层函数(layer function,pooling 、flatten)、超参数、优化算法等。

7、ImageNet挑战赛难点体现在什么地方?

类间差小,同类多分布,计算资源受限

8、机器学习应用部署落地的难点?

部署机器学习应用通常比部署传统软件应用程序更复杂,因为引入了一个额外的变化维度。虽然典型的软件应用程序可以更改其代码和数据,但是机器学习应用程序还需要处理模型的更新。模型更新的速度甚至可以非常高,因为模型需要定期地根据最新的数据进行再训练。

9、什么是数据标准化,为什么要进行数据标准化?

我认为这个问题需要重视。数据标准化是预处理步骤,将数据标准化到一个特定的范围能够在反向传播中保证更好的收敛。一般来说,是将该值将去平均值后再除以标准差(sklearn.StandardScaler)。如果不进行数据标准化,有些特征(值很大)将会对损失函数影响更大(就算这个特别大的特征只是改变了1%,但是他对损失函数的影响还是很大,并会使得其他值比较小的特征变得不重要了)。因此数据标准化可以使得每个特征的重要性更加均衡。

10、解释什么是降维,在哪里会用到降维,它的好处是什么?

降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。而特征的重要性取决于该特征能够表达多少数据集的信息,也取决于使用什么方法进行降维。而使用哪种降维方法则是通过反复的试验和每种方法在该数据集上的效果。一般情况会先使用线性的降维方法再使用非线性的降维方法,通过结果去判断哪种方法比较合适。而降维的好处是:
(1)节省存储空间;
(2)加速计算速度(比如在机器学习算法中),维度越少,计算量越少,并且能够使用那些不适合于高维度的算法;
(3)去除一些冗余的特征,比如降维后使得数据不会既保存平方米和平方英里的表示地形大小的特征;
(4)将数据维度降到2维或者3维使之能可视化,便于观察和挖掘信息。
(5)特征太多或者太复杂会使得模型过拟合。
sklean包中对应的降维方式有PCA和LDA两种方法, 降维和特征选择起到的作用接近.而sklearn包中对应的特征选择的方法有三种:selectKBest、RFE、SelectFromModels

11、数据缺失处理?

数据中可能会有缺失值,处理的方法有两种,一种是删除整行或者整列的数据,另一种则是使用其他值去填充这些缺失值。在Pandas库,有两种很有用的函数用于处理缺失值:isnull()和dropna()函数能帮助我们找到数据中的缺失值并且删除它们。如果你想用其他值去填充这些缺失值,则可以是用fillna()函数。
from sklearn.preprocessing import Imputer(feature_categories, strategy)

12、你会如何进行探索性数据分析(EDA)?

EDA的目的是去挖掘数据的一些重要信息。一般情况下会从粗到细的方式进行EDA探索。一开始我们可以去探索一些全局性的信息。观察一些不平衡的数据,计算一下各个类的方差和均值。看一下前几行数据的信息,包含什么特征等信息。使用Pandas中的df.info()去了解哪些特征是连续的,离散的,它们的类型(int、float、string)。接下来,删除一些不需要的列,这些列就是那些在分析和预测的过程中没有什么用的。
比如:某些列的值很多都是相同的,或者这些列有很多缺失值。当然你也可以去用一些中位数等去填充这些缺失值。然后我们可以去做一些可视化。对于一些类别特征或者值比较少的可以使用条形图。类标和样本数的条形图。找到一些最一般的特征。对一些特征和类别的关系进行可视化去获得一些基本的信息。然后还可以可视化两个特征或三个特征之间的关系,探索特征之间的联系。
你也可以使用PCA去了解哪些特征更加重要。组合特征去探索他们的关系,比如当A=0,B=0的类别是什么,A=1,B=0呢?比较特征的不同值,比如性别特征有男女两个取值,我们可以看下男和女两种取值的样本类标会不会不一样。
另外,除了条形图、散点图等基本的画图方式外,也可以使用PDF\CDF或者覆盖图等。观察一些统计数据比如数据分布、p值等。这些分析后,最后就可以开始建模了。
一开始可以使用一些比较简单的模型比如贝叶斯模型和逻辑斯谛回归模型。如果你发现你的数据是高度非线性的,你可以使用多项式回归、决策树或者SVM等。特征选择则可以基于这些特征在EDA过程中分析的重要性。如果你的数据量很大的话也可以使用神经网络。然后观察ROC曲线、查全率和查准率。

13、什么是batch normalization,原理是什么?

Batch Normalization就是在训练过程,每一层输入加一个标准化处理。**深度神经网络之所以复杂有一个原因就是由于在训练的过程中上一层参数的更新使得每一层的输入一直在改变。**所以有个办法就是去标准化每一层的输入。具体归一化的方式如下图,如果只将归一化的结果进行下一层的输入,这样可能会影响到本层学习的特征,因为可能该层学习到的特征分布可能并不是正态分布的,这样强制变成正态分布会有一定影响,所以还需要乘上γ和β,这两个参数是在训练过程学习的,这样可以保留学习到的特征

在这里插入图片描述
神经网络其实就是一系列层组合成的,并且上一层的输出作为下层的输入,这意味着我们可以将神经网络的每一层都看成是以该层作为第一层的小型序列网络。这样我们在使用激活函数之前归一化该层的输出,然后将其作为下一层的输入,这样就可以解决输入一直改变的问题。

14、代价函数、目标函数、损失函数的区别?

代价函数: Cost function,所有训练样本损失的平均值(绝对值不容易求导,所以使用平方)
目标函数: Object function,训练的最终函数。代价函数+正则化项
损失函数: Loss function,一个样本的误差

15、第一代激活函数?

单层感知器:最开始的激活函数是符号函数sign()

16、随机森林和bagging方法的区别?

随机森林相比于bagging模型集成,其区别主要在于,在数据选择特征选择的时候都是随机的,增加了模型的异化, 提升样本被抽样的概率.

17、一句话理解统计学两大门派?

古典统计学派, 贝叶斯学派, 矛盾点在于是否承认先验概率.
贝叶斯是所有(我接触到的)机器学习模型中,理论性最强的,和统计学息息相关。做NLP的基础算法.

发布了48 篇原创文章 · 获赞 29 · 访问量 3025

猜你喜欢

转载自blog.csdn.net/weixin_35894210/article/details/104963149