Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¼¯³Éѧϰ֮bagging¡¢boosting¼°AdaBoostµÄʵÏÖ
 
À´Ô´:csdn ·¢²¼ÓÚ:2017-11-13
  4298  次浏览      33
 

ÒýÑÔ

Ç°Ãæ²©¿Í·ÖÏí£¬ÎÒÃÇÒѾ­½²½âÁ˲»ÉÙ·ÖÀàËã·¨£¬ÓÐknn¡¢¾ö²ßÊ÷¡¢ÆÓËØ±´Ò¶Ë¹¡¢Âß¼­»Ø¹é¡¢svm¡£ÎÒÃÇÖªµÀ£¬µ±×øÖØÒª¾ö¶¨Ê±£¬´ó¼Ò¿ÉÄܶ¼»á¿¼ÂÇÎüÈ¡¶à¸öר¼Ò¶ø²»ÊÇÒ»¸öÈ˵ÄÒâ¼û¡£»úÆ÷ѧϰ´¦ÀíÎÊÌâʱͬÑùÈç´Ë¡£¼¯³Éѧϰ£¨ensemble learning)ͨ¹ý¹¹½¨²¢½áºÏ¶à¸öѧϰÆ÷À´Íê³ÉѧϰÈÎÎñ£¬ÓÐʱ±»³ÆÎª¶à·ÖÀàÆ÷ѧϰϵͳ¡¢»ùÓÚίԱ»áµÄѧϰµÈ¡£

¸öÌåÓ뼯³É

ÏÂͼÏÔʾ³ö¼¯³ÉѧϰµÄÒ»°ã½á¹¹£ºÏȲúÉúÒ»×é¡°¸öÌåѧϰÆ÷¡±£¬ÔÙÓÃijÖÖ²ßÂÔ½«ËüÃǽáºÏÆðÀ´¡£

ÎÒÃÇÇ°ÃæÒѾ­·ÖÏíÁËÎåÖÖ²»Í¬µÄ·ÖÀàËã·¨£¬ÎÒÃÇ¿ÉÒÔ½«ÆäÓò»Í¬µÄ·ÖÀàÆ÷×éºÏÆðÀ´£¬ÕâÖÖ×éºÏ½á¹ûÔò±»³ÆÎª¼¯³É·½·¨»òÕßÔªËã·¨¡£Ê¹Óü¯³É·½·¨Ê±»áÓжàÖÖÐÎʽ£º1.¼¯³ÉÖÐÖ»°üº¬Í¬ÖÖÀàÐ͵ĸöÌåѧϰÆ÷£¬ÕâÖÖ¸öÌåѧϰÆ÷Ò²±»³ÆÎª»ùѧϰÆ÷¡£2.¼¯³ÉÖÐÒ²¿É°üº¬²»Í¬ÀàÐ͵ĸöÌåѧϰÆ÷£¬ÕâÖÖÒìÖʼ¯³ÉµÄ¸öÌåѧϰÆ÷ÊÇÓɲ»Í¬µÄѧϰËã·¨Éú³É¡£

Ò»°ãÀ´Ëµ£¬¼¯³Éѧϰͨ¹ý½«¶à¸öѧϰÆ÷½øÐнáºÏ£¬³£¿É»ñµÃ±Èµ¥Ò»Ñ§Ï°Æ÷ÏÔÖøÓÅÔ½µÄ·º»¯ÐÔÄÜ¡£µ«ÊÇ´Óʵ¼Ê¾­ÑéÖз¢ÏÖ£¬Òª»ñµÃºÃµÄ¼¯³É£¬¸öÌåѧϰÆ÷Ó¦¡°ºÃ¶ø²»Í¬¡±£¬¼´¸öÌåѧϰÆ÷ÒªÓÐÒ»¶¨µÄ¡°×¼È·ÐÔ¡±£¬¼´Ñ§Ï°Æ÷²»ÄÜÌ«»µ£¬²¢ÇÒÒªÓС°¶àÑùÐÔ¡±£¬¼´Ñ§Ï°Æ÷Ö®¼ä¾ßÓвîÒì¡£

bagging

×Ô¾Ù»ã¾Û·¨£¬Ò²³Æbagging·½·¨£¬ÊÇÒ»ÖÖ»ùÓÚÊý¾ÝËæ»úÖØ³éÑùµÄ·ÖÀàÆ÷¹¹½¨·½·¨¡£baggingÔ­ÀíÈçÏ£º

¸ø¶¨°üº¬m¸öÑù±¾µÄÊý¾Ý¼¯£¬ÎÒÃÇÏÈËæ»úÈ¡³öÒ»¸öÑù±¾·ÅÈë²ÉÑù¼¯ÖУ¬ÔٰѸÃÑù±¾·Å»Ø³õʼÊý¾Ý¼¯£¬Ê¹µÃÏ´βÉÑùʱ¿Ì¸ÃÑù±¾ÈÔÓпÏÄܱ»Ñ¡ÖУ¬ÕâÑù¾­¹ým´ÎËæ»ú²ÉÑù²Ù×÷£¬ÎÒÃǵõ½º¬m¸öÑù±¾µÄ²ÉÑù¼¯£¬³õʼѵÁ·¼¯ÖÐÓеÄÑù±¾ÔÚ²ÉÑù¼¯Öжà´Î³öÏÕ£¬ÓеÄÔò´Óδ³öÏÖ¡£ÕÕÕâÑù£¬ÎÒÃǿɲÉÑù³öT¸öº¬m¸öѵÁ·Ñù±¾µÄ²ÉÑù¼¯¡£

baggingµÄÌØµã

1.ѵÁ·Ò»¸öbagging¼¯³ÉÓëÖ±½ÓʹÓûùѧϰË㷨ѵÁ·Ò»¸öѧϰÆ÷µÄ¸´ÔÓ¶Èͬ½×

2.Óë±ê×¼µÄadboostÖ»ÊÊÓÃÓÚ¶þ·ÖÀàÈÎÎñ²»Í¬µÄÊÇ£¬baggingÄܲ»¾­Ð޸ĵØÓÃÓÚ¶à·ÖÀà¡¢»Ø¹éµÈÈÎÎñ

3.ÓÉÓÚ×ÔÖú²ÉÑù¹ý³ÌµÄÐÔÖÊ£¬°üÍâÑù±¾¿ÉÒÔÓÃ×÷°üÍâ¹À¼Æ£¬¿ÉÓÃÀ´¸¨Öú¼ôÖ¦£¬¼õС¹ýÄâºÏ·çÏÕ

4.´ÓÆ«²î-·½²î½Ç¶È¿´£¬baggingÖ÷Òª¹Ø×¢½µµÍ·½²î£¬Òò´ËËüÔÚ²»¼ôÖ¦¾ö²ßÊ÷¡¢Éñ¾­ÍøÂçµÈÒ×ÊÜÑù±¾ÈŶ¯µÄѧϰÆ÷ÉÏЧÓøüÃ÷ÏÔ¡£

Ëæ»úÉ­ÁÖ

Ëæ»úÉ­ÁÖÊǸüÏȽøµÄbagging·½·¨¡£RFÊÇÔÚÒÔ¾ö²ßÊ÷Ϊ»ùѧϰÆ÷¹¹½¨bagging¼¯³ÉµÄ»ù´¡ÉÏ£¬½øÒ»²½ÔÚ¾ö²ßÊ÷µÄѵÁ·¹ý³ÌÖÐÒýÈëÁËËæ»úÊôÐÔÑ¡Ôñ¡£´Ë´¦ÏêÇéÇë´Á£ºRF

boosting

boostingÊÇÒ»ÖÖÓëbaggingºÜÀàËÆµÄ¼¼Êõ¡£²»ÂÛÊÇboosting»¹ÊÇbagging£¬ËùʹÓõķÖÀàÆ÷µÄÀàÐͶ¼ÊÇÒ»Öµġ£µ«ÊÇbaggingÊǸöÌåѧϰÆ÷¼ä²»´æÔÚÇ¿ÒÀÀµ¹ØÏµ¡¢¿ÉͬʱÉú³ÉµÄ²¢Ðл¯·½·¨£»boostingÊǸöÌåѧϰÆ÷¼ä´æÔÚÇ¿ÒÀÀµ¹ØÏµ¡¢±ØÐë´®ÐÐÉú³ÉµÄÐòÁл¯·½·¨¡£

boosting²»Í¬µÄ·ÖÀàÆ÷ÊÇͨ¹ý´®ÐÐѵÁ·¶ø»ñµÃµÄ£¬Ã¿¸öзÖÀàÆ÷¶¼¸ù¾ÝÒÑѵÁ·³öµÄ·ÖÀàÆ÷ÐÔÄÜÀ´½øÐÐѵÁ·¡£boostingÊÇͨ¹ý¼¯ÖйØ×¢±»ÒÑÓзÖÀàÆ÷´í·ÖµÄÄÇЩÊý¾ÝÀ´»ñµÃеķÖÀàÆ÷¡£

ÓÉÓÚboosting·ÖÀàµÄ½á¹ûÊÇ»ùÓÚËùÓзÖÀàÆ÷µÄ¼ÓȨÇóºÍ½á¹ûµÄ£¬Òò´ËboostingÓëbagging²»Ì«Ò»Ñù¡£baggingÖеķÖÀàÆ÷È¨ÖØÊÇÏàµÈµÄ£¬¶øboostingÖеķÖÀàÆ÷È¨ÖØ²¢²»ÏàµÈ£¬Ã¿¸öÈ¨ÖØ´ú±íÆä¶ÔÓ¦·ÖÀàÆ÷ÔÚÉÏÒ»ÂÖµü´úÖеijɹ¦¶È¡£

boosting×åËã·¨×î¾ß´ú±íÐÔµÄÊÇAdaBoost¡£¹ØÓÚAdaBoostÎÒÇ°ÃæÓÐÆª²©¿ÍÓзÖÏí£ºÀûÓÃAdaBoostÔªËã·¨Ìá¸ß·ÖÀàÐÔÄÜ¡£ÕâÀïÎÒ½«½áºÏÄÇÆª²©¿ÍµÄÄÚÈÝÉîÈë·ÖÎöAdaBoostµÄÔ­ÀíÓëʵÏÖ¡£

×îС»¯Ö¸ÊýËðʧº¯Êý

AdaBoostËã·¨ÓкܶàµÄÍÆµ¼·½Ê½£¬±È½ÏÈÝÒ×Àí½âµÄÊÇ»ùÓÚ¡°¼ÓÐÔÄ£ÐÍ¡±£¬¼´»ùѧϰÆ÷µÄÏßÐÔ×éºÏ£º

À´×îС»¯Ö¸ÊýËðʧº¯Êý£¬ÖмäÍÆµ¼²»×÷Ïêϸ½éÉÜ¡£

AdaBoostÊÇadaptive boostingµÄËõд£¬ÆäÔËÐйý³ÌÈçÏ£º

ѵÁ·Êý¾ÝÖеÄÿ¸öÑù±¾£¬²¢¸³ÓèÆäÒ»¸öÈ¨ÖØ£¬ÕâÐ©È¨ÖØ¹¹³ÉÁËÏòÁ¿D¡£Ò»¿ªÊ¼ÕâÐ©È¨ÖØÈ«²¿±»³õʼ»¯³ÉÏàµÈµÄÖµ¡£Ê×ÏÈÔÚѵÁ·Êý¾ÝÉÏѵÁ·³öÒ»¸öÈõ·ÖÀàÆ÷²¢¼ÆËã¸Ã·ÖÀàÆ÷µÄ´íÎóÂÊ£¬È»ºóÔÚͬһÊý¾Ý¼¯ÉÏÔÙ´ÎѵÁ·Èõ·ÖÀàÆ÷¡£ÔÚ·ÖÀàÆ÷µÄµÚ¶þ´ÎѵÁ·ÖУ¬½«»áÖØÐµ÷Õûÿ¸öÑù±¾µÄÈ¨ÖØ£¬ÆäÖеÚÒ»´Î·Ö¶ÔµÄÑù±¾È¨Öؽ«»á½µµÍ£¬¶øµÚ¶þ´Î·Ö´íµÄÑù±¾È¨Öؽ«»áÌá¸ß¡£ÎªÁË´ÓËùÓÐÈõ·ÖÀàÆ÷Öеõ½×îÖյķÖÀà½á¹û£¬AdaBoostΪÿ¸ö·ÖÀàÆ÷¶¼·ÖÅäÁËÒ»¸öÈ¨ÖØÖµalpha£¬ÕâЩalphaÖµÊÇ»ùÓÚÿ¸öÈõ·ÖÀàÆ÷µÄ´íÎóÂʽøÐмÆËãµÄ¡£

ÎÒÃǶ¨ÒåÈõ·ÖÀàÆ÷µÄ´íÎóÂÊΪ£º

ͨ¹ý×îС»¯Ëðʧº¯Êý£¬ÇóµÃAdaBoost¸øÃ¿¸ö·ÖÀàÆ÷·ÖÅäµÄÈ¨ÖØÖµalpha£¬¹«Ê½ÈçÏ£º

AdaBoostËã·¨µÄÁ÷³ÌÈçÏÂͼËùʾ£º

ÈçÉÏͼËùʾ£º×ó±ßÊÇÊý¾Ý¼¯£¬ÆäÖÐÖ±·½Í¼µÄ²»Í¨¿í¶È±íʾÿ¸öÑùÀýÉϵIJ»Í¬È¨ÖØ¡£¾­¹ýÒ»¸ö·ÖÀàÆ÷Ö®ºó£¬¼ÓȨµÄÔ¤²â½á¹û»áͨ¹ýÈý½ÇÐÎÖеÄalphaÖµ½øÐмÓȨ¡£Ã¿¸öÈý½ÇÐÎÖÐÊä³öµÄ¼ÓȨ½á¹ûÔÚÔ²ÐÎÖÐÇóºÍ£¬´Ó¶øµÃµ½×îÖÕµÄÊä³ö½á¹û¡£

¼ÆËã³öalphaÖµºó¿ÉÒÔ¶ÔÈ¨ÖØÏòÁ¿D½øÐиüУ¬ÒÔʹµÃÄÇЩÕýÈ··ÖÀàµÄÑù±¾µÄÈ¨ÖØ½µµÍ£¬¶ø´í·ÖÑù±¾µÄÈ¨ÖØÉý¸ß¡£DµÄ¼ÆËã·½·¨ÈçÏ¡£

Èç¹ûij¸öÑù±¾±»ÕýÈ··ÖÀ࣬ÄÇô¸ÃÑù±¾µÄÈ¨ÖØ¸ü¸ÄΪ£º

Èç¹ûij¸öÑù±¾±»´í·Ö£¬ÄÇô¸ÃÑù±¾µÄÈ¨ÖØ¸ü¸ÄΪ£º

ÔÚ¼ÆËã³öDÖ®ºó£¬AdaBoostÓÖ¿ªÊ¼½øÈëÏÂÒ»ÂÖµü´ú¡£AdaBoost»á²»¶ÏµØÖظ´ÑµÁ·ºÍµ÷ÕûÈ¨ÖØµÄ¹ý³Ì£¬ÖªµÀѵÁ·´íÎóÂÊΪ0»òÕßÈõ·ÖÀàÆ÷µÄÊýÄ¿´ïµ½Óû§µÄÖ¸¶¨ÖµÎªÖ¹¡£

AdaBoostµÄʵÏÖ

»ùÓÚµ¥²ã¾ö²ßÊ÷¹¹½¨Èõ·ÖÀàÆ÷

µ¥²ã¾ö²ßÊ÷ÊÇÒ»ÖÖ¼òµ¥µÄ¾ö²ßÊ÷¡£Ç°ÃæÎÒÃÇÒѾ­½éÉÜÁ˾ö²ßÊ÷µÄ¹¤×÷Ô­Àí£¬½ÓÏÂÀ´¹¹½¨Ò»¸öµ¥²ã¾ö²ßÊ÷£¬¶øËü½ö½ö»ùÓÚµ¥¸ö¾ö²ßÌØÕ÷À´×ö¾ö²ß¡£ÓÉÓÚÕâ¿ÃÊ÷Ö»ÓÐÒ»´Î·ÖÁѹý³Ì£¬Òò´ËËüʵ¼ÊÉϾÍÊÇÒ»¸öÊ÷×®¡£Òò´ËÒ²±»³ÆÎª¾ö²ßÊ÷×®¡£

ÈçÉÏͼËùʾ£¬ÎÒÃÇÏ£Íû´Óij¸ö×ø±êÖáÉÏÑ¡ÔñÒ»¸öÖµÀ´½«ÉÏͼÖеÄËùÓÐÔ²ÐεãºÍ·½Ðεã·Ö¿ª£¬ÕâÏÔÈ»ÊDz»¿ÉÄܵġ£Õâ¾ÍÊǵ¥²ã¾ö²ßÊ÷ÄÑÒÔ´¦ÀíµÄÒ»¸öÖøÃûµÄÎÊÌ⡣ͨ¹ýʹÓöà¿Ãµ¥²ã¾ö²ßÊ÷£¬ÎÒÃǾÍÄܹ¹½¨³ö¶Ô¸ÃÊý¾Ý¼¯ÍêÈ«ÕýÈ··ÖÀàµÄ·ÖÀàÆ÷¡£

µ¥²ã¾ö²ßÊ÷µÄα´úÂëÈçÏÂËùʾ£º

ÉÏÊöα´úÂëµÄºËÐÄ˼Ïë¾ÍÊÇѰÕÒ¾ßÓÐ×îµÍ´íÎóÂʵĵ¥²ã¾ö²ßÊ÷¡£

´úÂëÈçÏ£º

def stumpClassify(dataMatrix,dimen,threshVal,

threshIneq):#just classify the data
retArray = ones((shape(dataMatrix)[0],1))
if threshIneq == 'lt':
retArray[dataMatrix[:,dimen] <= threshVal] = -1.0
else:
retArray[dataMatrix[:,dimen] > threshVal] = -1.0
return retArray


def buildStump(dataArr,classLabels,D):
dataMatrix = mat(dataArr); labelMat = mat

(classLabels).T
m,n = shape(dataMatrix)
numSteps = 10.0; bestStump = {}; bestClasEst =

mat(zeros((m,1)))
minError = inf #init error sum, to +infinity
for i in range(n):#loop over all dimensions
rangeMin = dataMatrix[:,i].min(); rangeMax = dataMatrix[:,i].max();
stepSize = (rangeMax-rangeMin)/numSteps
for j in range(-1,int(numSteps)+1):#loop over

all range in current dimension
for inequal in ['lt', 'gt']: #go over less than

and greater than
threshVal = (rangeMin + float(j) * stepSize)
predictedVals = stumpClassify(dataMatrix,i,

threshVal,inequal)#call stump classify with

i, j, lessThan
errArr = mat(ones((m,1)))
errArr[predictedVals == labelMat] = 0
weightedError = D.T*errArr #calc total error

multiplied by D
#print "split: dim %d, thresh %.2f, thresh ineqal:

%s, the weighted error is %.3f" % (i, threshVal,

inequal, weightedError)
if weightedError < minError:
minError = weightedError
bestClasEst = predictedVals.copy()
bestStump['dim'] = i
bestStump['thresh'] = threshVal
bestStump['ineq'] = inequal
return bestStump,minError,bestClasEst

ÉÏÊö´úÂëÈ¨ÖØ´íÎóweightedErrorÊÇAdaBoostºÍ·ÖÀàÆ÷½»»¥µÄµØ·½¡£¹¹½¨¾ö²ßÊ÷×®µÄËã·¨ºËÐľÍÊÇÔÚÒ»¸ö¼ÓȨµÄÊý¾Ý¼¯ÖÐÑ­»·£¬È»ºóÕÒµ½¾ßÓÐ×îµÍ´íÎóÂʵĵ¥²ã¾ö²ßÊ÷¡£

µ½Ä¿Ç°ÎªÖ¹ÎÒÃÇÒѾ­¹¹½¨ÁËÒ»¸ö¾ö²ßÊ÷×®£¬½ÓÏÂÀ´ÎÒÃǾÍͨ¹ýʹÓöà¸öÈõ·ÖÀàÆ÷À´¹¹½¨AdaBoost´úÂë¡£

»ùÓÚ¾ö²ßÊ÷×®µÄAdaBoostµÄ¹¹½¨

AdaBoostѵÁ·

AdaBoostѵÁ·µÄα´úÂë¹¹ÔìÈçÏ£º

´úÂëÈçÏ£º

def adaBoostTrainDS(dataArr,classLabels,numIt=40):
weakClassArr = []
m = shape(dataArr)[0]
D = mat(ones((m,1))/m) #init D to all equal
aggClassEst = mat(zeros((m,1)))
for i in range(numIt):
bestStump,error,classEst = buildStump(dataArr,classLabels,D)#build Stump
#print "D:",D.T
alpha = float(0.5*log((1.0-error)/max(error,1e-16)))#calc alpha, throw in max(error,eps) to account for error=0
bestStump['alpha'] = alpha
weakClassArr.append(bestStump) #store Stump Params in Array
#print "classEst: ",classEst.T
expon = multiply(-1*alpha*mat(classLabels).T,classEst) #exponent for D calc, getting messy
D = multiply(D,exp(expon)) #Calc New D for next iteration
D = D/D.sum()
#calc training error of all classifiers, if this is 0 quit for loop early (use break)
aggClassEst += alpha*classEst
#print "aggClassEst: ",aggClassEst.T
aggErrors = multiply(sign(aggClassEst) != mat(classLabels).T,ones((m,1)))
errorRate = aggErrors.sum()/m
print "total error: ",errorRate
if errorRate == 0.0: break
return weakClassArr,aggClassEst

AdaBoost²âÊÔ

ÕâÀïÎÒÃÇÖ»ÊǼòµ¥µØÓ¦ÓÃÁ˵¥²ã¾ö²ßÊ÷¡£Êä³öµÄ¹À¼ÆÀà±ðÖµ³ËÉϸõ¥²ã¾ö²ßÊ÷µÄalphaÈ¨ÖØ£¬È»ºó½øÐÐÀÛ¼Ó£¬¾ÍÍê³ÉÁË·ÖÀà¹ý³Ì¡£´úÂëÈçÏ£º

def adaClassify(datToClass,classifierArr):
dataMatrix = mat(datToClass)#do stuff similar to last aggClassEst in adaBoostTrainDS
m = shape(dataMatrix)[0]
aggClassEst = mat(zeros((m,1)))
for i in range(len(classifierArr)):
classEst = stumpClassify(dataMatrix,classifierArr[i]['dim'],\
classifierArr[i]['thresh'],\
classifierArr[i]['ineq'])#call stump classify
aggClassEst += classifierArr[i]['alpha']*classEst
print aggClassEst
return sign(aggClassEst)

AdaboostÓ¦ÓÃ

ÎÒÃÇÓ¦ÓÃÉÏͼ·½ÐÎÓëÔ²ÐÎÊý¾ÝµãÊý¾Ý£¬À´½øÐзÖÀà¡£

Ê×ÏÈÎÒÃÇ¿´Ò»ÏÂѵÁ·Êý¾Ý£º

È»ºó¿´Ò»ÏÂѵÁ·½á¹û£º

ÕâÀïѵÁ·ÁËÈý¸öÈõ·ÖÀàÆ÷¡£

×îºó¿´Ò»Ï²âÊÔ½á¹û£¬ÕâÀïÎÒÃÇÑ¡ÔñÁËÁ½¸öѵÁ·Êý¾Ý£¨0£¬0£©£»£¨5£¬5£©£º

×ܽá

±¾´Î·ÖÏí½éÉÜÁËÁ½ÖÖ¼¯³É·½·¨£ºbagging£¬boosting¡£ÔÚbaggingÖУ¬ÊÇͨ¹ýËæ»ú³éÑùµÄÌæ»»·½Ê½µÃµ½ÓëԭʼÊý¾Ý¼¯¹æÄ£Ò»ÑùµÄÊý¾Ý¼¯¡£boosting±Èbagging˼Ïë¸ü½øÒ»²½£¬ÔÚÊý¾Ý¼¯ÉÏ˳ÐòÓ¦ÓÃÁ˶à¸ö²»Í¬µÄ·ÖÀàÆ÷¡£±¾Îĺó°ë²¿·ÖÖØµã½²ÊöÁËAdaBoostµÄ¼ò»¯°æÊµÏÖ·½·¨£¬AdaBoostº¯Êý¿ÉÒÔÓ¦ÓÃÓÚÈÎÒâ·ÖÀàÆ÷£¬Ö»Òª¸Ã·ÖÀàÆ÷Äܹ»´¦Àí¼ÓȨÊý¾Ý¼´¿É¡£

   
4298 ´Îä¯ÀÀ       33
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ