大数据常用的算法
‘壹’ 澶ф暟鎹链夊摢浜涚畻娉
澶ф暟鎹镄勭畻娉曞寘𨰾锛
涓銆佹暟鎹鎸栨帢绠楁硶
1. 鍒嗙被绠楁硶
鍒嗙被绠楁硶鏄澶ф暟鎹涓甯哥敤镄勬暟鎹鎸栨帢绠楁硶涔嬩竴锛岀敤浜庨勬祴鏁版嵁镓灞炵殑绫诲埆銆傚父瑙佺殑鍒嗙被绠楁硶鍖呮嫭鍐崇瓥镙戝垎绫汇佹湸绱犺礉鍙舵柉鍒嗙被銆佹敮鎸佸悜閲忔満绛夈傝繖浜涚畻娉曢氲繃瀵瑰凡鐭ユ暟鎹闆嗙殑鐗瑰緛杩涜屽垎鏋愶纴寤虹珛鍒嗙被妯″瀷锛屼粠钥屽规湭鐭ユ暟鎹杩涜岄勬祴鍜屽垎绫汇
2. 镵氱被绠楁硶
镵氱被绠楁硶鏄灏嗗ぇ鏁版嵁闆嗕腑镄勬暟鎹鍒掑垎涓轰笉钖岀殑缇ょ粍鎴栫皣锛屼娇寰楀悓涓绨囦腑镄勬暟鎹鐩镐技搴﹁缉楂桡纴涓嶅悓绨囦箣闂寸殑鏁版嵁鐩镐技搴﹁缉浣庛傚父瑙佺殑镵氱被绠楁硶鍖呮嫭K鍧囧艰仛绫汇佸眰娆¤仛绫荤瓑銆傝繖浜涚畻娉曞箍娉涘簲鐢ㄤ簬甯傚満缁嗗垎銆佺ぞ浜ょ绣缁滃垎鏋愮瓑棰嗗烟銆
浜屻佹満鍣ㄥ︿範绠楁硶
1. 锲炲綊绠楁硶
锲炲綊绠楁硶鐢ㄤ簬棰勬祴鏁板煎瀷鏁版嵁銆傚畠阃氲繃鍒嗘瀽杈揿叆涓庤緭鍑哄彉閲忎箣闂寸殑鍏崇郴锛屽缓绔嬫暟瀛︽ā鍨嬶纴铹跺悗鍒╃敤杩欎釜妯″瀷杩涜岄勬祴銆傚湪澶ф暟鎹鍒嗘瀽涓锛屽洖褰掔畻娉曡骞挎硾搴旂敤浜庨勬祴鍒嗘瀽銆佸竞鍦洪勬祴绛夐嗗烟銆
2. 娣卞害瀛︿範绠楁硶
娣卞害瀛︿範绠楁硶鏄链哄櫒瀛︿範镄勪竴涓鍒嗘敮锛岄氲繃妯℃嫙浜鸿剳绁炵粡缃戠粶镄勭粨鏋勶纴寤虹珛澶氩眰绁炵粡缃戠粶妯″瀷锛岃嚜锷ㄦ彁鍙栨暟鎹镄勭壒寰佸苟杩涜屽垎绫绘垨棰勬祴銆傚湪澶ф暟鎹澶勭悊涓锛屾繁搴﹀︿範绠楁硶琚骞挎硾搴旂敤浜庡浘镀忚瘑鍒銆佽阔宠瘑鍒銆佽嚜铹惰瑷澶勭悊绛夐嗗烟銆
涓夈佹帹钻愮郴缁熺畻娉
鎺ㄨ崘绯荤粺绠楁硶鏄鐢ㄤ簬鍦ㄥぇ鏁版嵁涓镓惧嚭鐢ㄦ埛鍙鑳芥劅鍏磋叮镄勭墿鍝佹垨鍐呭癸纴骞舵帹钻愮粰鐢ㄦ埛镄勭畻娉曘傚父瑙佺殑鎺ㄨ崘绯荤粺绠楁硶鍖呮嫭鍗忓悓杩囨护銆佸熀浜庡唴瀹圭殑鎺ㄨ崘绛夈傝繖浜涚畻娉曢氲繃鍒嗘瀽鐢ㄦ埛镄勮屼负鏁版嵁銆佸叴瓒e亸濂界瓑淇℃伅锛屼负鐢ㄦ埛鎻愪緵涓镐у寲镄勬帹钻愭湇锷°
浠ヤ笂鏄澶ф暟鎹涓甯哥敤镄勫嚑绉岖畻娉曪纴瀹冧滑鍦ㄤ笉钖岀殑棰嗗烟鍜屽満鏅涓鍙戞尌镌閲嶈佷綔鐢锛屽府锷╀汉浠镟存湁鏁埚湴澶勭悊鍜屽垎鏋愬ぇ鏁版嵁銆
‘贰’ 澶ф暟鎹链甯哥敤镄勭畻娉曟湁鍝浜
澶ф暟鎹链甯哥敤镄勭畻娉曚富瑕佸寘𨰾鍒嗙被绠楁硶銆佽仛绫荤畻娉曘佸洖褰掔畻娉曞拰棰勬祴妯″瀷銆
鍒嗙被绠楁硶鏄澶ф暟鎹涓链甯哥敤镄勪竴绫荤畻娉曪纴鐢ㄤ簬灏嗘暟鎹闆嗕腑镄勫硅薄鎸夌収鍏跺睘镐ф垨鐗瑰緛鍒掑垎鍒颁笉钖岀殑绫诲埆涓銆傚父瑙佺殑鍒嗙被绠楁硶鍖呮嫭鍐崇瓥镙戙佹敮鎸佸悜閲忔満銆佹湸绱犺礉鍙舵柉绛夈备緥濡傦纴鍦ㄥ瀮鍦鹃偖浠惰繃婊や腑锛屽垎绫荤畻娉曞彲浠ュ府锷╂垜浠灏嗛偖浠跺垝鍒嗕负鍨冨溇闾浠跺拰闱炲瀮鍦鹃偖浠朵袱绫伙纴浠庤屾湁鏁埚湴杩囨护鎺変笉蹇呰佺殑闾浠躲
镵氱被绠楁硶鍒欐槸灏嗘暟鎹闆嗕腑镄勫硅薄鎸夌収鍏剁浉浼兼ц繘琛屽垎缁勶纴浣垮缑钖屼竴缁勫唴镄勫硅薄灏藉彲鑳界浉浼硷纴钥屼笉钖岀粍闂寸殑瀵硅薄灏藉彲鑳戒笉钖屻傚父瑙佺殑镵氱被绠楁硶鍖呮嫭K-means銆佸眰娆¤仛绫汇丏BSCAN绛夈备緥濡傦纴鍦ㄧ数鍟嗙绣绔欎腑锛岃仛绫荤畻娉曞彲浠ュ皢鐢ㄦ埛鎸夌収鍏惰喘鐗╄屼负鍜屽叴瓒e亸濂藉垝鍒嗕负涓嶅悓镄勭敤鎴风兢浣掳纴浠庤屼负鐢ㄦ埛鎻愪緵镟村姞绮惧嗳镄勬帹钻愭湇锷°
锲炲綊绠楁硶鍒欐槸涓绉嶉勬祴镐х殑寤烘ā鎶链锛屽畠镰旂┒镄勬槸锲犲彉閲忥纸鐩镙囷级鍜岃嚜鍙橀噺锛堢壒寰侊级涔嬮棿镄勫叧绯汇傚父瑙佺殑锲炲綊绠楁硶鍖呮嫭绾挎у洖褰掋侀昏緫锲炲綊銆佸喅绛栨爲锲炲綊绛夈备緥濡傦纴鍦ㄦ埧鍦颁骇甯傚満涓锛屽洖褰掔畻娉曞彲浠ユ牴鎹鎴垮眿镄勯溃绉銆佸湴鐞嗕綅缃銆佽呬慨绋嫔害绛夌壒寰佹潵棰勬祴鍏跺敭浠凤纴涓轰拱瀹跺拰鍗栧舵彁渚涘喅绛栨敮鎸併
棰勬祴妯″瀷鍒欐槸锘轰簬铡嗗彶鏁版嵁寤虹珛镄勪竴绉嶆暟瀛︽ā鍨嬶纴鐢ㄤ簬棰勬祴链𨱒ヤ簨浠舵垨瓒嫔娍銆傚父瑙佺殑棰勬祴妯″瀷鍖呮嫭镞堕棿搴忓垪鍒嗘瀽銆佹満鍣ㄥ︿範妯″瀷绛夈备緥濡傦纴鍦ㄩ噾铻嶉嗗烟锛岄勬祴妯″瀷鍙浠ユ牴鎹铡嗗彶镶$エ浠锋牸銆佸竞鍦鸿蛋锷跨瓑鏁版嵁𨱒ラ勬祴链𨱒ヨ偂绁ㄤ环镙肩殑璧板娍锛屼负鎶曡祫钥呮彁渚涘喅绛栦緷鎹銆
镐讳箣锛屽ぇ鏁版嵁镄勭畻娉旷岖被绻佸氾纴姣忕岖畻娉曢兘链夊叾镫鐗圭殑搴旂敤鍦烘櫙鍜屼紭锷裤傚湪瀹为檯搴旂敤涓锛屾垜浠闇瑕佹牴鎹鍏蜂綋镄勬暟鎹鐗圭偣鍜岄梾棰橀渶姹傞夋嫨钖堥傜殑绠楁硶锛屼互杈惧埌链浣崇殑鍒嗘瀽鍜岄勬祴鏁堟灉銆
‘叁’ 大数据挖掘的算法有哪些
大数据挖掘的算法:
1.朴素贝叶斯,超级简单,就像做一些数数的工作。如果条件独立假设成立的话,NB将比鉴别模型收敛的更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。
2. Logistic回归,LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。与决策树与支持向量机不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型。如果你想要一些概率信息或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。
3.决策树,DT容易理解与解释。DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题,DT的主要缺点是容易过拟合,这也正是随机森林等集成学习算法被提出来的原因。
4.支持向量机,很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。
如果想要或许更多更详细的讯息,建议您去参加CDA数据分析课程。大数据分析师现在有专业的国际认证证书了,CDA,即“CDA 数据分析师”,是在数字经济大背景和人工智能时代趋势下,面向全行业的专业权威国际资格认证, 旨在提升全民数字技能,助力企业数字化转型,推动行业数字化发展。 “CDA 数据分析师”具体指在互联网、金融、零售、咨询、电信、医疗、旅游等行业专门从事数据的采集、清洗、处理、分析并能制作业务报告、 提供决策的新型数据分析人才。点击预约免费试听课。
‘肆’ 大数据算法:分类算法
KNN算法,即K近邻(K Nearest Neighbour)算法,是一种基本的分类算法。其主要原理是:对于一个需要分类的数据,将其和一组已经分类标注好的样本集合进行比较,得到距离最近的K个样本,K个样本最多归属的类别,就是这个需要分类数据的类别。下面我给你画了一个KNN算法的原理图。
图中,红蓝绿三种颜色的点为样本数据,分属三种类别 、 、 。对于待分类点 ,计算和它距离最近的5个点(即K为5),这5个点最多归属的类别为 (4个点归属 ,1个点归属 ),那么 的类别被分类为 。
KNN的算法流程也非常简单,请看下面的流程图。
KNN算法是一种非常简单实用的分类算法,可用于各种分类的场景,比如新闻分类、商品分类等,甚至可用于简单的文字识别。对于新闻分类,可以提前对若干新闻进行人工标注,标好新闻类别,计算好特征向量。对于一篇未分类的新闻,计算其特征向量后,跟所有已标注新闻进行距离计算,然后进一步利用KNN算法进行自动分类。
读到这你肯定会问,如何计算数据的距离呢?如何获得新闻的特征向量呢?
KNN算法的关键是要比较需要分类的数据与样本数据之间的距离,这在机器学习中通常的做法是:提取数据的特征值,根据特征值组成一个n维实数向量空间(这个空间也被称作特征空间),然后计算向量之间的空间距离。空间之间的距离计算方法有很多种,常用的有欧氏距离、余弦距离等。
对于数据 和 ,若其特征空间为n维实数向量空间 ,即 , ,则其欧氏距离计算公式为
这个欧式距离公式其实我们在初中的时候就学过,平面几何和立体几何里两个点之间的距离,也是用这个公式计算出来的,只是平面几何(二维几何)里的n=2,立体几何(三维几何)里的n=3,而机器学习需要面对的每个数据都可能有n维的维度,即每个数据有n个特征值。但是不管特征值n是多少,两个数据之间的空间距离的计算公式还是这个欧氏计算公式。大多数机器学习算法都需要计算数据之间的距离,因此掌握数据的距离计算公式是掌握机器学习算法的基础。
欧氏距离是最常用的数据计算公式,但是在文本数据以及用户评价数据的机器学习中,更常用的距离计算方法是余弦相似度。
余弦相似度的值越接近1表示其越相似,越接近0表示其差异越大,使用余弦相似度可以消除数据的某些冗余信息,某些情况下更贴近数据的本质。我举个简单的例子,比如两篇文章的特征值都是:“大数据”“机器学习”和“极客时间”,A文章的特征向量为(3, 3, 3),即这三个词出现次数都是3;B文章的特征向量为(6, 6, 6),即这三个词出现次数都是6。如果光看特征向量,这两个向量差别很大,如果用欧氏距离计算确实也很大,但是这两篇文章其实非常相似,只是篇幅不同而已,它们的余弦相似度为1,表示非常相似。
余弦相似度其实是计算向量的夹角,而欧氏距离公式是计算空间距离。余弦相似度更关注数据的相似性,比如两个用户给两件商品的打分分别是(3, 3)和(4, 4),那么两个用户对两件商品的喜好是相似的,这种情况下,余弦相似度比欧氏距离更合理。
我们知道了机器学习的算法需要计算距离,而计算距离需要还知道数据的特征向量,因此提取数据的特征向量是机器学习工程师们的重要工作,有时候甚至是最重要的工作。不同的数据以及不同的应用场景需要提取不同的特征值,我们以比较常见的文本数据为例,看看如何提取文本特征向量。
文本数据的特征值就是提取文本关键词,TF-IDF算法是比较常用且直观的一种文本关键词提取算法。这种算法是由TF和IDF两部分构成。
TF是词频(Term Frequency),表示某个单词在文档中出现的频率,一个单词在一个文档中出现的越频繁,TF值越高。
词频:
IDF是逆文档频率(Inverse Document Frequency),表示这个单词在所有文档中的稀缺程度,越少文档出现这个词,IDF值越高。
逆文档频率:
TF与IDF的乘积就是TF-IDF。
所以如果一个词在某一个文档中频繁出现,但在所有文档中却很少出现,那么这个词很可能就是这个文档的关键词。比如一篇关于原子能的技术文章,“核裂变”“放射性”“半衰期”等词汇会在这篇文档中频繁出现,即TF很高;但是在所有文档中出现的频率却比较低,即IDF也比较高。因此这几个词的TF-IDF值就会很高,就可能是这篇文档的关键词。如果这是一篇关于中国原子能的文章,也许“中国”这个词也会频繁出现,即TF也很高,但是“中国”也在很多文档中出现,那么IDF就会比较低,最后“中国”这个词的TF-IDF就很低,不会成为这个文档的关键词。
提取出关键词以后,就可以利用关键词的词频构造特征向量,比如上面例子关于原子能的文章,“核裂变”“放射性”“半衰期”这三个词是特征值,分别出现次数为12、9、4。那么这篇文章的特征向量就是(12, 9, 4),再利用前面提到的空间距离计算公式计算与其他文档的距离,结合KNN算法就可以实现文档的自动分类。
贝叶斯公式是一种基于条件概率的分类算法,如果我们已经知道A和B的发生概率,并且知道了B发生情况下A发生的概率,可以用贝叶斯公式计算A发生的情况下B发生的概率。事实上,我们可以根据A的情况,即输入数据,判断B的概率,即B的可能性,进而进行分类。
举个例子:假设一所学校里男生占60%,女生占40%。男生总是穿长裤,女生则一半穿长裤一半穿裙子。假设你走在校园中,迎面走来一个穿长裤的学生,你能够推断出这个穿长裤学生是男生的概率是多少吗?
答案是75%,具体算法是:
这个算法就利用了贝叶斯公式,贝叶斯公式的写法是:
意思是A发生的条件下B发生的概率,等于B发生的条件下A发生的概率,乘以B发生的概率,除以A发生的概率。还是上面这个例子,如果我问你迎面走来穿裙子的学生是女生的概率是多少。同样带入贝叶斯公式,可以计算出是女生的概率为100%。其实这个结果我们根据常识也能推断出来,但是很多时候,常识受各种因素的干扰,会出现偏差。比如有人看到一篇博士生给初中学历老板打工的新闻,就感叹读书无用。事实上,只是少见多怪,样本量太少而已。而大量数据的统计规律则能准确反映事物的分类概率。
贝叶斯分类的一个典型的应用场合是垃圾邮件分类,通过对样本邮件的统计,我们知道每个词在邮件中出现的概率 ,我们也知道正常邮件概率 和垃圾邮件的概率 ,还可以统计出垃圾邮件中各个词的出现概率 ,那么现在一封新邮件到来,我们就可以根据邮件中出现的词,计算 ,即得到这些词出现情况下,邮件为垃圾邮件的概率,进而判断邮件是否为垃圾邮件。
现实中,贝叶斯公式等号右边的概率,我们可以通过对大数据的统计获得,当有新的数据到来的时候,我们就可以带入上面的贝叶斯公式计算其概率。而如果我们设定概率超过某个值就认为其会发生,那么我们就对这个数据进行了分类和预测,具体过程如下图所示。
训练样本就是我们的原始数据,有时候原始数据并不包含我们想要计算的维度数据,比如我们想用贝叶斯公式自动分类垃圾邮件,那么首先要对原始邮件进行标注,需要标注哪些邮件是正常邮件、哪些邮件是垃圾邮件。这一类需要对数据进行标注才能进行的机器学习训练也叫作有监督的机器学习。
‘伍’ 需要掌握哪些大数据算法
数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART。
1、C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。
2、2、k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。
3、支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。
4、Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。
5、最大期望(EM)算法。在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然 估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。
6、PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。
7、Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器 (强分类器)。
8、K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。
9、Naive Bayes。在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。
10、CART, Classification and Regression Trees。 在分类树下面有两个关键的思想。
关于大数据算法的相关问题推荐CDA数据分析师的相关课程,课程内容兼顾培养解决数据挖掘流程问题的横向能力以及解决数据挖掘算法问题的纵向能力。要求学生具备从数据治理根源出发的思维,通过数字化工作方法来探查业务问题,通过近因分析、宏观根因分析等手段,再选择业务流程优化工具还是算法工具,而非“遇到问题调算法包”点击预约免费试听课。
‘陆’ 大数据核心算法有哪些
1、A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。
2、集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最符合条件的节点,m是固定数字——集束的宽度。
3、二分查找(Binary Search)——在线性数组中找特定值的算法,每个步骤去掉一半不符合要求的数据。
4、分支界定算法(Branch and Bound)——在多种最优化问题中寻找特定最优化解决方案的算法,特别是针对离散、组合的最优化。
5、Buchberger算法——一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。
6、数据压缩——采取特定编码方案,使用更少的字节数(或是其他信息承载单元)对信息编码的过程,又叫来源编码。
7、Diffie-Hellman密钥交换算法——一种加密协议,允许双方在事先不了解对方的情况下,在不安全的通信信道中,共同建立共享密钥。该密钥以后可与一个对称密码一起,加密后续通讯。
8、Dijkstra算法——针对没有负值权重边的有向图,计算其中的单一起点最短算法。
9、离散微分算法(Discrete differentiation)。