您现在的位置是:首页 >

机器学习中的主动学习演算法 有什么?

火烧 2022-07-16 20:36:56 1046
机器学习中的主动学习演算法 有什么? 机器学习中的主动学习演算法 有什么?主动学习的演算法主要有两种 1 基于评委的方法 mittee- a ed method 首先用各种不同的学习器对样本进行标注,

机器学习中的主动学习演算法 有什么?  

机器学习中的主动学习演算法 有什么?

主动学习的演算法主要有两种
(1)基于评委的方法 (mittee-based methods)
首先用各种不同的学习器对样本进行标注,然后由标注人员对有争议的标注结
果作出最终判断。不同的学习器之间的分歧是由它们对样本标注结果预测的差异所
造成的。
(2)基于置信度的方法
(certainty-based methods)
先由模型给出具有较低置信度的样本,再交给标注人员选择性地进行标注。置
信度的计算通常是由学习器度量
n-最优(n-best)标注结果之间的差异得到的。
下面详细描绘一下基于评委的方法和基于置信度的方法的普遍流程。

基于评委的方法:
(1) 对于由 n
个未标注样本构成的样本组 B 中的每个样本
e,使用从先前标注样本中训练出来的 k 个模型对其进行标注,得到 k
个结果{L1,L2...Lk},通过{L1,L2...Lk},对每个 e
测量出具有争议的标注结果De ;
(2) 从样本组 B 中选择出 m
个具有最高 De
值的样本交给标注人员进行标注。把人工标注好的样本加进训练样本库里;
(3)
在扩大后的训练样本库的基础上,再重新得到 k
个模型。首先将语料库划分为连续的n个样本组,贯穿整个语料库,重复地在
n 个样本组中顺序地进行该过程。如果语料库不大,样本 n
正好等于语料库的大小,那么这个过程中的每一步都是在语料库的未标注样本中选择出
m 个全域性最优的例项,如果语料库的大小比样本 n
大,那么这个过程是承接进行的。
基于置信度的方法:

(1)从先前标注的样本中训练出一个模型;
(2)对于 N
个未标注的样本组中的每一个样本用模型对其进行标注,评估模型标
注的置信度;
(3)从样本组中选择 m
个具有最低置信度的样本交给标注人员进行标注;

(4)把新标注的样本加进训练语料中;

(5)重复执行以上过程直到标注人员停止或未标注样本用尽。
Hwa
运用基于置信度的方法从 Penn Treebank
语料库学习语法,把学习器对一个样本的标注结果的不确定性等同于该样本的“训练效用值”。如果学习器能够从大量的未标注语料中识别出具有较高训练效用值的
样本的子集,标注人员就不需要花费时间去标注那些不富含资讯的样本。基于置信度的方法的难点在于如何构造一种度量方法来评估学习器标注结果的置信度。

机器学习演算法求解

用3层BP网路试一下吧,层数再高一点可以试试深度神经网路,给你贴个连结,3层BP网路自己实现还是很容易的,至于更多的层数,我还没有自学DL,无法提供帮助。
python.分隔符jobbole.分隔符/82758/
或者可以试试传统的SVM进行多分类,不过这样输出就不是double型而是01型了

机器学习非监督机器学习演算法有哪些

非监督机器学习可以分为以下几类
(1)聚类:K-均值聚类、谱聚类、DBSCAN聚类、模糊聚类、GMM聚类、层次聚类等
(2)降维:PCA、t-SNE、MDS等
(3)其它:PageRank、SOM等
详细介绍可以参考图书:The Elements of Statistical Learning的第14章

机器学习演算法选择问题

你这个类似故障分类问题了。分以下两种情况给你提供个思路吧:
1.如果你的资料是有标签的,那就可以做有监督的机器学习了。
就是你的资料样本是某时刻各种属性值,标签是此时刻是否有零件有故障以及哪个零件故障。
可以选用的模型有:LogisticRegression、SVM、NaiveBayes、DecisionTree、KNN等,较浅的神经网路也是可以的。
2.如果你的资料没有标签,就不太好办了,可以试试无监督的聚类方法看看有没有什么发现。如Kmeans。
3.我做过的故障分类是有监督的,零件属于某个子系统,子系统又属于某个系统。我先对系统建模,再对子系统建模,再对零件建模,逐步定位到具体问题。
4.如果你的资料真的是无标签的,另外给你提供个线索,可以去研究下自编码网路。

机器学习演算法和图论演算法有什么不同

机器学习演算法和图论演算法有什么不同
或者,演算法是怎么分类的?首先想到的,处理的资料量上的不同。比如传统的一个道路规划问题,涉及到的物件在百数量级上是很正常的现象,而现在资料产生的速度太快了,资料太多了,对于一个网路优化问题可能涉及的物件是几个亿,比如facebook。但是这还是不能回答我最开始的问题,即便是百万,十万物件的网路,比如约会网站吧,在这个数量级差不多,它会涉及到推荐演算法,推荐的方法的话是用概率模型去做的,可以用机器学习的方法学习出一些结果;那么对一个同量级的物件,会需要一个图论演算法去做解决什么问题吗?个人觉得机器学习主要在于解决问题的思路不同,态度更开放,我晓得的一些图论演算法就是针对一个对于全域性有了很稳定认识的解决方法,而比如一个线上的机器学习演算法,它的预测结果直接影响新资料的产生。基本上这样的方法是可靠的,对于任意一个全域性的演算法,可以用开放的眼光看它,即用机器学习的方法适用它将它应用到新的有大量资料支援的适宜的问题中的。
这个时代的困难在于,我们不能用自己大脑在一瞬间可以理解的范围之内全面的理解一个问题,我们把大家的大脑都连起来了,我们也需要更强大的工具理解前所未有的问题。比如,从远古,理解若干个事件交织的复杂的问题是有困难的,我们利用文氏图清晰地显示多于4、5个事件之间的逻辑关联。现在是几十亿人,不知多少事件的关联,利用文氏图都不够了,但是我们总是可以找到合适的切入点提纲契领的理解总体的事物,我们的工具变成了高等数学,可靠的矩阵运算。所以,我自己倾向于将机器学习看成可靠地帮助我们理解新事物的方法,它使用的工具来自我们可靠的数学观点。
所以,机器学习的想法最重要,可以从任何一种现有的可靠的观点指导下,拓展我们理解世界的方式。我想把它解释为一种群体智慧的形成机制,为什么是群体智慧,我做为个人不需要识别一万张脸与他们的名字对应,但是做为一个公司却有需要在一秒钟之内认出自己的客户并且向他问好,提供服务。也就是说,我们生活的时代群体智慧起不可估量的作用,向四周一看你就明白你所用物品大部分不是来自认识和亲近的人。其实也是观念的成长,中国很长一段时间的小农经济自给自足,如果你吃的竟然是别人种的粮食,穿是别人织布剪裁,这在当时会是让你很不适应的。这个如今排斥Google的街景车来保卫自己的隐私这有啥差别呢?再到离我们更近一点的历史,更多的是群体智慧具象化的产品的传播,而如今呢更直接的就是群体智慧的传播。
机器学习背后的Philosophy应该是这样一种开放的面向未来的态度,我自己挺认同,也希望能把群体智慧开掘出来,产生前所未有商业价值。

如何研究学习一个机器学习演算法

如何研究学习一个机器学习演算法
1. 还记得我刚来演算法组的时候,我不懂TFIDF是什么,更不要说什么SVD,LDA了听都没听过,不懂user-based和item-based的区别,甚至连贝叶斯公式都写不全。在最初的一段时间,我看别人的程式码,半懂不懂地听组会分享,然后实现一个又一个现在看来很幼稚的演算法,感觉进步是飞速的。接过来一个演算法需求,我就去网上找篇paper,然后把演算法给实现了就丢给产品线用。
这个时候,同事A对我讲,“演算法工程师不是懂一些数学,会写些演算法就行了,演算法工程师最重要的技能,在于如何定义问题,然后接下来才是如何解决这个问题。”从那以后,当面临一个需求时,我更愿意分析这个需求的关键点在哪,然后从大脑里搜寻已有的东西能不能解决这个问题,比如FM的演算法缺乏多样性,那么我想一下我看过的解决多样性的paper都有什么?能不能用在这个上面。如果不能,我再对应去搜问题的关键字,而不是演算法的关键字。
2. 转眼间一年过去了,虽说看过的paper不够多,但是可以应付大部分的需求了。但是我开始迷茫起来,我觉得自己在实现一个又一个的演算法trick,知道一个演算法可以用,我就去网上down一个对应的演算法包,然后把资料丢进去。没了......那么我的出路到底在哪?我的核心竞争力在哪?在于知道这么个东西,然后变成跑准备资料的么?
这个时候,同事B给我讲了到底博士是如何完成一个毕业设计的,几百篇论文作为基础。那是不是把几百篇论文全都和我以前一样一字不差的看完?PHD为什么很容易进入到一个他之前所未知的领域,在于在研究领域所积累的一套方法论。言归正传:
当接触到一个新的演算法时要怎么去入手?用SVM举例吧:
第一,去找SVM的Survey,每一个成熟的演算法分支必定有着survey这样的汇总性paper,通过这个paper,我们大致可以了解这个演算法为什么出现,最基本的演算法原型是什么样的,接下来后人对他做了什么样的改进,他到底还有什么问题。
第二,弄懂这个演算法的来龙去脉,为什么出现,出现是因为改进了前面演算法所不能做的什么事情?例如我们为什么不用基本的线性分类器?和用传统的分类演算法找到一个超平面区别在于哪?
第三,知道了来龙去脉,我们还要知道这个演算法的缺点在哪?不能适用于什么?我们怎么知道?这个就涉及到如何来快速地过一遍一篇paper。
第四,Abstract是最重要的,他告诉了我们这篇paper发的目的是什么?他想解决什么问题?然后是Future Work,之所以有着FutureWork是因为这个演算法还有一些问题没有解决,这个就告诉了我们当前演算法还有什么缺点?
第五,递回再去看这个缺点是否有其他的研究者已经解决掉了。
那么我们为什么看paper,为什么实现某演算法,我归结为两点:
1. 学习目的,扩充套件思路,如果处于这种目的,理解paper的精髓是最重要的。
2. 解决实际问题。那么应该丢弃的观点是我最初那样拿过来一篇paper也没理解透彻也不知道能不能解决问题,也不知道到底是不是可行,就先实现了再说。劳民伤财~
3. 我自认为自己还算努力,看了很多书,看了很多演算法,但是其实有时候说起来,比如用PCA还是SVD,他们到底有什么区别,我们如何选择,我其实还是不明白。
这时,同事C对我说,理解一个演算法,最重要的是要理解这个演算法的世界观,这个演算法背后的哲学基础是什么?只有理解了这个,才算理解一个演算法。
用Boosting来举例,他背后的世界观是PAC原则。那么Boosting为什么不能引入一个强分类器,因为这个做个类比就相当于Boosting原本是美国的民主政治,一旦引入了一个强势的领导,就一下子变成了当年毛爷爷时候的政治了。Boosting的世界观就崩塌掉了。至于说Boosting最终是如何调整资料集的权重,这些就都属于了细节的层面。
最后,补充一个同事D,无意间的话让我发觉自己要变得更优秀才行:
同事D在搜Resys,有一个快照上面写着:本科生Resys十佳论文。同事扭头对我说,靠,现在本科生都可以发Resys paper了。让我意识到了自己其实在原本上差距有多大,我要付出更大的努力才能弥补这些也许别人觉得无法跨越的鸿沟。

机器学习演算法和深度学习的区别?

资料依赖性
深度学习与传统的机器学习最主要的区别在于随着资料规模的增加其效能也不断增长。当资料很少时,深度学习演算法的效能并不好。这是因为深度学习演算法需要大量的资料来完美地理解它。另一方面,在这种情况下,传统的机器学习演算法使用制定的规则,效能会比较好。
硬体依赖
深度学习演算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬体。与传统机器学习演算法相比,深度学习更依赖安装 GPU 的高阶机器。
特征处理
特征处理是将领域知识放入特征提取器里面来减少资料的复杂度并生成使学习演算法工作的更好的模式的过程。特征处理过程很耗时而且需要专业知识。
在机器学习中,大多数应用的特征都需要专家确定然后编码为一种资料型别。
特征可以使画素值、形状、纹理、位置和方向。大多数机器学习演算法的效能依赖于所提取的特征的准确度。
深度学习尝试从资料中直接获取高等级的特征,这是深度学习与传统机器学习演算法的主要的不同。基于此,深度学习削减了对每一个问题设计特征提取器的工作。例如,卷积神经网路尝试在前边的层学习低等级的特征(边界,线条),然后学习部分人脸,然后是高阶的人脸的描述。
问题解决方式
当应用传统机器学习演算法解决问题的时候,传统机器学习通常会将问题分解为多个子问题并逐个子问题解决最后结合所有子问题的结果获得最终结果。相反,深度学习提倡直接的端到端的解决问题。
执行时间
通常情况下,训练一个深度学习演算法需要很长的时间。这是因为深度学习演算法中引数很多,因此训练演算法需要消耗更长的时间。最先进的深度学习演算法 ResNet完整地训练一次需要消耗两周的时间,而机器学习的训练会消耗的时间相对较少,只需要几秒钟到几小时的时间。
但两者测试的时间上是完全相反。深度学习演算法在测试时只需要很少的时间去执行。如果跟 k-nearest neighbors(一种机器学习演算法)相比较,测试时间会随着资料量的提升而增加。不过这不适用于所有的机器学习演算法,因为有些机器学习演算法的测试时间也很短。
可解释性
至关重要的一点,我们把可解释性作为比较机器学习和深度学习的一个因素。
我们看个例子。假设我们适用深度学习去自动为文章评分。深度学习可以达到接近人的标准,这是相当惊人的效能表现。但是这仍然有个问题。深度学习演算法不会告诉你为什么它会给出这个分数。当然,在数学的角度上,你可以找出来哪一个深度神经网路节点被激活了。但是我们不知道神经元应该是什么模型,我们也不知道这些神经单元层要共同做什么。所以无法解释结果是如何产生的。
另一方面,为了解释为什么演算法这样选择,像决策树(decision trees)这样机器学习演算法给出了明确的规则,所以解释决策背后的推理是很容易的。因此,决策树和线性/逻辑回归这样的演算法主要用于工业上的可解释性。

机器学习演算法指的是什么?

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、演算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的效能,您也可以在马克威演算法交易平台上可以看看这类演算法。

如何选择机器学习演算法

你学过微控制器吗?AX-12是数字舵机,数字舵机是发序列指令控制的。你可以详细看看它的资料,然后用微控制器试试,用起来比一般的模拟舵机还要简单的。建议你到robot360上看看,那里有很多关于数字舵机和模拟舵机原理及使用的文章,也有这个舵机的资料呢,应该对你学习有帮助。

机器学习中的主动学习演算法 有什么?

如果特征数量远大于训练样本数,则使用逻辑回归或线性核方法的SVM 如果特征数较小,而样本数量相对较多,可以考虑高斯核方法的SVM 如果特征数少儿样本数极大

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码