如你所知,数据科学和机器学习必须提供无穷无尽的信息和知识。话虽如此,大多数公司只测试少数几个核心想法。这是因为这十个概念是更复杂的想法和概念的基础。话虽如此,我们开始吧!1.监督学习与非监督学习你可能想知道为什么我还要费心把它放进去,因为它是如此基础。但是,我认为您真正了解两者之间的差异并能够传达差异非常重要:监督学习涉及在感兴趣变量已知的标记数据集上进行学习。无监督学习用于在不参考标记结果(无目标变量)的情况下从输入数据中得出推论和寻找模式。了解了两者的区别之后,您应该知道机器学习模型是有监督的还是无监督的,您还应该知道给定的场景是否需要有监督或无监督的学习算法。比如我要预测一个顾客是否已经购买了麦片,那么他是否需要购买牛奶,这需要有监督或无监督的学习算法吗?2.偏差-偏差权衡为了理解偏差-方差权衡,您需要知道的是偏差和方差。偏差是由于模型的简化假设而导致的错误。例如,使用简单线性回归对病毒的指数增长进行建模将导致高偏差。方差是如果使用不同的训练数据,预测值将发生变化的量。换句话说,更关注训练数据的模型将具有更大的方差。现在,偏差-方差权衡本质上表明,在给定的机器学习模型中,偏差量与方差之间存在反比关系。这意味着当您减少模型的偏差时,方差会增加,反之亦然。但是,有一个最佳点,即一定量的偏差和方差会导致最小的总误差(见下文)。>偏差方差权衡的可视化(作者创建)3.正则化最常见的正则化方法类型称为L1和L2。L1和L2正则化都是用于减少训练数据过度拟合的方法。L2正则化(也称为岭回归)最小化残差平方加上λ乘以平方斜率的总和。这个额外的术语称为“脊回归惩罚”。这增加了模型的偏差,使训练数据的拟合变差,但也降低了方差。如果采用岭回归惩罚并将其替换为斜率的绝对值,则会得到套索回归或L1正则化。L2不太健壮,但有一个稳定的解决方案,并且始终是一个解决方案。L1更稳健,但解不稳定,可能有多个解。4.交叉验证交叉验证本质上是一种用于评估模型在新的独立数据集上的性能的技术。交叉验证的最简单示例是将数据分为三类:训练数据、验证数据和测试数据,其中训练数据用于构建模型,验证数据用于调整超参数,测试数据用于用于评估您的最终模型。这就引出了下一点——机器学习模型的评估指标。5.评估指标您可以选择多种指标来评估您的机器学习模型,最终选择的指标取决于问题的类型和模型的目标。如果您正在评估回归模型,重要指标包括:R平方:一种度量,告诉您因变量中有多少方差由自变量中的方差解释。简而言之,虽然系数估计趋势,但R平方表示最佳拟合线周围的分散。调整后的R平方:添加到模型中的每个额外自变量总是会增加R2值-因此具有多个自变量的模型似乎更适合,即使事实并非如此。因此,调整后的R2补偿了每个额外的独立变量,并且仅在每个给定变量改进模型超出概率时才增加。平均绝对误差(MAE):绝对误差是预测值与实际值之间的差异。因此,平均绝对误差是绝对误差的平均值。均方误差(MSE):均方误差或MSE与MAE类似,不同之处在于您对预测值和实际值之间的平方差进行平均。分类模型的指标包括:TrueNegatives:模型正确预测负类的结果。假阳性(类型1错误):模型错误地预测了阳性类的结果。假阴性(类型2错误):模型错误地预测了负类的结果。准确性:等于模型正确预测的分数。回忆:尝试回答“正确识别的实际阳性的比例是多少?”精度:尝试回答“正确识别的阳性比例是多少?”和谐的意思。它的最高得分为1(完美的准确率和召回率),最低得分为0。总的来说,它是衡量模型准确率和鲁棒性的指标。AUC-ROC曲线是分类问题的性能度量,它告诉我们模型区分多个类别的能力。AUC越高表示模型越准确。6.降维降维是减少数据集中特征数量的过程。如果您试图减少模型中的方差(过度拟合),这很重要。最流行的降维技术之一是主成分分析或PCA。从最简单的意义上讲,PCA涉及将高维数据(比如3维)投影到更小的空间(比如2维)。这导致数据的维度较低(2D而不是3D),同时保留模型中的所有原始变量。PCA通常用于压缩目的,以减少所需的内存并加快算法速度,也用于可视化目的,以便更容易地汇总数据。7.数据准备数据准备是清理原始数据并将其转换为更有用状态的过程。在面试过程中,您可能会被要求列出您在整理数据集时采取的一些步骤。数据准备中一些最常见的步骤包括:检查异常值并可能删除它们估算缺失数据编码分类数据规范化或规范化数据特征工程通过对数据进行欠采样或过采样来处理数据不平衡8.自举抽样Bootstrap抽样方法是一个非常简单的概念,是一些更高级的机器学习算法(如AdaBoost和XGBoost)的构建块。从技术上讲,bootstrap抽样法是一种使用随机抽样进行替换的重采样方法。如果这听起来令人困惑,请不要担心,让我用一张图来解释一下:假设您有一个包含3个观察值的初始样本。使用引导抽样方法,您还将创建一个包含3个观测值的新样本。每个观察被选中的机会均等(1/3)。在这种情况下,第二个观察值是随机选择的,它将是我们新样本中的第一个观察值。随机选择另一个观察后,您选择了绿色观察。最后,再次随机选择黄色观察值。请记住,自举抽样是使用有放回的随机抽样进行抽样。这意味着很有可能再次选择已经选择的观测值。这就是引导抽样的本质!9.神经网络虽然不是每个数据科学工作都需要深度学习,但毫无疑问,这种需求正在增长。因此,对什么是神经网络及其工作原理有一个基本的了解可能是个好主意。从根本上说,神经网络本质上是一个数学方程式网络。它采用一个或多个输入变量,并通过方程网络导出一个或多个输出变量。在神经网络中,有一个输入层、一个或多个隐藏层和一个输出层。输入层由一个或多个特征变量(或输入变量或自变量)组成,表示为x1,x2,...,xn。隐藏层由一个或多个隐藏节点或隐藏单元组成。节点只是上图中的圆圈之一。同样,输出变量由一个或多个输出单元组成。就像我一开始说的,神经网络不过是方程网络。神经网络中的每个节点都包含两个函数,一个线性函数和一个激活函数。事情在这里可能会变得有点混乱,但现在,将线性函数视为最适合的直线。另外,将激活函数想象成一个电灯开关,使数字介于1或0之间。10.集成学习、装袋、提升一些最好的机器学习算法结合了这些术语,因此,您必须了解什么是集成学习,Bagging和Boosting是。集成学习是一种结合使用多种学习算法的方法。这样做的方式可以实现比单独的单个算法更高的预测性能。Bagging,也称为bootstrap聚合,是使用来自原始数据集的bootstrap样本训练相同学习算法的多个模型的过程。然后,就像上面的随机森林示例一样,对所有模型的输出进行投票。>BaggingProcess(由作者创建)Boosting是bagging的一种变体,其中每个单独的模型按顺序构建并迭代前一个模型。具体来说,任何被先前模型错误分类的数据点在以下模型中得到强调。这样做是为了提高模型的整体准确性。下面是一个图表,可以使该过程更有意义:>增强过程(由作者创建)一旦构建了第一个模型,除了第二个引导样本之外,还获得错误分类/预测点以训练第二个模型。然后,针对测试数据集使用集成模型(模型1和2)并继续该过程。
