如何让机器像人一样多角度思考?方向算法视图分类器显式

协同训练作为多视角学习的一种方法,通过多个学习器之间互相协作,提升模型的泛化能力。以两个视图下协同训练为例,标准的算法流程如图2所示:给定有标记数据xi(i=1,2,…,n)和无标记数据xj(j=1,2,…,m),首先对有标记数据xi进行视图分割,得到两个不同视图下的数据表达xi1和xi2,使用不同视图的数据训练两个具有差异的分类器C1,C2并将其作为初始分类器;接着使用初始分类器对无标记样本进行标签置信度估计,将可信样本加入到已标记数据中继续进行迭代训练,以优化分类器;当所有无标记样本都经过分类器的自标注,模型训练也就结束。

协同训练算法的发展

在一些研究任务中,数据集样本中可能包含多种属性,每种属性代表当前样本在不同维度上的特征表达,所有样本的单一属性即被称为数据的一个“视图(View)”。协同训练算法可以根据数据集中属性的个数分为多视图学习与单视图学习。不论单视图学习还是多视图学习,其目的都是让学习器之间产生差异,但是基本思路有所不同。

多视图协同训练是利用同一数据集中的多个属性,例如,多语言数据中的不同语种,文件数据中的标题与内容。通过有标记数据的训练,每个学习器都能够初步认知属于自己属性集下的信息,并与其他学习器形成差异。最初的协同训练算法由Blum和Mitchell提出,他们假定样本空间存在两个充分冗余且满足条件独立性的自然分割视图,其中任意一个视图数据都足以训练出一个强学习器。随后,Nigam等人将协同训练与EM模型进行了对比,表明在条件独立性假设成立的情况下,协同训练的效果更好,并且他们还证明了在自然分割不成立时,人工分割视图可以起到一定的作用。在此基础上,Balcan等人认为视图只需满足条件更弱基于扩张性的假设,进一步放宽对视图的要求。

与多视图学习所利用的充分冗余和条件独立性所不同,单视图学习通过初始学习器差异化设计来挖掘数据中的有用信息。这些差异可以体现在训练所使用数据集,基础模型和优化算法等几个方面。Goldman和Zhou使用不同决策树算法,从同种属性中训练出两个不同学习器;Zhou和Li在三体训练法中通过Bootstrap采样机制在原数据集上产生了三个数据集,采用相同的基础模型从产生出的每个数据集上训练出一个分类器。马蕾和汪西莉利用遗传算法(GA)与粒子群算法(PSO)分别优化两个支持向量机(SVM)的参数,形成存在差异的GA-SVM和PSO-SVM模型。

协同训练的基本步骤

通过对众多协同训练算法的整理和分类,协同训练算法主要包含:视图获取,学习器差异化,标签置信度评估等步骤,如图3所示。

3.1视图获取

由于许多数据集并不具备可自然分割的特性,大多数情况下,经过人工分割后的视图,无法同时保证每个视图的充分性以及条件独立性。若视图之间独立性强,则视图内特征相互依赖较强,视图的充分性降低;反之,若视图的充分性强,则视图之间的独立性较弱。为了更好平衡视图的充分性与独立性之间的关系,近些年来,多视图获取的研究工作主要集中在以下几个方面:随机子空间分割算法,基于视图充分性的分割算法,基于视图独立性的分割算法,自动分割算法等等。

图3协同算法的基本步骤

3.1.1基于随机子空间的视图分割算法

图4:Yaslan等人在AudioGenre数据集上的实验结果

3.1.2基于视图独立性的视图分割算法

表1News2x2数据集上分类器的强度

Feger等人使用图的maxInd算法对视图进行分割,在算法中采用条件互信息(ConditionalMutualInformation,CondMI)来衡量两个视图之间的独立性和视图中每对特征的独立性。互信息作为衡量特征之间的信息共享量的指标,公式如公式(1),其中H是熵,在互信息的基础上给定类就得到了条件互信息,如公式(2)。该算法可以保证两视图之间的最大独立性,在理想情况下分割后的两属性集之间的CondMI=0。如表1所示,maxInd的实验结果表明,视图之间独立性更好并不一定意味着协同训练更好,视图分割不仅仅需要考虑视图间的独立性,同时要考虑视图内部特征间的依赖性,如何权衡两者之间的关系,对协同训练很重要。

随后,Tang等人通过条件互信息和卡方条件统计量(CHI)评估两个特征之间的相互独立性,并进一步提出了特征子集划分方法PMID-MI和PMID-CHI算法。唐焕玲的算法相对于随机划分更容易让视图之间的条件独立性更强,实验表明协同训练使用这两种算法划分的错误率要低于使用随机划分算法。

3.1.3基于视图充分性的分割算法

Sheng利用粗糙集理论来完成视图的分割。属性约简是粗糙集理论重要研究内容之一,能有效地将高维数据降至低维属性子空间而不造成分类信息的损失,并且可以去除一些冗余属性。盛小春等人利用这一理论在核心属性基础上,依次加入重要性最大的属性,直至当前互信息与原互信息相等时最优粗糙子空间形成。该算法以保证分割后的属性集与原属性集充分性相等为前提,并在该前提下尽可能使分割后的视图之间的独立性最大。他们将该算法与标准协同训练算法,自训练算法在初始标记数据比例为仅为10%的多个UCI数据集上进行对比,结果如表2,结果表明当前算法的错误率最小。

表2不同数据集上各种算法错误率比较(标记数据的百分比为10%)

3.1.4自动分割算法

Chen等人提出了一种单视图特征自动分解的算法PMC(PseudoMulti-viewCo-training),他们希望该算法可以自动分割属性集,每个分类器只使用分割后两视图中的一个。该算法初始化两个分类器的权重u和v,并且u和v在同一维度至少有一个为零,即存在约束条件uivi=0,并将其作为损失函数的约束,两个分类器会将原数据以最优化损失函数为条件进行拆分,进而得到了两个新视图。但由于该约束条件不易优化,于是对该条件进行变形得到式(3)。通过为损失函数添加公式(3)的约束项,进行权重参数更新,完成两个分类器的差异化。进一步地,Chen等人将PMC算法拓展到了多分类,约束项如式(4),其中K为标签类别个数。Chen等人将该算法在Caltech-256数据集的实验结果同随机分割算法做了对比。结果表明,使用该算法错误率要低于其他算法,并且在计算资源的消耗方面,在总量约为80000数据上,PMC完成整个训练花费了大约12个小时。

3.1.5基于领域知识的分割算法

图5SSDA视图分割原理图

前面的方法都是基于一定的算法完成视图的分割。在专业领域中,先验知识也能对分割视图起到一定的帮助作用。Yang等人利用SSDA的常见数据分布模式,将SSDA分解为两个子问题:半监督学习(Semi-SupervisedLearning,SSL)和无监督自适应(UnsupervisedDomainAdaptation,UDA)。由于SSL与UDA数据分布的明显不同,则SSL数据与UDA数据就是两个独立性较强的视图,如图5所示。该算法使用置信阈值筛选可信的新标记样本,论文实验结果要优于之前的SOTA论文,并且更为稳定。在生物医疗等领域,张迪等人根据能量代谢守恒的有关理论,提出了基于协同训练的半监督无创血糖检测算法。

综上所述,随机子空间协同训练算法更适合处理高维数据,不需要先验知识和复杂的数学设计就能找到最完美的划分。然而,这类算法需要计算最优子空间的数量,计算代价通常较大。基于视图独立性或视图充分性的分割算法通常利用信息论和统计学的知识来评估视图独立性或视图充分性。

3.2学习器的差异化

学习器差异化主要通过基础模型和优化算法的选择,学习器参数设置来提供差异化方法,实现单视图协同训练。如何测量两个学习器之间的差异性和如何维系两个学习器之间的分歧是接下来讨论内容。

3.2.1基础模型的选择

由于不同模型的学习机制或学习偏好有所差异,通过选择不同的基础模型进行协同训练,可以获得更加全面的数据信息。例如,Liu等人分别使用朴素贝叶斯(NaiveBayes,NB),支持向量机(SupportVectorMachine,SVM),神经网络(NeuralNetwork,NN)作为基础模型,通过三个学习器之间的互相协作对数据进行标记工作。首先作为“老师”的两个学习器对当前无标记数据预测得到的标签需一致,其次两位“老师”预测概率需超过各自的置信度阈值。实验结果表明,Liu等人提出的“师生”模型要优于Tri-training和Self-training算法,且使用较少的有标记样本就可以快速达到最优结果。

表3不同方法在SA,PU,PC数据集的分类结果

Ju等人利用卷积神经网络(ConvolutionalNeuralNetwork,CNN)与循环神经网络(RecurrentNeuralNetwork,RNN)作为基础模型来差异化学习器,并在多分类概率估计算法(DiversityofClassProbabilityEstimation,DCPE)的基础上提出了改进后的多分类概率估计算法(ModifiedDiversityofClassProbabilityEstimation,MDCPE)。论文将最大化分类器c1与c2对同一类别预测概率差异的样本视为可信样本,并由具有较高预测概率的分类器提供另一个具有较低预测概率的分类器,如式(5),反之亦然,如公式(6)。Ju等人在SA,PU,PC三个数据集上进行了实验,在OA,AA,Kappa三个评估指标上对比了MDCPE-RNN-CNN算法与其他算法。实验数据如表3,结果表明MDCPE算法效果优于DCPE算法。

3.2.2优化算法的选择

Ma和Wang利用支持向量机建立了协同训练的半监督回归模型。该算法利用遗传算法(GeneticAlgorithm,GA)与粒子群算法(ParticleSwarmoptimization,PSO)分别优化两个支持向量机(SupportVectorMachine,SVM)的参数,形成存在差异的GA-SVM和PSO-SVM,发挥了支持向量机在解决小样本、非线性回归问题上的优势。实验结果表明了基于支持向量机协同训练的半监督回归模型,有效利用了无标记样本当中的有效信息,提高了回归估计的精度。该算法通过计算计入伪标记样本前后均方误差的差值来表示无标记数据伪标签的置信度。在实验中,作者对GA-SVM模型,PSO-SVM模型,Self-GA模型(使用GA-SVM选择参数),Self-PSO模型(使用PSO-SVM选择参数)和半监督协同回归模型(Semi-SVM)即本论文提出算法进行对比。实验结果表明,在缺乏有标记数据的情况下,半监督协同回归模型相较于基于遗传算法和粒子群算法的支持向量机和半监督学习中的自训练模型有一定的优势,该算法对于数据中的错误标记的抗性相对于其他模型较高,能有效降低数据标记错误产生的噪声影响。

表3五个回归模型在BostonHousing数据集上的均方误差

3.2.3学习器参数的设置

表4对平均均方误差的改进

在基础学习器上使用不同的参数设置也可以达到差异化学习器的目的。Zhou和Li等人通过使用不同的参数p初始化Minkowski距离在KNN中的度量,利用两个参数不同的回归器进行协同训练,并依据新标记的实例使回归器在已标记数据上错误率减少最多的原则进行标签可信度的评估,提出了基于协同训练的半监督回归算法COREG。具体地,使用新标记实例加入前后不同回归器在已标记实例上的均方误差(MSE)减小值做为最终的评估指标。由于计算所有已标记实例的MSE,计算量过于巨大,为了减少计算量,Zhou等人计算已标记样本中与当前未标记样本K个最邻近样本,通过K个最近邻样本的MSE进行标签置信度的评估,如公式(7),其中c是原回归器,c’是新回归器。

训练完成后,算法的最终决策结果为两个KNN预测结果的平均。实验结果表明,该算法相对于KNN或自训练等算法可以有效地解决了半监督回归问题。表7中的实验结果表明,与ARTRE或自训练算法相比,COREG能够有效地解决半监督回归问题。与标准协同训练算法相比,COREG对视图的冗余性没有要求,因此COREG的应用范围更广一些,但K近邻算法存在计算开销较大的缺陷。

3.2.4学习器差异性的测量

表5分类器结果差异矩阵

通过计算候选学习器之间的差异性选出差异性较大的学习器组成基础学习器集,也可以达到学习器差异化的目的,但如何定义并计算学习器之间的差异性是该方法主要面临的问题。为了解决该问题,Kuncheva等人提出了基于Q统计量显式测量各个学习器差异的方法,并且将学习器之间的差异定义为:对于新的数据样本,各个分类器做出不同预测的趋势。Tang等人在人体识别任务中,先利用表5中的分类器与分类样本关系表计算出两个二分类分类器之间的Q统计量,如公式(8),再利用Q统计量衡量两个分类器之间的差异性。

表5中,N11代表两个分类器的分类结果都是正确的样本数量,N10表示ci的分类结果是错误,cj的分类结果是正确的样本数量,其余依次类推。Tang等人利用不同的核函数初始化一批SVM,从这些SVM中选择差异性最大的若干个SVM作为基础的学习器群,并根据聚类假设,将余弦相似度量作为判断样本之间相似性的基本依据。通过对无标记数据的新标签进行标签置信度的评估,将学习器集群的平均预测结果作为最终预测结果。实验表明,MCM算法与采用随机分割视图的协同训练,自训练等算法相比较拥有较高的准确性。

表6MCM与其他半监督学习方法的比较结果(5%标记率)

从表6的实验结果可以看出,MCM算法相对于随机分割视图(FAKE-CO)协同训练算法和自训练算法(SELF1,SELF2)具有更高的准确率。

3.2.5学习器差异性的测量

Zhou等人基于集成学习中的随机森林(RandomForest)算法提出了Co-Forest。由于随机森林在树的学习过程中注入了一定的随机性,即使使用的相同的训练集任意两棵决策树也会有很大的差异性。Zhou等人沿用了三体训练法的标签置信度估计方式:投票法,在UCI数据集上的实验验证了Co-Forest的有效性。

表7SVHN(1000标记)和CIFAR-10(4000标记)数据集基准的错误率。

3.3标签置信度的评估

标签置信度的评估是Self-Training增量式算法中重要的一环,其目的是防止给无标记样本贴上错误的标签,进而造成学习器性能恶化,依据标签置信度的评估方式我们可以将标签置信度的评估分为显式评估和隐式评估。大多数隐式评估算法都是利用学习者结果之间的差异程度来反映当前伪标签的置信度,而显式评估算法则使用精确的数字来显示标签的置信度。显式评估方法包括:伪标记数据进行训练的模型的前后准确度的差异,模型的概率输出,未标记数据与周围已标记数据的相似度。

3.3.1隐式评估

Zhou等人的Tri-training算法,利用三个分类器投票隐式解决了标签置信度评估的问题。其具体机制如下:先用Bootstrap采样机制在原数据集上产生三个数据集,分别用来训练三个有差异的基础分类器h1,h2,h3。将h2与h3分类结果一致的无标记数据进行标注,并加入h1的训练集,其余类推。该算法使用分类器投票即少数服从多数对标签置信度进行了隐式估计,避免了使用更加耗时的十倍交叉验证思想。Zhou等人将该算法的表现与半监督学习中的标准协同训练算法,自训练算法做了对比,结果显示Tri-training算法利用无标记数据给分类器性能带来的提升相较于其他算法更大,且分类错误率更低。在此基础上,Wang等人选取LSTM网络、BLSTM网络及GRU网络作为三个模型进行实验,有标记数据集的比例设置为20%,TMNN模型相较于三种单一模型表现效果最佳。Ge等人在图像分类任务中也沿用了三体训练的投票法。

虽然投票思想能够统计学习器分类结果的差异,但缺陷是无标记数据的伪标签仅由票数一个因素决定,忽略了每个分类器的预测结果的概率,若作为大多数一方的学习器置信度都较差,而少数方的学习器置信度较高,则容易给数据贴上错误的标签。

3.3.2显式评估

最早的显示估计方法是当两个充分冗余的属性子集不存在时,在每次训练迭代中使用十折交叉验证(Ten-foldCrossValidation)来估计未标记数据的置信度。但是,十折交叉验证方法有计算开销巨大,耗时长的缺陷。Zhou等人提出了DemocraticCo-learning算法来改善投票法的缺点。该算法在投票机制的基础上,进一步比较多数方学习器与少数方学习器的平均置信度的加和,若多数方学习器所得置信平均值的加和大于少数方则可以对当前无标记数据进行标注,反之则不行。Zhou等人将C4.5决策树、朴素贝叶斯和神经网络作为DemocraticCo-learning的三个基本模型进行测试,并与DNA数据集上集成这三种模型的协同训练算法进行比较。从图6的结果可以看出,在整个迭代过程中,民主协同学习算法的准确率高于其他算法。

图6DNA数据上的测试结果。x轴为已标记数量,y轴为模型准确度。

Zhou和Zhang利用数据审计技术结合切边权重统计技巧(CutEdgeWeightStatistic),并且用k近邻作为切分标准构建样本图结构,依据流形假设即正确分类的样本应该与周围样本的标签相似,提出了可以对无标记数据进行显式的置信度评估的COTRADE算法,并且通过最小化错误率来确定每轮迭代加入训练集的伪标注样本的数量,标签置信度主要通过公式(12)进行计算。通过比较COTRADE算法与标准协同训练算法、自训练算法等算法,实验结果如表8所示,表明COTRADE在course和ads12数据集上取得了比其他算法更好的结果。

Tseng等人在Tri-training的基础上加入置信阈值,提出了NDMTT算法,在投票机制的基础上进一步筛选了伪标记样本,使得置信度评估的准确率进一步提高。其中,置信阈值的设定将根据模型准确率来调整,在实验初始阶段置信阈值设定较小,以保证获得较多的新样本,随着模型准确率的提升,慢慢增大置信阈值。虽然显示估计准确率较高,但计算复杂,开销较大;隐式估计规则简单,但准确率较低。无论是显示评估或是隐式评估,都要注重减少错误标记的样本个数,防止噪声在迭代过程中进一步放大以造成模型的坍塌。

表8基于不同基础模型的COTRADE与其他算法比较结果,评价指标为WIN/TIE/LOSS。

基于协同训练的应用

随着协同训练理论的不断发展,协同训练的思想逐渐被引入到不同的研究场景中,在数据标注、图像分割、图像分类、图像识别等任务中发挥着重要作用。Xia等人提出了UncertaintyAwareMulti-viewCo-training(UMCT)方法,通过旋转或替换3D数据生成不同的视图,在PancreasandLiTSNIHliverTumor数据集上验证了所提出的方法的有效性。Du等人通过从训练样本中提取特征,将其划分为两个视图,减小合成孔径雷达识别任务中对标记样本的依赖。Tseng等通过添加第三种算法来辅助判断伪标记样本的可信度,改进了基于协同训练的自动数据标注过程,提高了标记数据的有效性。

Abdel等人采用离散小波变换提取电流波形和电压波形中的隐藏特征,并将协同训练用于故障检测和分类,提高了故障分类的准确性。在识别任务中,Zhou等人通过多视角协同训练和SVMHesen正则化的新方法,进一步提高有杆抽油机井状态识别精度和实用性。Duan等人利用协同训练对原有的多模态识别算法进行改进,并将改进后的算法和原有方法应用到AudioVisualPerson识别任务中,大大提高了分类精度和原方法的收敛性。

总结与展望

本文从协同训练算法中的三个关键步骤入手,综述了近些年来协同训练算法的创新与发展以及法中潜在的一些问题。协同训练无论是单视图学习还是多视图学习,目的都是为了让机器可以像人一样从多个角度思考问题,因此,如何有效地划分数据视图,如何科学地设计学习器,如何准确地评估标签的置信度是协同训练算法面临的本质问题。虽然许多学者在协同训练方向进行了大量实验,但离协同训练算法真正的工业化应用还有很长的路要走。

综上所述,本文对协同训练未来研究方向有以下建议:1)协同训练算法中的许多新创新还停留在文献中特定的数据集上。而实际情况中要比实验中的数据集复杂得多,这些创新需要一些实践或理论验证去证明其有效性。2)协同训练算法无论是单视图与多视图都无法避免同时训练多个模型,这直接导致了计算资源开销巨大。因此,如何对现有算法进行优化减轻其计算量也是一个研究方向。3)对于协同训练算法使用的无标记数据与有标记数据的比例需进一步探究。4)对于机器学习中的回归任务,由于其输出是连续值,标签置信度较难评估。因此,目前协同训练算法解决回归问题较少,需进一步研究。5)大多数文献的实验都没有在统一的数据集上进行实验,对于整个协同训练家族缺少一个通用的数据集。

作者简介:宁欣,中科院博士毕业,现任中国科学院半导体研究所副研究员,发表学术论文40余篇。

其他作者:王鑫然,许少辉,蔡蔚蔚,张丽萍,于丽娜,李文法

论文信息:XinNing,XinranWang,ShaohuiXu,WeiweiCai,LipingZhang,LinaYuandWenfaLi.AReviewofResearchonCo-training.ConcurrencyandComputation:practiceandexperience[J],2021.

60+专家,13个技术领域,CSDN《IT人才成长路线图》重磅来袭!

人工干预如何提高模型性能?看这文就够了!对话OpenCV创始人Gary:“亚洲社会都太重视学历和证书”道歉无用!被Linux“拉黑”的明尼苏达大学还在努力重获信任

THE END
1.几个学算法的小窍门,太实用了!的确,学算法是枯燥的,想长期坚持非常难,像鱼皮当时刷了 1000 多道不同平台的题目,现在回过头来都觉得不可思议。 分析下我能够坚持刷这么多题的原因,主要是因为养成了自己的刷题习惯,把刷算法当成了像刷牙洗脸一样的日常任务。 怎么养成自己的刷题习惯呢? 1)每天在固定的时间学习算法。比如我当时每天早上 6 点https://zhuanlan.zhihu.com/p/660522344
2.计算机二级知识点:算法程序算法是对特定问题求解过程的描述,是指令的有限序列,每条指令完成一个或多个操作。通俗地讲,就是为解决某一特定问题而采取的具体有限的操作步骤。程序算法的种类繁多,每种算法都有其特定的含义和应用场景。以下是一些常见的程序算法种类及其含义:### 1. 排序算法 排序算法是将一组数据按照特定规则进行排序的https://baijiahao.baidu.com/s?id=1803920752316866165&wfr=spider&for=pc
3.入门必看算法基础知识讲解小白都也能看得懂上一节中提到:算法就是解决某个或者某类问题的办法,但是,这只是对算法的一个笼统的描述。一个真正的算法,包含以下5大特性:输入、输出、有穷性、确定性、可行性。 输入输出:算法具有零个或者多个输入,至少一个或者多个输出。输入可以为零,但是必须存在输出,输出的形式可有为确定的返回值或者日志的的打印等,如果没https://blog.csdn.net/m0_63174618/article/details/138362160
4.机器学习算法基础知识在我们了解了需要解决的机器学习问题的类型之后,我们可以开始考虑搜集来的数据的类型以及我们可以尝试的机器学习算法。在这个帖子里,我们会介绍一遍最流行的机器学习算法。通过浏览主要的算法来大致了解可以利用的方法是很有帮助的。 可利用的算法非常之多。困难之处在于既有不同种类的方法,也有对这些方法的扩展。这导致https://www.51cto.com/article/442753.html
5.算法基础学习(一)克克大人算法基础学习(一) 列举一些算法的基本概念: 链表:链表是数据结构之一,其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便, 就是访问比较耗费时间。 数组:数组也是数据呈线性排列的一种数据结构。与前一节中的链表不同,在数组中,访问数据十分简单,而添加和删除数据比较耗工夫。这和姓名按拼音顺序排列的https://www.cnblogs.com/yankeqiang/p/10639272.html
6.深度学习高手笔记卷1:基础算法本书通过扎实、详细的内容和清晰的结构,从算法理论、算法源码、实验结果等方面对深度学习算法进行分析和介绍。本书共三篇,第一篇主要介绍深度学习在计算机视觉方向的一些卷积神经网络,从基础骨干网络、轻量级 CNN、模型架构搜索 3 个方向展开,介绍计算机视觉方向的里程碑算法;第二篇主要介绍深度学习在自然语言处理方向的https://www.epubit.com/bookDetails?id=UB7d8623610d375
7.算法的学习基础算法的学习-基础 前言 在参加面试的时候,多多少少都会问到一些关于算法的知识。 这其实是有原因的:在多个人专业知识相同的情况下,公司为什么选择放弃他人而选择你,其中的一个因素就是看你的算法基础。 本文将详细介绍算法的基础概念,如果对算法不太理解的同学可以借鉴参考。https://www.jianshu.com/p/225ff014a7d5
8.人民日报:用好算法,迈向智能社会深度学习是一类特殊的机器学习算法,其概念源于人工神经网络,目的是探索和模拟人的思维规律,仿照脑神经系统结构与信息处理机制,构建智能软件系统。深度学习通过学习算例数据的内在规律和表示,使计算机能够像人一样有分析能力,为人工智能质的飞跃打开突破口。从发展前景来看,以深度学习为重要基础,人工智能将深刻影响人们的https://kjt.shaanxi.gov.cn/kjzx/mtjj/276381.html
9.腾讯算法岗武功秘籍(上)尤其最后的两三道编程题,其实腾讯出的都是常规题,只要数据结构和算法基础扎实,AC两三道应该没问题。 ★ 语言组织能力也很重要,逻辑能力好点,做过的事给面试官讲清楚。就算很水的项目,多介绍下原理,多说说自己的理解,多讲讲自己的改进,还是有很多谈资的。 ★ 腾讯机器学习算法岗的面试算是非常正规的了,整套https://www.flyai.com/article/930
10.科学网—[转载]强化学习在资源优化领域的应用2.2 强化学习算法基础 根据智能体在与环境交互过程中具体学习的内容,可以把无须对环境进行建模(即model-free)的强化学习算法分为两大类:直接学习动作执行策略的策略优化算法(如REINFORCE)和通过学习一个值函数进而做出动作执行决策的值优化算法(如Q-learning)。 https://blog.sciencenet.cn/blog-3472670-1312677.html
11.招聘航天科技集团一院期待你的加入澎湃号·媒体澎湃新闻(二)智能算法设计 岗位职责: 1. 负责博弈对抗、集群协同、深度强化学习、多智能体强化学习等技术方向的应用研究和开发工作; 2. 负责对业界经典智能算法进行本地化改造,实现在航天场景中转化应用; 3. 负责航天飞行器智能算法模型建模、训练、测试与集成。 https://www.thepaper.cn/newsDetail_forward_15833677
12.慕课教程慕课教程,编程入门首选,为你提供了全面的编程的基础技术教程, 涉及前端开发、服务端开发、java、Python、数据库等60类主流技术语言,通过文字介绍+线上工具的方式,让你更好的学习编程https://www.imooc.com/wiki/
13.程序员应该知道的十个基础算法腾讯云开发者社区程序员应该知道的十个基础算法 作为一名程序员,掌握各种算法可以帮助我们解决各种复杂的问题,提高代码的效率和性能,同时也是面试中常被考察的重要内容之一。无论是开发新的软件应用、优化现有的算法逻辑还是解决各类计算问题,算法都是不可或缺的工具。因此,程序员必须掌握一系列常用的算法,以确保能够高效地编写出稳定、https://cloud.tencent.com/developer/article/2352039