📄 cglinearclassifierfactory.java
字号:
package edu.stanford.nlp.classify;import java.util.*;import edu.stanford.nlp.util.*;import edu.stanford.nlp.optimization.*;/** @author Dan Klein */public class CGLinearClassifierFactory extends AbstractLinearClassifierFactory { boolean useSum = false; double TOL = 1e-4; double sigma = 1.0; public double[][] trainWeights(int[][] data, int[] labels) { Minimizer minimizer = new CGMinimizer(false); DiffFunction objective = (useSum ? new SumConditionalObjectiveFunction(numFeatures(), numClasses(), data, labels): new LogConditionalObjectiveFunction(numFeatures(), numClasses(), data, labels, sigma)); double[] weights = minimizer.minimize(objective, TOL, ((HasInitial)objective).initial()); //System.err.println("Final derivative norm2: "+((AbstractCachingDiffFunction)objective).norm2(((AbstractCachingDiffFunction)objective).derivative)); return ((LogConditionalObjectiveFunction)objective).to2D(weights); } public CGLinearClassifierFactory() { }; public CGLinearClassifierFactory(boolean useSum) { this.useSum = useSum; }; public CGLinearClassifierFactory(double tol) { this.TOL = tol; }; public CGLinearClassifierFactory(double tol, boolean useSum) { this.TOL = tol; this.useSum = useSum; }; public CGLinearClassifierFactory(double tol, boolean useSum, double sigma) { this.TOL = tol; this.useSum = useSum; this.sigma = sigma; };}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -