类 ANN_MLP


  • public class ANN_MLP
    extends StatModel
    人工神经网络 - 多层感知器。与 ML 中许多其他一次构建和训练的模型不同,在 MLP 模型中,这些步骤是分开的。首先,使用非默认构造函数或 ANN_MLP::create 方法创建一个具有指定拓扑结构的网络。所有权重都设置为零。然后,使用一组输入和输出向量来训练网络。训练过程可以重复多次,也就是说,可以根据新的训练数据调整权重。StatModel::train 提供了额外的标志:ANN_MLP::TrainFlags。参见:参考:ml_intro_ann
    • 构造函数详情

      • ANN_MLP

        protected ANN_MLP​(long addr)
    • 方法详情

      • __fromPtr__

        public static ANN_MLP __fromPtr__​(long addr)
      • setTrainMethod

        public void setTrainMethod​(int method,
                                   double param1,
                                   double param2)
        设置训练方法和常用参数。
        参数
        method - 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。
        param1 - 传递给 ANN_MLP::RPROP 的 setRpropDW0,ANN_MLP::BACKPROP 的 setBackpropWeightScale,以及 ANN_MLP::ANNEAL 的 initialT。
        param2 - 传递给 ANN_MLP::RPROP 的 setRpropDWMin,ANN_MLP::BACKPROP 的 setBackpropMomentumScale,以及 ANN_MLP::ANNEAL 的 finalT。
      • setTrainMethod

        public void setTrainMethod​(int method,
                                   double param1)
        设置训练方法和常用参数。
        参数
        method - 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。
        param1 - 传递给 ANN_MLP::RPROP 的 setRpropDW0,ANN_MLP::BACKPROP 的 setBackpropWeightScale,以及 ANN_MLP::ANNEAL 的 initialT。
      • setTrainMethod

        public void setTrainMethod​(int method)
        设置训练方法和常用参数。
        参数
        method - 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。
      • getTrainMethod

        public int getTrainMethod()
        返回当前训练方法
        返回值
        自动生成
      • setActivationFunction

        public void setActivationFunction​(int type,
                                          double param1,
                                          double param2)
        初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。
        参数
        type - 激活函数的类型。参见 ANN_MLP::ActivationFunctions。
        param1 - 激活函数的第一个参数,\(α\)。默认值为 0。
        param2 - 激活函数的第二个参数,\(β\)。默认值为 0。
      • setActivationFunction

        public void setActivationFunction​(int type,
                                          double param1)
        初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。
        参数
        type - 激活函数的类型。参见 ANN_MLP::ActivationFunctions。
        param1 - 激活函数的第一个参数,\(α\)。默认值为 0。
      • setActivationFunction

        public void setActivationFunction​(int type)
        初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。
        参数
        type - 激活函数的类型。参见 ANN_MLP::ActivationFunctions。
      • setLayerSizes

        public void setLayerSizes​(Mat _layer_sizes)
        整数向量,指定每一层的神经元数量,包括输入层和输出层。第一个元素指定输入层中的元素数量。最后一个元素指定输出层中的元素数量。默认值为空 Mat。参见:getLayerSizes
        参数
        _layer_sizes - 自动生成
      • getLayerSizes

        public Mat getLayerSizes()
        整数向量,指定每一层的神经元数量,包括输入层和输出层。第一个元素指定输入层中的元素数量。最后一个元素指定输出层中的元素数量。参见:setLayerSizes
        返回值
        自动生成
      • getTermCriteria

        public TermCriteria getTermCriteria()
        参见:setTermCriteria
        返回值
        自动生成
      • setTermCriteria

        public void setTermCriteria​(TermCriteria val)
        getTermCriteria 参见:getTermCriteria
        参数
        val - 自动生成
      • getBackpropWeightScale

        public double getBackpropWeightScale()
        参见:setBackpropWeightScale
        返回值
        自动生成
      • setBackpropWeightScale

        public void setBackpropWeightScale​(double val)
        getBackpropWeightScale 参见:getBackpropWeightScale
        参数
        val - 自动生成
      • getBackpropMomentumScale

        public double getBackpropMomentumScale()
        参见:setBackpropMomentumScale
        返回值
        自动生成
      • setBackpropMomentumScale

        public void setBackpropMomentumScale​(double val)
        getBackpropMomentumScale 参见:getBackpropMomentumScale
        参数
        val - 自动生成
      • getRpropDW0

        public double getRpropDW0()
        参见:setRpropDW0
        返回值
        自动生成
      • setRpropDW0

        public void setRpropDW0​(double val)
        getRpropDW0 参见:getRpropDW0
        参数
        val - 自动生成
      • getRpropDWPlus

        public double getRpropDWPlus()
        参见:setRpropDWPlus
        返回值
        自动生成
      • setRpropDWPlus

        public void setRpropDWPlus​(double val)
        getRpropDWPlus 参见:getRpropDWPlus
        参数
        val - 自动生成
      • getRpropDWMinus

        public double getRpropDWMinus()
        参见:setRpropDWMinus
        返回值
        自动生成
      • setRpropDWMinus

        public void setRpropDWMinus​(double val)
        getRpropDWMinus 参见:getRpropDWMinus
        参数
        val - 自动生成
      • getRpropDWMin

        public double getRpropDWMin()
        参见:setRpropDWMin
        返回值
        自动生成
      • setRpropDWMin

        public void setRpropDWMin​(double val)
        getRpropDWMin 参见:getRpropDWMin
        参数
        val - 自动生成
      • getRpropDWMax

        public double getRpropDWMax()
        参见:setRpropDWMax
        返回值
        自动生成
      • setRpropDWMax

        public void setRpropDWMax​(double val)
        getRpropDWMax 参见:getRpropDWMax
        参数
        val - 自动生成
      • getAnnealInitialT

        public double getAnnealInitialT()
        参见:setAnnealInitialT
        返回值
        自动生成
      • setAnnealInitialT

        public void setAnnealInitialT​(double val)
        getAnnealInitialT 参见:getAnnealInitialT
        参数
        val - 自动生成
      • getAnnealFinalT

        public double getAnnealFinalT()
        参见:setAnnealFinalT
        返回值
        自动生成
      • setAnnealFinalT

        public void setAnnealFinalT​(double val)
        getAnnealFinalT 参见:getAnnealFinalT
        参数
        val - 自动生成
      • getAnnealCoolingRatio

        public double getAnnealCoolingRatio()
        参见:setAnnealCoolingRatio
        返回值
        自动生成
      • setAnnealCoolingRatio

        public void setAnnealCoolingRatio​(double val)
        getAnnealCoolingRatio 参见:getAnnealCoolingRatio
        参数
        val - 自动生成
      • getAnnealItePerStep

        public int getAnnealItePerStep()
        参见:setAnnealItePerStep
        返回值
        自动生成
      • setAnnealItePerStep

        public void setAnnealItePerStep​(int val)
        getAnnealItePerStep 参见:getAnnealItePerStep
        参数
        val - 自动生成
      • getWeights

        public Mat getWeights​(int layerIdx)
      • create

        public static ANN_MLP create()
        创建空模型。使用 StatModel::train 训练模型,使用 Algorithm::load<ANN_MLP>(filename) 加载预训练模型。注意,train 方法有可选标志:ANN_MLP::TrainFlags。
        返回值
        自动生成
      • load

        public static ANN_MLP load​(java.lang.String filepath)
        从文件中加载并创建一个序列化的 ANN。使用 ANN::save 将 ANN 序列化并存储到磁盘。通过使用此函数和文件的路径再次加载 ANN。
        参数
        filepath - 序列化 ANN 的路径
        返回值
        自动生成
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类 StatModel
        抛出
        java.lang.Throwable