Prob_Solve 板


LINE

我最近在實作svm....用十筆資料作training data (例:(1,3,-1)而內積用一般內積但是 我將Ld作偏微解聯立方程式a1,a2.....aN解不出來.....請各位對svm熟的大大....能否幫 我解答...謝謝 以下是我的程式碼: //--------------------------------------------------------------------------- #pragma hdrstop #include <stdio.h> //--------------------------------------------------------------------------- #pragma argsused void main(int argc, char* argv[]) { int i, j,k,m,l,g=0,p; float s; int k1[10][10]; int A[10][11]; int x[10][3] = { {1, 1, 1}, {1, 3, 1}, {-1,2, 1}, {-2,3, 1}, {-2,5, 1}, {4, 10, -1}, {5, 20, -1}, {5, -1, -1}, {10, 50, -1}, {9, 12, -1} }; float d,w[2],N,n; float b[10][11]; for (i=0;i<10;i++){ for (j=0;j<10;j++){k1[i][j]=x[i][0]*x[j][0]+x[i][1]*x[j][1];} } printf("------------------------K(X1,X2)-----------------------------------"); printf("\n"); for (i=0;i<10;i++){ for (j=0;j<10;j++){printf(" %4d ", k1[i][j]);} printf("\n"); } printf("-------對Ld作偏微所得到之聯立方程式(augmented matrix)----------------"); printf("\n"); for (i=0;i<10;i++){ for (j=0;j<10;j++) { A[i][j]=(x[i][2]*x[j][2]*k1[i][j]+x[j][2]*x[i][2]*k1[j][i])*0.5; } } for (j=0;j<10;j++){ A[j][10]=1; } for (i=0;i<10;i++){ for (j=0;j<11;j++){ printf(" %4.2d ", A[i][j]); } printf("\n"); } printf("---------------------求解 a1,a2,a3....a10------------------------------"); printf("\n"); for(i=0;i<10;i++){ for(j=0;j<11;j++) { b[i][j]=A[i][j];} } for (i=0;i<2;i++){ d=b[i][i]; for(j=0;j<11;j++){ b[i][j]= (b[i][j]*1.0)/d ; } for(k=i+1;k<10;k++){ s=b[k][i]*(-1) ; for(l=0;l<11;l++){ b[k][l]=b[i][l]*s+b[k][l];} } for(k=i-1;k>=0;k--) { s=b[k][i]*(-1) ; for(l=0;l<11;l++){ b[k][l]=b[i][l]*s+b[k][l]; } } } for (i=0;i<10;i++){ for (j=0;j<10;j++){ printf(" %6.1f ", b[i][j]);} printf("\n"); } for (i=0;i<10;i++){ printf(" %6.1f ", b[i][10]); printf("\n"); } printf("---------------------找出一個非零的 a--------------------------------"); printf("\n"); while(g<10){ if(b[g][10]!=0.000000){ printf("%d",g); printf("\n"); p=g; g++ ; break; } g++ ; } printf("--------------------求 b-----------------------------------------------"); printf("\n"); for(i=0;i<10;i++){ n+=b[i][10]*x[i][2]*A[i][p];} N=n-A[p][2] ; printf("%f",N); printf("\n"); printf("-----------------求 vector W---------------------------------------") ; printf("\n"); for(i=0;i<10;i++){ w[0] +=b[i][10]*x[i][2]*x[i][0] ; w[1] +=b[i][10]*x[i][2]*x[i][1] ; } for(i=0;i<2;i++){ printf("%f",w[i]); printf("\n");} printf("-----------------optimal hyperplane----------------------------------"); printf("\n"); printf("Wx+b=(%f,%f)x+%f",w[0],w[1],N); getc(stdin); } //--------------------------------------------------------------------------- --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.153.243
1F:推 yoco315:好難 QQ 完全看不懂 12/17 04:35
2F:推 H45:我需要 pseudocode.... 還有演算法及註解.... 12/17 22:59
4F:推 H45:有 C++ 和 Java 的 source code, 參考看看吧! 12/17 23:03







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP