<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0

    實(shí)現(xiàn)時(shí)遇到一個(gè)問(wèn)題,就是fi的值的設(shè)定問(wèn)題,因?yàn)槲覀儾捎秒S機(jī)梯度下降法,一方面這節(jié)省了時(shí)間,但是如果fi值亙古不變的話(huà)可能會(huì)面臨跳來(lái)跳去一直找不到答案的問(wèn)題,所以我這里設(shè)定他得知在每一輪之后都會(huì)按比例減小(fi *= 0.5;),大家可以按自己的喜好自由設(shè)定。
    import java.util.Scanner;


    public class Perceptron {
        private static int N = 3;
        private static int n = 2;
        private static double[][] X = null;
        private static double[] Y = null;
        private static double[] W = null;
        private static double B = 0;
        private static double fi = 0.5;
        
        private static boolean check(int id) {
            double ans = B;
            for(int i=0;i<n;i++)
                ans += X[id][i] * W[i];
            if(ans * Y[id] > 0) return true;
            return false;
        }
        
        private static void debug() {
            System.out.print("debug: W");
            for(int i=0;i<n;i++) System.out.print(W[i] + " ");
            System.out.println("/ B : " + B);
        }
        
        public static void solve() {
            Scanner in = new Scanner(System.in);
            System.out.print("input N:"); N = in.nextInt();
            System.out.print("input n:"); n = in.nextInt();
            
            X = new double[N][n];
            Y = new double[N];
            W = new double[n];
            
            System.out.println("input N * n datas X[i][j]:");
            for(int i=0;i<N;i++)
                for(int j=0;j<n;j++)
                    X[i][j] = in.nextDouble();
            System.out.println("input N datas Y[i]");
            for(int i=0;i<N;i++) 
                Y[i] = in.nextDouble();
            
            
            for(int i=0;i<n;i++) W[i] = 0;
            B = 0;
            
            boolean ok = true;
            while(ok == true) {
                ok = false;
                //這里在原來(lái)算法的基礎(chǔ)上不斷地將fi縮小,以避免跳來(lái)跳去一直達(dá)不到要求的點(diǎn)的效果。
                for(int i=0;i<N;i++) {
                    //System.out.println("here " + i);
                    while(check(i) == false) {
                        ok = true;
                        for(int j=0;j<n;j++)
                            W[j] += fi * Y[i] * X[i][j];
                        B += fi * Y[i];
                        //debug();
                    }
                }
                fi *= 0.5;
            }
        }
        
        public static void main(String[] args) {
            solve();
            System.out.print("W = [");
            for(int i=0;i<n-1;i++) System.out.print(W[i] + ", ");
            System.out.println(W[n-1] + "]");
            System.out.println("B = " + B);
        }
    }

    posted on 2015-03-20 11:08 marchalex 閱讀(640) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): java小程序
    主站蜘蛛池模板: 国产人妖ts在线观看免费视频| 亚洲日韩精品A∨片无码加勒比| 香蕉国产在线观看免费| 成人免费毛片内射美女APP| 亚洲精品免费在线| 亚洲高清免费在线观看| 久久久无码精品亚洲日韩京东传媒| 免费人成网站在线观看不卡 | 亚洲国产无线乱码在线观看 | 成人性生交大片免费看午夜a| 亚洲人成激情在线播放| 亚洲精品黄色视频在线观看免费资源| 亚洲精品无码久久久久A片苍井空| 四虎成人免费观看在线网址| 国产精品亚洲专区无码牛牛| 亚洲av午夜精品一区二区三区| 香港经典a毛片免费观看看| 亚洲精品成人区在线观看| 中文字幕视频免费在线观看| 亚洲av午夜成人片精品网站| 18女人腿打开无遮掩免费| 亚洲一级片在线播放| 国产精品色午夜视频免费看 | 国产亚洲男人的天堂在线观看 | 亚洲国产一区二区三区青草影视| 99ee6热久久免费精品6| 亚洲成AV人片久久| 国产一级淫片a视频免费观看| 狠狠躁狠狠爱免费视频无码| 亚洲色四在线视频观看| 欧亚精品一区三区免费| 极品美女一级毛片免费| 亚洲av无码潮喷在线观看| 免费无码A片一区二三区| 黄页网站在线免费观看| 亚洲va在线va天堂va不卡下载| 四虎永久在线精品免费观看视频| 全黄A免费一级毛片| 久久精品国产亚洲av日韩| 在线观看免费大黄网站| 在线观看免费无码视频|