91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-12-30
  • 語言: Java
  • 標簽: adaboost??

資源簡介

根據adaboost的經典流程編寫的算法,其中弱分類器用閾值分類器來構建。

資源截圖

代碼片段和文件信息

package?src;
import?java.util.ArrayList;
import?java.util.List;
import?java.lang.Math;
public?class?adaboost?{

public?List?items=new?ArrayList();//數據集
public?List?Classify=new?ArrayList();//每次迭代產生的弱分類器
public?int?T;//迭代次數
public?float?[]weight_c;//弱分類器權重
public?float?totalWeights?=?0?totalPos?=?0?totalNeg?=?0;

public?adaboost(point[]?Aint?T)
{
for(point?a:A)
{
items.add(a);
}
this.T=T;
for(point?b:items)
b.weight=(float)1/A.length;?????????????????????????//初始化樣本權值
weight_c=new?float[T];

}

public?void?count_weight()????????????????//*權重歸一化*/
{
totalWeights?=?0;
totalPos=0;
totalNeg=0;
for(point?s:items)
{
totalWeights+=s.weight;
if?(s.pos_neg==1)?totalPos?+=s.weight;//計算出正負樣本的權值和
else
totalNeg?+=?s.weight;
}
for(point?s:items)
{
s.weight/=totalWeights;
}
}



public?void?learning()????????????????????????//訓練數據集
{
float?total=0;
classiffier?newclassiffier;
for(int?i=0;i {

count_weight();

newclassiffier=findBest();

Classify.add(newclassiffier);

updateWeight(newclassiffieri);

System.out.println(“learningfor“+i+“times???“+“thresh“+newclassiffier.thresh+“???mark“+(newclassiffier.mark+1));

total+=weight_c[i];

//System.out.println(“count“+weight_c[i]);
}


for(int?i=0;i {
weight_c[i]/=total;
System.out.println(“count“+weight_c[i]);

}


}

public?void?updateWeight(classiffier?tempint?index)//每次迭代完成后,依據該次迭代產生的最優弱分類器,更新數據權值
{
weight_c[index]=(float)?Math.log((1-temp.e)/temp.e);
for(point?s:items)
{
if(temp.classify(s)==s.pos_neg)
s.weight*=Math.exp(temp.e/(-1+temp.e));
else
s.weight*=Math.exp(temp.e/(1-temp.e));
}
}

public?classiffier?findBest()//每次迭代,產生最優的弱分類器,并將弱分類器存入Classify中
{
classiffier?temp=new?classiffier(001false);
for(int?i=0;i {
classiffier?temp1=findthresh(i);
if(temp1.e temp=temp1;

}

return?temp;


}

public?float?min(float?a?float?b)
{
return(a?<=?b???a?:?b);
}

public?classiffier?findthresh(int?Mark)//對每個維度的樣本集,產生一個弱分類器,Mark為數據維度標志
{
float?e=0?besterr?=(float)1.0;
double?thrfinal_thr=0;
float?bPos?=?0?bNeg?=?0;
sort(Mark);
boolean?flag=false;
for(int?i=0;i {

if(items.get(i).pos_neg==1)??bPos?+=items.get(i).weight;
else?bNeg?+=?items.get(i).weight;
e?=?min(totalNeg-bNeg+bPos?totalPos-bPos+bNeg);

thr?=?(items.get(i).att[Mark]+?items.get(i+1).att[Mark])?/?2;


if?(e {
besterr?=?e;
if(e==totalNeg-bNeg+bPos)?
flag=true;
else?flag=false;
final_thr?=?thr;
}
}
classiffier?subclassiffier=new?classiffier(Markfinal_thrbesterrflag);
return?subclassiffier;
}


public?void?sort(int?I)//按照I維數據,將數據集重新排序,以供產生每個維度的threshold????(可以用歸并排序來提高速度)
{

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\
?????文件?????????301??2014-03-06?09:56??AdaBoostNew1\.classpath
?????文件?????????388??2014-03-06?09:56??AdaBoostNew1\.project
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\.settings\
?????文件?????????598??2014-03-06?09:56??AdaBoostNew1\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\bin\
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\bin\src\
?????文件?????????260??2014-03-06?17:14??AdaBoostNew1\bin\src\MergeSort.class
?????文件????????4741??2014-03-06?17:01??AdaBoostNew1\bin\src\adaboost.class
?????文件?????????788??2014-03-06?16:57??AdaBoostNew1\bin\src\classiffier.class
?????文件?????????621??2014-03-06?10:01??AdaBoostNew1\bin\src\point.class
?????文件????????2036??2014-03-06?17:04??AdaBoostNew1\bin\src\test.class
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\src\
?????目錄???????????0??2014-03-06?18:43??AdaBoostNew1\src\src\
?????文件??????????47??2014-03-06?17:14??AdaBoostNew1\src\src\MergeSort.java
?????文件????????3631??2014-03-06?17:01??AdaBoostNew1\src\src\adaboost.java
?????文件?????????653??2014-03-06?16:57??AdaBoostNew1\src\src\classiffier.java
?????文件?????????352??2014-03-06?10:01??AdaBoostNew1\src\src\point.java
?????文件????????1251??2014-03-06?17:04??AdaBoostNew1\src\src\test.java

評論

共有 條評論

相關資源