呆板进修算法优弱点对等到选择(汇总篇)
个中的n代表有n个分类种别(好比假设是二类题目,那么n=2)。别离计较这2类样本在总样本中呈现的概率 ![]() 和 ![]() ,这样就可以计较出未选中属性分枝前的信息熵。 此刻选中一个属性 ![]() 用来举办分枝,此时分枝法则是:假如 ![]() 的话,将样天职到树的一个分支;假如不相称则进入另一个分支。很显然,分支中的样本很有也许包罗2个种别,别离计较这2个分支的熵 ![]() 和 ![]() ,计较出分枝后的总信息熵 ![]() ,则此时的信息增益 ![]() 。以信息增益为原则,把全部的属性都测试一边,选择一个使增益最大的属性作为本次分枝属性。 决定树自身的利益 1. 决定树易于领略息争释,可以可视化说明,轻易提取出法则; 2. 可以同时处理赏罚标称型和数值型数据; 3. 较量得当处理赏罚有缺失属性的样本; 4. 可以或许处理赏罚不相干的特性; 5. 测试数据集时,运行速率较量快; 6. 在相对短的时刻内可以或许对大型数据源做出可行且结果精采的功效。 弱点 1. 轻易产生过拟合(随机丛林可以很洪流平上镌汰过拟合); 2. 轻易忽略数据齐集属性的彼此关联; 3. 对付那些种类别样本数目纷歧致的数据,在决定树中,举办属性分别时,差异的鉴定准则会带来差异的属性选择倾向;信息增益准则对可取数量较多的属性有所偏好(典范代表ID3算法),而增益率准则(CART)则对可取数量较少的属性有所偏好,但CART举办属性分别时辰不再简朴地直接操作增益率精心分别,而是回收一种开导式法则)(只要是行使了信息增益,都有这个弱点,如RF)。 4. ID3算法计较信息增益时功效方向数值较量多的特性。 改造法子 1. 对决定树举办剪枝。可以回收交错验证法和插手正则化的要领; 2. 行使基于决定树的combination算法,如bagging算法,randomforest算法,可以办理过拟合的题目。 应用规模 企业打点实践,企业投资决定,因为决定树很好的说明手段,在决定进程应用较多。 3.5.1 ID3、C4.5算法 ID3算法是以信息论为基本,以信息熵和信息增益度为权衡尺度,从而实现对数据的归纳分类。ID3算法计较每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。C4.5算法焦点头脑是ID3算法,是ID3算法的改造,改造方面有: - 用信息增益率来选择属性,降服了用信息增益选择属性时方向选择取值多的属性的不敷; - 在树结构进程中举办剪枝; - 能处理赏罚非离散的数据; - 能处理赏罚不完备的数据。 利益 发生的分类法则易于领略,精确率较高。 弱点 1. 在结构树的进程中,必要对数据集举办多次的次序扫描和排序,因而导致算法的低效; 2. C4.5只得当于可以或许驻留于内存的数据集,当实习集大得无法在内存容纳时措施无法运行。 3.5.2 CART分类与回归树 是一种决定树分类要领,回收基于最小间隔的基尼指数预计函数,用来抉择由该子数据集天生的决定树的拓展形。假如方针变量是标称的,称为分类树;假如方针变量是持续的,称为回归树。分类树是行使树布局算法将数据分成离散类的要领。 利益 1. 很是机动,可以应承有部门错分本钱,还可指定先验概率漫衍,可行使自动的本钱伟大性剪枝来获得归纳性更强的树; 2. 在面临诸如存在缺失值、变量数多等题目时CART 显得很是妥当。 3.6 Adaboosting Adaboost是一种加和模子,每个模子都是基于上一次模子的错误率来成立的,过度存眷分错的样本,而对正确分类的样本镌汰存眷度,逐次迭代之后,可以获得一个相对较好的模子。该算法是一种典范的boosting算法,其加和理论的上风可以行使Hoeffding不等式得以表明。 利益 1. Adaboost是一种有很高精度的分类器; 2. 可以行使各类要领构建子分类器,Adaboost算法提供的是框架; 3. 当行使简朴分类器时,计较出的功效是可以领略的,而且弱分类器的结构极其简朴; 4. 简朴,不消做特性筛选; 5. 不易产生overfitting。 弱点 对outlier较量敏感。 3.7 SVM支持向量机 支持向量机,一个历久不衰的算法,高精确率,为停止过拟合提供了很好的理论担保,并且就算数据在原特性空间线性不行分,只要给个吻合的核函数,它就能运行得很好。在动辄超高维的文天职类题目中出格受接待。痛惜内存耗损大,难以表明,运行和调参也有些烦人,而随机丛林却恰恰避开了这些弱点,较量适用。 利益 1. 可以办理高维题目,即大型特性空间; 2. 办理小样本下呆板进修题目; 3. 可以或许处理赏罚非线性特性的彼此浸染; 4. 无局部极小值题目;(相对付神经收集等算法) 5. 无需依烂魅整个数据; 6. 泛化手段较量强。 弱点 1. 当视察样本许多时,服从并不是很高; 2. 对非线性题目没有通用办理方案,偶然辰很难找到一个吻合的核函数; 3. 对付核函数的高维映射表明力不强,尤其是径向基函数; 4. 通例SVM只支持二分类; 5. 对缺失数据敏感。 对付核的选择也是有能力的(libsvm中自带了四种核函数:线性核、多项式核、RBF以及sigmoid核): 第一,假如样本数目小于特性数,那么就没须要选择非线性核,简朴的行使线性核就可以了; 第二,假如样本数目大于特性数量,这时可以行使非线性核,将样本映射到更高维度,一样平常可以获得更好的功效; 第三,假如样本数量和特性数量相称,该环境可以行使非线性核,道理和第二种一样。 对付第一种环境,也可以先对数据举办降维,然后行使非线性核,这也是一种要领。 SVM应用规模 文天职类、图像辨认(首要二分类规模,事实通例SVM只能办理二分类题目) 3.8 人工神经收集的优弱点 人工神经收集的利益: 1. 分类的精确度高; 2. 并行漫衍处理赏罚手段强,漫衍存储及进修手段强; 3. 对噪声神经有较强的鲁棒性和容错手段; 4. 具备遐想影象的成果,能充实迫近伟大的非线性相关。 人工神经收集的弱点: 1. 神经收集必要大量的参数,如收集拓扑布局、权值和阈值的初始值; 2. 黑盒进程,不能调查之间的进修进程,输出功效难以表明,会影响到功效的可信度和可接管水平; 3. 进修时刻过长,有也许陷入局部极小值,乃至也许达不到进修的目标。 人工神经收集应用规模: 今朝深度神经收集已经应用与计较机视觉,天然说话处理赏罚,语音辨认等规模并取得很好的结果。 3.9 K-Means聚类 是一个简朴的聚类算法,把n的工具按照他们的属性分为k个支解,k< n。 算法的焦点就是要优化失真函数J,使其收敛到局部最小值但不是全局最小值。 关于K-Means聚类的文章,拜见呆板进修算法-K-means聚类。关于K-Means的推导,内里然则有大学问的,蕴含着强盛的EM头脑。 利益 1. 算法简朴,轻易实现 ; 2. 算法速率很快; 3. 对处理赏罚大数据集,该算法是相对可伸缩的和高服从的,由于它的伟大度约莫是O(nkt),个中n是全部工具的数量,k是簇的数量,t是迭代的次数。凡是k<<n。这个算法凡是局部收敛; 4. 算法实行找出使平方偏差函数值最小的k个分别。当簇是麋集的、球状或团状的,且簇与簇之间区别明明时,聚类结果较好。 弱点 1. 对数据范例要求较高,得当数值型数据; 2. 也许收敛到局部最小值,在大局限数据上收敛较慢; 3. 分组的数量k是一个输入参数,不吻合的k也许返回较差的功效; 4. 对初值的簇心值敏感,对付差异的初始值,也许会导致差异的聚类功效; 5. 不得当于发明非凸面外形的簇,可能巨细不同很大的簇; 6. 对付”噪声”和孤独点数据敏感,少量的该类数据可以或许对均匀值发生极大影响。 3.10 EM最大祈望算法 EM算法是基于模子的聚类要领,是在概率模子中探求参数最大似然预计的算法,个中概率模子依靠于无法视察的潜匿变量。E步预计隐含变量,M步预计其他参数,瓜代将极值推向最大。 EM算法比K-means算法计较伟大,收敛也较慢,不适于大局限数据集和高维数据,但比K-means算法计较功效不变、精确。EM常常用在呆板进修和计较机视觉的数据集聚(Data Clustering)规模。 3.11 集成算法(AdaBoost算法) AdaBoost算法利益: 1. 很好的操作了弱分类器举办级联; 2. 可以将差异的分类算法作为弱分类器; 3. AdaBoost具有很高的精度; 4. 相对付bagging算法和Random Forest算法,AdaBoost充实思量的每个分类器的权重。 Adaboost算法弱点: 1. AdaBoost迭代次数也就是弱分类器数量不太好设定,可以行使交错验证来举办确定; 2. 数据不服衡导致分类精度降落; 3. 实习较量耗时,每次从头选择当前分类器最好切分点。 AdaBoost应用规模: 模式辨认、计较机视觉规模,用于二分类和多分类场景 3.12 排序算法(PageRank) PageRank是google的页面排序算法,是基于从很多优质的网页链接过来的网页,一定照旧优质网页的回归相关,来鉴定全部网页的重要性。(也就是说,一小我私人有着越多牛X伴侣的人,他是牛X的概率就越大。) PageRank利益 完全独立于查询,只依靠于网页链接布局,可以离线计较。 PageRank弱点 1. PageRank算法忽略了网页搜刮的时效性; 2. 旧网页排序很高,存在时刻长,蕴蓄了大量的in-links,拥有最新资讯的新网页排名却很低,由于它们险些没有in-links。 3.13 关联法则算法(Apriori算法) Apriori算法是一种发掘关联法则的算法,用于发掘其内含的、未知的却又现实存在的数据相关,其焦点是基于两阶段频集头脑的递推算法 。 Apriori算法分为两个阶段: 1. 探求频仍项集; 2. 由频仍项集找关联法则。 算法弱点: 1. 在每一步发生侯选项目集时轮回发生的组合过多,没有解除不该该参加组合的元素; 2. 每次计较项集的支持度时,都对数据库中 的所有记录举办了一遍扫描较量,必要很大的I/O负载。 4. 算法选择参考 之前笔者翻译过一些海外的文章,个中有一篇文章中给出了一个简朴的算法选择能力: 1. 首当其冲应该选择的就是逻辑回归,假如它的结果不怎么样,那么可以将它的功效作为基准来参考,在基本上与其他算法举办较量; 2. 然后试试决定树(随机丛林)看看是否可以大幅度晋升你的模子机能。即便最后你并没有把它当做为最终模子,你也可以行使随机丛林来移除噪声变量,做特性选择; 3. 假如特性的数目和视察样本出格多,那么当资源和时刻富裕时(这个条件很重要),行使SVM不失为一种选择。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |