机器学习面试-常见题目

文章目录

  • 一、框架问题
    • 1. 监督学习和无监督学习有什么不同?
    • 2. 什么是深度学习,它与机器学习算法之间有什么联系?
    • 3. 如何评估机器学习模型的有效性?
    • 4. 如何确保模型没有过拟合?
    • 5. 什么是核技巧,有什么用处?
  • 二、评价指标问题
  • 三、算法思路问题
    • 1. KNN和 k-means 聚类由什么不同?
    • 2. 生成模型与判别模型有什么区别?
    • 3. 决策树的基本原理及如何剪枝?
  • 四、经典统计问题
    • 1. 概率和似然有什么区别?
    • 4. 第一类误差和第二类误差有什么区别?
    • 2. 什么是贝叶斯定理?它在机器学习环境中如何有用?
    • 3. 为什么我们要称“朴素”贝叶斯?
    • 4. L1、L2正则之间有什么不同?
  • 五、应用及主观问题
    • 1. 如何处理一个不平衡的数据集?
    • 2. 举个例子,说明使用集成学习会很有用。
    • 3. 如何处理数据集中丢失或损坏的数据?
    • 4. 你在机器学习方面有研究经验吗?
    • 5. 你最喜欢的机器学习模型的用例是什么?
    • 6. 您通常在哪里寻找数据集?
    • 7. 模型的精度和模型的性能哪个对你更重要?

一、框架问题

1. 监督学习和无监督学习有什么不同?

监督学习用于训练有标记(label)的数据,主要实现分类、回归等任务;无监督学习训练无标记的数据,主要实现聚类的任务。

  • 有标记的数据:Y=X1+X2+X3+…+Xn;Y是分类、是标记label、是“监督者”
  • 无标记的数据:X1, X2, X3,…,Xn;变量在同一水平,没有“首领”

2. 什么是深度学习,它与机器学习算法之间有什么联系?

深度学习是与神经网络有关的机器学习的一个子集:如何使用反向传播和神经科学中的某些原理来更精确地建模大量未标记或半结构化数据。从这个意义上说,深度学习是一种无监督的学习算法,它通过使用神经网络来学习数据的表示。

3. 如何评估机器学习模型的有效性?

首先需要将数据分成训练集和测试集,或者使用给交叉验证方法分割。然后需要选择度量模型表现的metrics,如F1数、准确率、混淆矩阵等。更重要的是,根据实际情况你需要理解模型度量的轻微差别,以便于选择正确的度量标准。

4. 如何确保模型没有过拟合?

过度拟合的训练数据以及数据携带的噪音,对于测试数据会带来不确定的推测。有如下三种方法避免过拟合:

  1. 保持模型尽可能地简单:通过考量较少的变量和参数来减少方差,达到数据中消除部分噪音的效果。
  2. 使用交叉检验的手段如:k折交叉验证。
  3. 使用正则化的技术如:如果某些模型参数可能导致过度拟合,可以使用 LASSO 等正则化技术来惩罚这些参数。

5. 什么是核技巧,有什么用处?

核技巧指的是使用核函数后,在高维空间中不需要明确计算点的坐标,只需要计算数据的特征空间中的内积。核技巧有一个很有用的属性:让高维空间中点坐标的计算变得更容易。

许多算法都可以表示成这样的内积形式,使用核技巧可以保证低维数据在高维空间中运用算法进行计算。

二、评价指标问题

1. 什么是偏差(bias)、方差(variable)之间的均衡?

Bias 是由于使用过于简单的或者错误的算法模型导致的错误。它反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即算法本身的拟合能力。Bias 过大反应出模型可能欠拟合,难以具有较高的预测准确性,也很难将模型从训练集推广到测试集。

Variance 是由于算法过于复杂而产生的错误。它反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。反应预测的波动情况。Variance 过高会导致算法对训练数据的高纬度变化过于敏感,这样会导致模型过度拟合数据。从而模型会从训练集里带出太多噪音,这会对测试数据有一定的干扰。

Bias-Variance 的分解,本质上是通过添加偏差、方差和一点由噪声引起的不可约误差,来分解算法上的学习误差。从本质上讲,如果模型更复杂、且有更多变量,便将会失去一些 Bias,但会获得一些 Variance,这就是我们所说的权衡(trade-off)。这也是为什么我们在建模的过程中,很难使模型的偏差和方差同时降低。

2. 定义精度、召回率和准确率

有混淆据矩阵如下:
在这里插入图片描述

  • 召回率(recall)也称为查全率、真阳性率(真正率),它衡量的是在全部实际阳性事件中(Actual为positive的列和),正确预测结果所占的比例。 r = T P T P + F N = T P P r=\frac{TP}{TP+FN}=\frac{TP}{P} r=TP+FNTP=PTP
  • 精度(precision)也称为查准率,它衡量的是在全部阳性预测中(predicted为positive的行和),正确预测结果所占的比例。 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
  • 准确率(accuracy)就是在全部预测中,正确预测结果所占的比例。 a = T P + T N T P + T N + F P + F N a=\frac{TP+TN}{TP+TN+FP+FN} a=TP+TN+FP+FNTP+TN

3. 什么是ROC曲线和AUC值?

ROC曲线(Receiver Operating Characteristic Curve,接收者操作特征曲线),是一种用于衡量分类模型性能的图形工具,它通常用作代表模型灵敏度(真阳性)与触发误报特异度(假阳性)的概率。ROC曲线显示了真正例率(True Positive Rate,TPR)随假正例率(False Positive Rate,FPR)变化的情况,横轴是FPR,纵轴是TPR。

真正例率 T P R = T P T P + F P = T P P TPR=\frac{TP}{TP+FP}=\frac{TP}{P} TPR=TP+FPTP=PTP; 假正例率 F P R = F P T P + F P = F P P FPR=\frac{FP}{TP+FP}=\frac{FP}{P} FPR=TP+FPFP=PFP

ROC曲线越靠近左上角,说明模型的性能越好;而位于左下角的模型则表现为随机猜测,性能很差。
在这里插入图片描述

ROC应用:1. 模型评估:ROC曲线是评价二分类模型性能的重要标准,可以帮助比较不同模型在给定阈值下的表现。2. 阈值选择:通过ROC曲线下面积(AUC)来评估模型的整体性能,AUC越接近1,模型性能越高。选择合适的阈值使得FPR和TPR之间的权衡最理想。3. 模型调优:通过调整模型参数或使用不同的算法,优化ROC曲线的位置,提高模型的区分能力。4. 模型融合:在集成学习中,可以结合多个模型的ROC曲线来决定最终决策,提高整体性能。

AUC(ROC曲线下面积)评价参考

  • AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。但在绝大多数预测的场合,不存在完美分类器。
  • 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC = 0.5,跟随机猜测一样(例:抛硬币),模型没有预测价值。
  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

4. 什么是 F 1 F_1 F1数,怎么使用它?

F 1 F_1 F1分数是衡量模型性能的指标,它是精确率和召回率的调和平均数。 F 1 F_1 F1最大为1,最小为0,结果趋向于1是最好的,结果趋向于0是最差的。一些多分类问题的机器学习竞赛,常常将 F 1 s c o r e F_1score F1score作为最终测评的方法。
F 1 = 2 p r e c i s i o n ⋅ r e c a l l p r e c i s i o n + r e c a l l = 2 T P T P + F P ⋅ T P T P + F N T P T P + F P + T P T P + F N F_1=2\frac{precision\cdot recall}{precision+recall}=2\frac{\frac{TP}{TP+FP}\cdot \frac{TP}{TP+FN}}{\frac{TP}{TP+FP}+ \frac{TP}{TP+FN}} F1=2precision+recallprecisionrecall=2TP+FPTP+TP+FNTPTP+FPTPTP+FNTP

三、算法思路问题

1. KNN和 k-means 聚类由什么不同?

关键区别在于,KNN是一种监督分类算法(除了特征向量 X i X_i Xi外,还有标签 Y Y Y),而 k-means聚类是一种无监督的聚类算法(只有特征向量 X i X_i Xi)。

KNN(K-Nearest Neighbors)
训练数据包括样本的特征向量 X X X和标签 y y y k k k是由用户定义的常数,表示模型给新数据做分类时参考的样本数量。当一个没有标签的样本进入算法后,首先找到与它距离最近的 k k k个样本,根据这 k k k个样本出现最多的标签定义这个新样本的标签(多数表决法)。

距离的定义有很多方式,常见的为:

  1. 欧氏距离(两点间连线长度): d ( x , y ) = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + . . . + ( x n − y n ) 2 d(x, y) = \sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2 + ... + (x_n - y_n)^2} d(x,y)=(x1y1)2+(x2y2)2+...+(xnyn)2
  2. 曼哈顿距离(沿坐标轴方向移动距离之和): d ( x , y ) = ∣ x 1 − y 1 ∣ + ∣ x 2 − y 2 ∣ + . . . + ∣ x n − y n ∣ d(x, y) = |x_1 - y_1| + |x_2 - y_2| + ... + |x_n - y_n| d(x,y)=x1y1+x2y2+...+xnyn

k-means K均值聚类
k-means的核心是把样本分配到离它最近的类中心所属的类,类中心由属于这个类的所有样本确定。K代表的是K类,means代表的是中心。K-means的本质就是确定类别数K、和K类的中心点,当找到了这些中心点也就完成了k-means聚类。

k-means算法思路

  • step1 设置K个种子点(根据分布的先验概率估计K的值,种子之间距离尽量远)
  • step2 遍历每个点,将其归属为与之距离最近的种子点,这就是它的簇;
  • step3 遍历结束后,重新计算K个种子点的位置(簇中心点)
  • step4 重复 step2-3,直到K个种子点的位置不再改变

2. 生成模型与判别模型有什么区别?

生成模型将学习数据类别,而判别模型将简单地学习不同类别数据之间的区别。 举例说明:

任务:识别一个语音属于哪种语言。现在一个人和你说了一句话,你需要识别出他说的到底是汉语、英语还是法语等。
生成模型:学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说话,你就可以知道他的语言对应什么语言;

判别模型:不去学习每一种语言,只学习这些语言模型之间的差别,然后再分类。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。

所以生成模型带的信息要比判别模型丰富,研究单类问题比判别模型灵活性强,模型可以通过增量学习得到,能用于数据不完整(missing data)情况。但是对于分类任务,判别模型通常优于生成模型。

  • 经典生成模型:朴素贝叶斯、混合高斯模型Gaussians、隐马尔可夫模型HMM、贝叶斯网络、马尔科夫随机场Markov random fields、深度信念网络DBN、隐含狄利克雷分布LDA、多专家模型、生成对抗网络。
  • 经典判别模型:感知机、决策树、逻辑回归、KNN、最大熵模型、SVM、Boosting、高斯过程、条件随机场CRF、CART(Classification and Regression tree)

3. 决策树的基本原理及如何剪枝?

决策树的学习目的是生成一课泛化能力强,处理未见示例能力强的分类树。其关键技术在于,在每一个当下如何选择最优分类属性,随着划分不断进行,我们希望每个节点包含的样本尽可能属于同一类别,即节点的纯度越来越高。关于最优属性的选择:

  • ID3决策树认为信息增益最大的的是最优属性

    信息熵 E n t ( D ) = − ∑ k = 1 ∣ K ∣ p k ⋅ l o g 2 p k Ent(D)=-\sum\limits_{k=1}^{{|K|}}p_k\cdot log_2p_k Ent(D)=k=1Kpklog2pk E n t ( D ) Ent(D) Ent(D)越小纯度越高
    信息增益 G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D)-\sum\limits_{v=1}^{{V}}\frac{|D^v|}{|D|}Ent(D^v) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv) G a i n ( D , a ) Gain(D,a) Gain(D,a)越大说明用属性 a a a划分后的节点纯度越高
    信息增益对可取值数目较多的属性有所偏好,C4.5可以减少这种偏好可能带来的不利影响。

  • C4.5决策树从候选划分属性中找出信息增益高于平均水平的属性,再从其中选择信息增益率最高的作为最优属性(如果直接选取信息增益率最高的属性,会对可取值数目少的属性有所偏好)。

    G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} Gainratio(D,a)=IV(a)Gain(D,a),其中属性 a a a的固有值 I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g 2 ∣ D v ∣ ∣ D ∣ IV(a)=-\sum\limits_{v=1}^{{V}}\frac{|D^v|}{|D|}log_2\frac{|D^v|}{|D|} IV(a)=v=1VDDvlog2DDv

  • CART决策树认为基尼系数最小的是最优属性。

    数据集D的基尼系数 G i n i ( D ) = ∑ k = 1 ∣ K ∣ ∑ k ′ ≠ k p k p k ′ Gini(D) = \sum\limits^{|K|}_{k=1}\sum\limits_{k'\neq k}p_kp_{k'} Gini(D)=k=1Kk=kpkpk
    属性a的基尼系数 G i n i ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) Gini(D,a)=\sum\limits_{v=1}^{V}\frac{|D^v|}{|D|}Gini({D^v}) Gini(D,a)=v=1VDDvGini(Dv)

剪枝是指在决策树出现过拟合问题时,为了降低模型复杂度、提高预测精度,去除预测能力较弱的分支。
修剪可以自下而上或自上而下进行:

  • 自上而下,预剪枝,在决策树生成过程中,对每个节点在划分前进行估计,若划分后不能提升整体性能则不划分。能不划分就不划分,容易出现欠拟合问题。
  • 自下而上,后剪枝,在决策树生成后,自底向上对非叶节点进行考察,若将该节点对应的子树替换成叶节点能提升泛化能力,则将该子树替换成叶节点。能不剪就不剪,容易出现过拟合问题。
    方法包括减少错误修剪和成本复杂度修剪。

减少错误修剪可能是最简单的版本:替换每个节点。如果不降低预测精度,则保持修剪。虽然很简单,但这种启发式方法实际上非常接近于一种可以最大限度地优化准确性的方法。

四、经典统计问题

1. 概率和似然有什么区别?

概率和似然都是指可能性,但在统计学中,概率和似然有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。

例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。

概率(密度)表达给定 θ θ θ下样本随机向量 X = x X=x X=x的可能性,而似然表达了给定样本 X = x X=x X=x下参数 θ 1 θ_1 θ1(相对于另外的参数 θ 2 θ_2 θ2)为真实值的可能性。我们总是对随机变量的取值谈概率,而在非贝叶斯统计的角度下,参数是一个实数而非随机变量,所以我们一般不谈一个参数的概率,而说似然。

4. 第一类误差和第二类误差有什么区别?

第一类误差指的是失真错误,第二类指的是纳伪错误。两类错误的出现概率此消彼长,难以同时降低。
假设检验的 H 0 H_0 H0一般都假设事件为真(置信水平 α = 0.05 \alpha=0.05 α=0.05),如果:

  1. 事件实际为真,但是 p < α p<\alpha p<α,拒绝了原假设 H 0 H_0 H0,认为事件是假的。视真为假,与实际情况不符,故称作失真错误,这是第一类误差;
  2. 事件实际为假,但是 p > α p>\alpha p>α,没有拒绝原假设,认为无理由判定事件是假的。视假为真,与实际不符,故称纳伪错误,这是第二类误差。

2. 什么是贝叶斯定理?它在机器学习环境中如何有用?

贝叶斯定理描述了当我们不能准确知悉一个事物的本质时,便可以依靠与事物特定本质相关的事件出现的多少去判断其本质属性的概率。 它给出了已知先验知识下,事件的后验概率。

在数学上,它表示为条件样本的真阳性率除以总体的假阳性率和条件的真阳性率之和。假设你在流感测试后有60%的机会真的感染了流感,但是在感染了流感的人中,50%的测试都是错误的,总人口只有5%的机会感染了流感。在做了阳性测试后,你真的有60%的机会患上流感吗?

贝叶斯定理说不,它说有一个(0.60.05)(条件样本的真阳性率)/(0.60.05)(条件样本的真阳性率)+(0.5*0.95)(人群的假阳性率)= 5.94%的机会感染流感。

贝叶斯理论是机器学习一个分支的幕后操纵大佬,所以在考虑要准备一个机器学习的面试的时候一定不能忽略这个知识点。

3. 为什么我们要称“朴素”贝叶斯?

尽管 Naive Bayes 具有实际应用,特别是在文本挖掘中,但它被认为是“天真的”,因为它假设在实际数据中几乎不可能看到:条件概率被计算为组件个体概率的纯乘积。 这意味着特征的绝对独立性 – 这种情况在现实生活中可能永远不会遇到。

正如 Quora 上一些评论者所说的那样,Naive Bayes 分类器发现你喜欢泡菜和冰淇淋之后,可能会天真地推荐你一个泡菜冰淇淋。

4. L1、L2正则之间有什么不同?

L2正则,对应的是加入2范数,使得对权重进行衰减,从而达到惩罚损失函数的目的,防止模型过拟合。保留显著减小损失函数方向上的权重,而对于那些对函数值影响不大的权重使其衰减接近于0。相当于加入一个gaussian prior。

L1正则 对应得失加入1范数,同样可以防止过拟合。它会产生更稀疏的解,即会使得部分权重变为0,达到特征选择的效果。相当于加入了一个laplacean prior。

五、应用及主观问题

1. 如何处理一个不平衡的数据集?

例如,当有一个分类测试,并且90%的数据都在一个类中时,就会产生一个不平衡的数据集。这就导致了问题:如果对其他类别的数据没有预测能力,那么90%的精度然而可能会出现偏差!下面是一些克服困难的策略:

  1. 收集更多数据,甚至数据集中的不平衡。
  2. 对数据集重新取样以纠正不平衡。
  3. 在你的数据集中尝试一个不同的算法。
    这里重要的是,对不平衡数据集可能造成的损害以及如何平衡具有敏锐的感知。

2. 举个例子,说明使用集成学习会很有用。

集成学习通过组合一些基学习算法来优化得到更好的预测性能,通常可以防止模型的过拟合使模型更具有鲁棒性。

可以列举一些集成学习的例子,如bagging、boosting、stacking等,并且了解他们是如何增加模型预测能力的。

3. 如何处理数据集中丢失或损坏的数据?

可以在数据集中找到丢失/损坏的数据,然后删除这些行或列,或者决定用另一个值替换它们。

在pandas中,有两种非常有用的方法:isNull()和dropna(),这两种方法可以帮助查找缺少或损坏数据的数据列,并删除这些值。如果要用占位符值(例如0)填充无效值,可以使用fillna()方法。

4. 你在机器学习方面有研究经验吗?

与最后一点相关的是,大多数为机器学习职位招聘的组织都会寻找在该领域的正式经验。由该领域的先行者共同撰写或监督的研究论文,可以使你在被雇佣和不被雇佣之间产生差异。要确保已经准备好了一份关于研究经验和论文的总结,如果不准备的话,还要对的背景和缺乏正式研究经验做出解释。

5. 你最喜欢的机器学习模型的用例是什么?

这里我们拿 Quora 上面的一个帖子为例,帖子在这里:https://bit.ly/2MGYyQY

上面的 Quora 帖子里包含一些示例,例如决策树,它根据智商分数将人们分类为不同的智力层次。确保心里有几个例子,并描述产生共鸣的地方。重要的是要对机器学习的实现方式表现出兴趣。

6. 您通常在哪里寻找数据集?

真正热衷于机器学习的人将会独自完成侧面项目,并且很清楚那些伟大的数据集是什么。 如果遗失任何内容,请查看 Quandl 获取的经济和财务数据,以及 Kaggle 的数据集集合,以获取其他优秀列表。

7. 模型的精度和模型的性能哪个对你更重要?

这个问题考察对机器学习模型性能细微差别的理解,机器学习面试往往着眼于细节。有些模型具有更高的准确度,而在预测能力方面表现较差,这有什么意义?

好吧,这一切都与模型的准确性仅仅是模型性能的一个子集有关,在这一点上,有时是一个误导。例如,如果想在一个拥有数百万样本的海量数据集中检测欺诈行为,那么一个更准确的模型很可能会预测,如果只有极少数的案例是欺诈行为,那么根本就不会有欺诈行为。然而,对于预测模型来说,这是无用的——一个旨在发现声称根本没有欺诈的欺诈的模型!这样的问题可以说明我们已经理解模型的准确性并不是模型性能的全部。.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4_机械臂坐标系简介

一、坐标系的标准命名 为了规范起见&#xff0c;有必要给机器人和工作空间专门命名和确定专门的“标准”坐标系。 图3-27为一种典型的工况&#xff0c;机器人抓持某种工具&#xff0c;并把工具末端移动到操作者指定的位置。图3-27所示的5个坐标系就是需要命名的坐标系。这五个坐…

7z及7zip-cpp最高压缩比的免费开源压缩软件

7z介绍 7z是一种主流高效的压缩格式&#xff0c;它拥有极高的压缩比。在计算机科学中&#xff0c;7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初由7-Zip实现并采用&#xff0c;但这种档案格式是公有的&#xff0c;并且7-Zip软件本身亦在GNU宽通用公共许可证…

PCIe总线-RK3588 PCIe子系统简介(八)

1.PCIe子系统 RK3588 PCIe子系统如下图所示。总共拥有5个PCIe控制器。PCIe30X4(4L)支持RC和EP模式&#xff0c;其他4个仅支持RC模式。ITS port 1连接PCIe30X4(4L)和PCIe30X2(2L)控制器&#xff0c;PCIe30X4(4L)和PCIe30X2(2L)控制器使用PCIe3.0 PIPE PHY。ITS port 0连接PCIe3…

RIP路由附加度量值(华为)

#交换设备 RIP路由附加度量值 RIP&#xff08;Routing Information Protocol&#xff09;路由协议中的附加度量值是指在RIP路由原来度量值的基础上所增加的额外度量值&#xff0c;通常以跳数来表示。这个附加度量值可以是正值&#xff0c;也可以是负值&#xff0c;用于影响路…

关于STM32上用HID HOST调鼠标数据的解析

一、前言 关于这章主要是基于我前面的那篇文章 链接: 关于怎么用Cubemx生成的USBHID设备实现读取一体的鼠标键盘设备&#xff08;改进版&#xff09; https://blog.csdn.net/qq_29187987/article/details/139535648?spm1001.2014.3001.5501 引用的文章的简介 引用的这篇文…

数据库概述1

数据&#xff1a;描述事物的符号记录称为数据&#xff1b; 包括数字、图片、音频等&#xff1b; 数据库&#xff1a;长期储存在计算机内有组织、可共享的大量数据的集合&#xff1b;数据库中的数据按照一定的数据模型组织、描述和存储&#xff0c;具有较小的数据冗余、较高的数…

STM32学习笔记(一)--时钟树详解

&#xff08;1&#xff09;时钟概述&#xff1b;时钟是具有周期性的脉冲信号&#xff0c;最常用的是占空比50%的方波。&#xff08;时钟相当于单片机的脉搏&#xff1b;STM32本身非常复杂&#xff0c;外设非常的多&#xff0c;为了保持低功耗工作&#xff0c;STM32 的主控默认不…

【Python】深入了解 AdaBoost:自适应提升算法

我们都找到天使了 说好了 心事不能偷藏着 什么都 一起做 幸福得 没话说 把坏脾气变成了好沟通 我们都找到天使了 约好了 负责对方的快乐 阳光下 的山坡 你素描 的以后 怎么抄袭我脑袋 想的 &#x1f3b5; 薛凯琪《找到天使了》 在机器学习的领域中&#x…

算法工程师 | 如何快速 了解,掌握一个算法!脚踏实地,迎着星辰,向前出发 ~

本文是一些碎碎念 希望对正在迈向 算法工程师道路的你 有所裨益 一般来说&#xff0c;代码 中会有很多 算法实现的细节&#xff0c;但论文可能并没有体现&#xff0c;所以能够尝试自己 仔细阅读论文&#xff0c;手动复现代码&#xff0c;基本上来说对 这个 算法 你有了全…

夏季城市环境卫生挑战多:TSINGSEE青犀智慧环卫方案助力城市垃圾站智能管理

一、背景分析 夏季&#xff0c;随着气温的攀升&#xff0c;城市垃圾的数量和种类也随之增加&#xff0c;这给环卫工作带来了极大的挑战。环卫垃圾站点作为城市垃圾处理的重要一环&#xff0c;其管理效率直接关系到城市环境的整洁与卫生。近年来&#xff0c;随着视频监控技术的…

【Redis】Redis常见问题——缓存更新/内存淘汰机制/缓存一致性

目录 回顾数据库的问题如何提高 mysql 能承担的并发量&#xff1f;缓存解决方案应对的场景 缓存更新问题定期生成如何定期统计定期生成的优缺点 实时生成maxmemory 设置成多少合适呢&#xff1f;项目类型上来说 新的问题 内存淘汰策略Redis淘汰策略为什么redis要内存淘汰内存淘…

ESP32 IDF ADF 加入音频

需要把mp3制作成音频bin 用ADF自带工具 果用户需要生成自己的 audio-esp.bin&#xff0c;则需要执行 mk_audio_bin.py 脚本&#xff08;位于 $ADF_PATH/tools/audio_tone/mk_audio_tone.py&#xff09;&#xff0c;并且指定相关文件的路径。 源 MP3 文件在 tone_mp3_folder …

红黑树(C++)

文章目录 写在前面1. 红黑树的概念及性质1. 1 红黑树的概念1. 2 红黑树的性质 2. 红黑树节点的定义3. 红黑树的插入3.1 按照二叉搜索的树规则插入新节点3.2 检测新节点插入后&#xff0c;红黑树的性质是否造到破坏 4.红黑树的删除5.红黑树的验证6.源码 写在前面 在上篇文章中&…

5.3.1_2 二叉树的层次遍历

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

c++模板模式

文章目录 模板模式什么是模板模式为什么使用模板模式模板模式实现步骤 示例模板模式优缺点 模板模式 什么是模板模式 模板模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将某些步骤的具体实现延…

[DDR4] DDR 简史

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR4》 存和硬盘&#xff0c;这对电脑的左膀右臂&#xff0c;共同扛起了存储的重任。内存以其超凡的存取速度闻名&#xff0c;但一旦断电&#xff0c;内存中的数据也会消失。它就像我们的工作桌面&…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率&#xff08;E&#xff09;删除词元&#xff08;M&#xff09; 参考资料 概述 接上回&#xff0c;子词词元化&#xff08;Subwords tokenization&#xff09;是平衡字符级别和词级别的一种方法&#xff0c;也…

网络通信架构

BS架构/CS架构 使用协议分别对应&#xff1a; TCP / HTTP 在计算机网络和软件开发中&#xff0c;CS架构&#xff08;Client-Server Architecture&#xff0c;客户端-服务器架构&#xff09;和BS架构&#xff08;Browser-Server Architecture&#xff0c;浏览器-服务器架构&am…

云和运维(SRE)的半生缘-深读实证02

这个标题不算太夸张&#xff0c;云计算和很多IT岗位都有缘&#xff0c;但是和运维&#xff08;SRE&#xff09;岗位的缘分最深。 “深读实证”系列文章都会结合一些外部事件&#xff0c;点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容&#xff1a; 我以运维…