0
我是利用deeplearning4j中的新功能。我正在包含標記和未標記數據的數據集上運行paragraphvector分類器,並獲得結果。當我使用相同的配置再次在相同的數據集上運行它時,我會得到另一個結果!新的結果接近前一個,但它爲什麼會產生稍微不同的結果?!我的意思是,結果幾乎不同,就像第一次運行時一樣,它會檢測並分配兩個測試樣本給我們的第一個類,第二次運行時,它將這兩個樣本或可能其中一個分配給另一個類。它通常只發生一兩個或三個樣本。也許我需要事先通知你,我們有三個班,他們都與癌症類型有關。 任何提示/幫助/建議將不勝感激。deeplearning4j中的段落插圖
我使用了這樣的配置如下:
paragraphVectors = new ParagraphVectors.Builder()
.learningRate(0.2)
.minLearningRate(0.001)
.windowSize(2)
.iterations(3)
.batchSize(500)
.workers(4)
.stopWords(stopWords())
.minWordFrequency(10)
.layerSize(100)
.epochs(1)
.iterate(iterator)
.trainWordVectors(true)
.tokenizerFactory(tokenizerFactory)
.build();
感謝您的回覆!我使用StemmingPreprocessor而不是CommonPreprocessor來處理標記化部分。你的意思是不好的輸入是什麼意思? –
我也覆蓋了StemminPreprocessor,如下所示將連續的數字轉換爲空格:@Override \t public String preProcess(String token){ token = token.toLowerCase(); String base = super.preProcess(token); base = base.replaceAll(「\\ d +。*」,「」); 返回基地; } –