精华内容
下载资源
问答
  • 对算法中的参数
    千次阅读
    2020-08-23 11:14:55

    本博文源于matlab遗传算法,旨在讲述算法参数设置以及算法结束条件。

    算法参数

    种群规模M(即群体中所含个体的数量)

    • 一般规模含20-100点

    规模太大:会增加计算量
    规模太小:不能提供足够的采样点

    遗传算法的终止进化代数G:

    • 一般取为100-500代

    迭代太长:运行时间过长
    迭代太短:无法出现最优解

    交叉概率Pc

    • 一般经验取值为0.4-0.99

    概率太大:会使种群中高适应度个体的结构很快被破坏掉
    概率太小:搜索停滞不前

    变异概率Pm

    • 一般取值为0.0001-0.1

    太大:变成随机搜索
    太小:不会产生新的基因使得早熟

    遗传算法进化结束条件

    • 染色体变化不大,群体趋于稳定。
    • 目标函数达到预设的要求
    • 迭代次数满足最大代数。
    更多相关内容
  • 基于遗传算法的PID参数优化控制的讲解,有很经典的代码可以学习下
  • 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码 文章目录智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码1.PID简介2.麻雀搜索算法简介3.适应度函数设计4.算法实验与结果5.参考文献:6.Matlab ...

    智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码


    摘要:本文主要介绍如何用麻雀搜索算法进行PID参数的优化。

    1.PID简介

    PID(Proportion-Integration-Differentiation)控 制 器通过比例单元 P、积分单元 I和微分单元 D 的线性组合构成控制量来实现对被控对象的控制,主要适用于基本线性和动态特性不随时间变化的系统。不同的控制规律适用于不同的生产过程,必须合理选择相应的控制规律,否则PID控制器将达不到预期的控制效果当PID控制器采样周期较小时,可以将连续系统离散化,即以一阶差分代替微商,求和代替积分,矩形积分近似代替连续积分,得到如下差分方程:
    Δ u ( t ) = K p Δ e ( k ) + K i Δ e ( k ) + K d Δ 2 e ( k ) (1) \Delta u(t)=K_p \Delta e(k) + K_i \Delta e(k) + K_d \Delta ^2e(k)\tag{1} Δu(t)=KpΔe(k)+KiΔe(k)+KdΔ2e(k)(1)
    其中e为输入, K p K_p Kp 为比例系数, K i K_i Ki 为积分时间常数, K d K_d Kd 为微分时间常数。

    2.麻雀搜索算法简介

    麻雀搜索算法具体原理请参照:https://blog.csdn.net/u011835903/article/details/108830958

    3.适应度函数设计

    在此算法中,目标函数设置如下:
    F = ∫ 0 ∞ ( w 1 ∣ e ( t ) ∣ + w 2 u 2 ( t ) ) d t (2) F = \int_{0}^{\infty}(w_1|e(t)|+w_2u^2(t))dt \tag{2} F=0(w1e(t)+w2u2(t))dt(2)

    其中, e ( t ) e(t) e(t) 为输入值与输出值之间的误差,考虑到迭代过程的动态特性,采取其绝对值的积分; u ( t ) u(t) u(t) 为控制值,加入此项是为了避免控制幅度过大; w 1 w_1 w1 ω 2 ω_2 ω2 为权重,取值范围[0,1]。

    此外,还需采取限制措施防止超调,即当出现超调时,在目标函数中额外引入超调项,此时的设置如下:
    F = ∫ 0 ∞ ( w 1 ∣ e ( t ) ∣ + w 2 u 2 ( t ) + w 3 ∣ e ( t ) ∣ ) d t , e ( t ) < 0 (3) F =\int_{0}^{\infty}(w_1|e(t)| + w_2u^2(t)+w_3|e(t)|)dt,e(t)<0 \tag{3} F=0(w1e(t)+w2u2(t)+w3e(t))dt,e(t)<0(3)
    其中, w 3 w_3 w3为权值,且 w 3 > > w 1 w_3 >>w_1 w3>>w1 ,一般情况下, w 1 = 0.999 , w 2 = 0.001 , w 3 = 100 w_1 =0.999,w_2 =0.001 , w_3 =100 w1=0.999w2=0.001w3=100

    所以麻雀算法的目标就是找到一组pid值,使得F误差最小。

    4.算法实验与结果

    本文选择二阶系统的传递函数:
    G ( s ) = 50 / ( 0.125 s 2 + 7 s ) (4) G(s) = 50/(0.125s^2+7s) \tag{4} G(s)=50/(0.125s2+7s)(4)
    麻雀算法参数设置如下:

    SearchAgents_no=50; %  种群数量
    Max_iteration=100; %  设定最大迭代次数
    lb = -5; %下边界
    ub = 5;  %上边界
    dim = 3; %维度pid3个参数
    S = 1;% 1为单位阶跃响应,其他为正弦输入
    fobj = @(X) PID_controller(X,S);%适应度函数
    
    

    单位阶跃响应寻优结果:

    在这里插入图片描述

    kp,ki,kd的值为:5 0.047998 0.045294

    正弦函数输入结果:

    在这里插入图片描述

    kp,ki,kd的值为:5 -5 2.0404

    从收敛曲线来看,单位阶跃和正弦输入,算法都在不断寻优。从单位阶跃响应来看,系统上升时间和超调均较小,控制效果明显。从正弦输入结果来看,输入与输出控制量误差较小。

    5.参考文献:

    [1] 贺圣彦, 曹中清, 余胜威. 基于花授粉算法的PID参数优化[J]. 计算机工程与应用, 2016.

    6.Matlab 代码

    基于麻雀搜索算法PID参数优化
    粒子群优化的PID参数优化
    灰狼优化的PID参数优化
    鲸鱼优化的PID参数优化
    人工蜂群优化的PID参数优化
    萤火虫优化的PID参数优化
    布谷鸟优化的PID参数优化
    海鸥优化的PID参数优化
    鸡群优化的PID参数优化
    花授粉优化的PID参数优化
    头脑风暴优化的PID参数优化
    蝗虫优化的PID参数优化
    鸟群优化的PID参数优化
    差分进化优化的PID参数优化
    遗传算法优化的PID参数优化
    樽海鞘算法优化的PID参数优化
    教与学算法优化的PID参数优化

    个人资料介绍

    展开全文
  • 侯雄文摘 要 传统的DBSCAN密度聚类算法,需要人为设置邻域阈值(Eps)和点数阈值(minPts)2个参数数据集进行聚类,由于minPts和Eps具有全局性,使得DBSCAN算法对参数很敏感, 特别是分布不均匀的数据集。...

    侯雄文

    摘 要 传统的DBSCAN密度聚类算法,需要人为设置邻域阈值(Eps)和点数阈值(minPts)2个参数来对数据集进行聚类,由于minPts和Eps具有全局性,使得DBSCAN算法对参数很敏感, 特别是分布不均匀的数据集。针对DBSCAN算法中这一问题,本文研究改进的算法通过对数据点的k最近点平均距离进行分析,根据其统计特性动态地确定minPts和多个Eps值,然后根据所求得的多组(minPts, Eps)值依次对数据集进行聚类,从而达到自适应设置参数的目的。

    关键词 聚类算法 自适应 参数

    中图分类号:TP31 文献标识码:A

    聚类算法是数据挖掘、模式识别等研究中的一项重要技术。聚类的目的是把数据集分成若干类或簇,使得同一个类中的元素相似性较大,不同类中的元素相似性较小。其中,有多种方法来确定DBSCAN的两个阈值参数Eps和minPts。对于minPts的确定,在数据点不多的情况下,minPts在二维空间中的聚类中一般取4. 另外取数据集合的1/25作为minPts的值也是一种比较有效的方法。

    本文针对密度分布不均匀的数据集的minPts和Eps的取值问题,提出了一种新的改进的基于k最近点平均距离的(DBSCAN based on K Nearest Average Distance, KNA-DBSCAN)聚类算法,该算法通过对数据点的k最近点平均距离的统计特性进行分析,自动的确定minPts和多个Eps参数,使其可以对密度分布不均匀的数据集进行聚类。

    1 DBSCAN算法

    DBSCAN算法是基于中心的密度聚类算法,相关概念如下:

    定义1 数据点的Eps邻域:数据集D中任意数据点P,P的邻域Eps(P)定义为以P为中心,Eps半径的球形区域,公式表示为:

    EPS(p)={q∈D|dist(p,q)≤Eps}

    其中dist(p,q)表示数据点p和q之间的距离,这里采用欧式距离。

    定义2 数据点的密度:数据集D中任意数据点P,所在的Eps邻域内,包含的数据点的数目,叫做数据点P的密度。

    定义3 核心数据点:对于数据点P,p∈D ,如果以P为中心,以Eps为半径,在Eps(P)内的数据点的个数超过给定的minPts,则称P为核心数据点。

    定义4 边界数据点:对于数据点P, p∈D,如果P不是核心数据点,但是P在某核心数据点q的邻域Eps(q)内,则称数据点p为边界数据点

    定义5 噪音点:对于数据点p, p∈D,若p既不是核心数据点,也不是边界數据点,则p为噪音点或离群点。

    定义6 直接密度可达:给定数据点集D,若数据点p在数据点q的邻域内,若q为核心数据点,则称从数据点p出发到数据点q是直接密度可达。

    定义7 密度相连:若一个数据点o∈D,使得数据点p和数据点q都从点o在(minPts,Eps)条件下密度可达,则称数据点p和数据点q密度相连,密度相连是对称的。

    2 KNA-DBSCAN算法

    定义8:密度层次:按照数据集中数据点的密度不同,将数据点分为不同的密度层次,密度相近的点簇在同一个密度层次,数据点分布越稠密,密度越大,密度层次也就越大。

    对于分布不均匀的数据集,各个数据点与周围数据的相似程度不同,本文采用数据点与周围的数据点的距离作为衡量该点稠密程度的判断标准。采用数据集D中数据点P的k平均最近距离作为该点稠密程度的评判标准,则p点的k最近点平均距离与k+1最近点平均距离之差则反映了p点密度的变化,变化越小,则p点当前的(k+1)最近点平均距离越能反映p点的密度层次。我们定义密度变化如下:

    定义9:密度变化:数据点P的k最近点平均距离与k+1最近点平均距离之差 △distak:

    对于数据集中所有点的密度变化之和则反映了所有数据点的密度变化,当密度变化之和最小时,则大部分点都达到了自己所在的密度层次。密度变化之和sum_incdistak的计算公式如下:

    其中,pi表示第i个数据点,n表示数据集中数据点的个数。

    2.1 KNA-DBSCAN算法的思想是

    (1)确定k的取值:首先计算所有数据点的k最近点平均距离,然后计算所有数据点的(k+1) 最近点平均距离,求出所有数据点的(k+1) 最近点平均距离与k最近点平均距离的差值即,密度变化,再将这些差值求和,即计算所有点的密度变化之和,找出其中密度变化之和的最小值,此时,对应的(k+1) 最近点平均距离最能反映各点的密度层次,所以取此时的k+1的值作为k的值。

    (2)确定minPts的值:k值确定后,取minPts=k。

    (3)确定多个Eps的值:k值确定后,对所有点的k最近点平均距离求取对数,取对数之后不会改变数据的性质和相关关系,但压缩了变量的尺度,使数据变得更稳定。这里我们将其定义为数据点的对数距离,数据点p的对数距离计算公式如下:

    定义10:密度转折点:若在某数据点Pm处,Pm+1的distak-log的值相对于Pm的distak-bg值突然增大,则称Pm为密度转折点。Pm对应的distak值即为对应的一个密度阈值Eps。

    2.2 KNA-DBSCAN算法聚类步骤

    步骤1:确定Mintps和Eps的值

    根据KNA-DBSCAN算法思想对数据集进行计算,得到minPts和Eps的值,对于密度单一的数据集,得到的Eps只有一个,对于含有多个密度层次的数据集,得到多个Eps值。

    步骤2:进行DBSCAN聚类

    对数据集进行DBSCAN聚类,按照Eps从小到大依次进行聚类,先聚较高密度的簇,再聚较低密度的簇。将聚类成功的类标记为Ci(i≥1),表示数据集的第i个簇。对所有的(minPts,Eps)进行聚类后,没有被标记的点记为离群点或噪音点。

    3结束语

    本文在DBSCAN算法的基础上,提出了参数自适应的KNA-DBSCAN算法,该算法可以根据数据集的特点自动地确定minPts和多个Eps参数,有效地解决了DBSCAN算法对参数敏感的问题。

    参考文献

    [1] Chen,M.S.&J.Han.&P.S,Yu .Data mining:an overview from a database perspective [J]. Knowledge and data Engineering, IEEE Transactions on, 1996, 8(06): 866-883.

    [2] 孙凌燕.基于密度的聚类算法研究[D].太原:中北大学, 2009.

    [3] Daszykowski,M.&B.Walczak&D.L.Massart.Looking for natural patterns in data: Part 1. Density-based approach[J]. Chemometrics and Intelligent Laboratory Systems,2001,56(02): 83-92.

    [4] ZHOU,H.& P.WANG.DBSCAN 算法中参数自适应确定方法的研究[J].西安理工大学学报,2012,28(03).

    [5] 夏鲁宁,荆继武. SA-DBSCAN:一种自适应基于密度聚类算法[J].中国科学院研究生院学报,2009, 26(04):530-538.endprint

    展开全文
  • 在以前的文章我们介绍过一些基于遗传算法的知识,本篇文章将使用遗传算法处理机器学习模型和时间序列数据。 超参数调整(TPOT ) 自动机器学习(Auto ML)通过自动化整个机器学习过程,帮我们找到最适合预测的模型...

    在以前的文章中我们介绍过一些基于遗传算法的知识,本篇文章将使用遗传算法处理机器学习模型和时间序列数据。

    超参数调整(TPOT )

    自动机器学习(Auto ML)通过自动化整个机器学习过程,帮我们找到最适合预测的模型,对于机器学习模型来说Auto ML可能更多的意味着超参数的调整和优化。

    在这里我们使用python的一个名叫Tpot 的包来操作,TPOT 是建立在 scikit-learn 之上,虽然还是处在开发中,但是他的功能已经可以帮助我们了解这些概念了,下图显示了 Tpot 的工作原理:

    from tpot import TPOTClassifier
    from tpot import TPOTRegressormodel = TPOTClassifier(generations=100, population_size=100, offspring_size=None, mutation_rate=0.9, crossover_rate=0.1, scoring=None, cv=5, subsample=1.0, n_jobs=1, max_time_mins=None, max_eval_time_mins=5, random_state=None, config_dict=None, template=None, warm_start=False, memory=None, use_dask=False, periodic_checkpoint_folder=None, early_stop=None, verbosity=0, disable_update_check=False, log_file=None)
    

    通过上面的代码就可以获得简单的回归模型,这是默认参数列表

    generations=100, 
    population_size=100, 
    offspring_size=None  # Jeff notes this gets set to population_size
    mutation_rate=0.9, 
    crossover_rate=0.1, 
    scoring="Accuracy",  # for Classification
    cv=5, 
    subsample=1.0, 
    n_jobs=1,
    max_time_mins=None, 
    max_eval_time_mins=5,
    random_state=None, 
    config_dict=None,
    warm_start=False, 
    memory=None,
    periodic_checkpoint_folder=None, 
    early_stop=None
    verbosity=0
    disable_update_check=False
    

    我们看看有哪些超参数可以进行调整:

    generations :迭代次数。默认值为 100。
    population_size:每代遗传编程种群中保留的个体数。默认值为 100。
    offspring_size:在每一代遗传编程中产生的后代数量。默认值为 100。
    mutation_rate:遗传编程算法的突变率 范围[0.0, 1.0] 。该参数告诉 GP 算法有多少管道将随机更改应用于每词迭代。默认值为 0.9
    crossover_rate:遗传编程算法交叉率, 范围[0.0, 1.0] 。这个参数告诉遗传编程算法每一代要“培育”多少管道。
    scoring:用于评估问题函数,如准确率、平均精度、roc_auc、召回率等。默认为准确率。
    cv:评估管道时使用的交叉验证策略。默认值为 5。
    random_state:TPOT 中使用的伪随机数生成器的种子。使用此参数可确保运行 TPOT 时使用相同随机种子,得到相同的结果。
    n_jobs: = -1多个 CPU 内核上运行以加快 tpot 进程。
    period_checkpoint_folder:  “any_string”,可以在训练分数提高的同时观察模型的演变。
    

    mutation_rate + crossover_rate 不能超过 1.0。

    下面我们将Tpot 和sklearn结合使用,进行模型的训练。

    from pandas import read_csv
    from sklearn.preprocessing import LabelEncoder
    from sklearn.model_selection import RepeatedStratifiedKFold
    from tpot import TPOTClassifier
    
    dataframe = read_csv('sonar.csv')
    #define X and y 
    data = dataframe.values
    X, y = data[:, :-1], data[:, -1]
    
    # minimally prepare dataset
    X = X.astype('float32')
    y = LabelEncoder().fit_transform(y.astype('str'))
    
    #split the dataset
    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
    
    # define cross validation 
    cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
    

    现在我们运行 TPOTClassifier,进行超参数的优化

    #initialize the classifier
    model = TPOTClassifier(generations=5, population_size=50,max_time_mins= 2,cv=cv, scoring='accuracy', verbosity=2, random_state=1, n_jobs=-1)
    model.fit(X_train, y_train)
    
    #export the best model
    model.export('tpot_best_model.py')
    

    最后一句代码将模型保存在 .py 文件中,在使用的是后可以直接import。 因为对于AutoML来说,最大的问题就是训练的时间,所以为了节省时间,population_size、max_time_mins 等值都使用了最小的设置。

    现在我们打开文件 tpot_best_model.py,看看内容:

    import numpy as np
    import pandas as pd
    from sklearn.linear_model import RidgeCV
    from sklearn.model_selection import train_test_split
    from sklearn.pipeline import make_pipeline
    from sklearn.preprocessing import PolynomialFeatures
    from tpot.export_utils import set_param_recursive
    
    # NOTE: Make sure that the outcome column is labeled 'target' in the data file
    tpot_data = pd.read_csv('PATH/TO/DATA/FILE', sep='COLUMN_SEPARATOR', dtype=np.float64)
    features = tpot_data.drop('target', axis=1)
    training_features, testing_features, training_target, testing_target = \
                train_test_split(features, tpot_data['target'], random_state=1)
    
    # Average CV score on the training set was: -29.099695845082277
    exported_pipeline = make_pipeline(
        PolynomialFeatures(degree=2, include_bias=False, interaction_only=False),
        RidgeCV()
    )
    
    # Fix random state for all the steps in exported pipeline
    set_param_recursive(exported_pipeline.steps, 'random_state', 1)
    
    exported_pipeline.fit(training_features, training_target)
    results = exported_pipeline.predict(testing_features)
    

    如果想做预测的话,使用下面代码

    yhat = exported_pipeline.predict(new_data)
    

    以上就是遗传算法进行AutoML/机器学习中超参数优化的方法。 遗传算法受到达尔文自然选择过程的启发,并被用于计算机科学以寻找优化搜索。简而言之遗传算法由 3 种常见行为组成:选择、交叉、突变

    下面我们看看它对处理时间序列的模型有什么帮助

    时间序列数据建模(AutoTS)

    在Python中有一个名叫 AutoTS 的包可以处理时间序列数据,我们从它开始

    #AutoTS
    from autots import AutoTS
    from autots.models.model_list import model_lists
    print(model_lists)
    

    autots中有大量不同类型的时间序列模型,他就是以这些算法为基础,通过遗传算法的优化来找到最优的模型。

    现在让我们加载数据。

    #default data
    from autots.datasets import load_monthly
    #data was in long format
    df_long = load_monthly(long=True)
    

    用不同的参数初始化AutoTS

    model = AutoTS(
        forecast_length=3,
        frequency='infer',
        ensemble='simple',
        max_generations=5,
        num_validations=2,
    )
    model = model.fit(df_long, date_col='datetime', value_col='value', id_col='series_id')
    #help(AutoTS) 
    

    这个步骤需要很长的时间,因为它必须经过多次算法迭代。

    print(model)
    

    我们还可以查看模型准确率分数

    #accuracy score
    model.results()
    #aggregated from cross validation
    validation_results = model.results("validation")
    

    从模型准确度分数列表中,还可以看到上面突出显示的“Ensemble”这一栏,它的低精度验证了一个理论,即Ensemble总是表现更好,这种说法是不正确的。

    找到了最好的模型,就可以进行预测了。

    prediction = model.predict()
    forecasts_df = prediction.forecast
    upper_forecasts_df = prediction.upper_forecast
    lower_forecasts_df = prediction.lower_forecast
    #or
    forecasts_df1 = prediction.long_form_results()
    upper_forecasts_df1 = prediction.long_form_results()
    lower_forecasts_df1 = prediction.long_form_results()
    

    默认的方法是使用AutoTs提供的所有模型进行训练,如果我们想要在一些模型列表上执行,并对某个特性设定不同的权重,就需要一些自定义的配置。

    首先还是读取数据

    from autots import AutoTS
    from autots.datasets import load_hourlydf_wide = load_hourly(long=False)
    
    # here we care most about traffic volume, all other series assumed to be weight of 1
    weights_hourly = {'traffic_volume': 20}
    

    定义模型列表:

    model_list = [
        'LastValueNaive',
        'GLS',
        'ETS',
        'AverageValueNaive',
    ]
    
    model = AutoTS(
        forecast_length=49,
        frequency='infer',
        prediction_interval=0.95,
        ensemble=['simple', 'horizontal-min'],
        max_generations=5,
        num_validations=2,
        validation_method='seasonal 168',
        model_list=model_list,
        transformer_list='all',
        models_to_validate=0.2,
        drop_most_recent=1,
        n_jobs='auto',
    )
    

    在用数据拟合模型时定义权重:

    model = model.fit(
        df_wide,
        weights=weights_hourly,
    )
    
    prediction = model.predict()
    forecasts_df = prediction.forecast
    

    这样就完成了,对于使用来说非常的简单

    相关资源

    以下是两个python包的文档:

    https://winedarksea.github.io/AutoTS/

    http://epistasislab.github.io/tpot/

    最后如果你对参加Kaggle比赛感兴趣,请私信我,邀你进入Kaggle比赛交流群

    展开全文
  • 遗传算法调参 参数设置

    万次阅读 多人点赞 2020-05-03 10:29:01
    遗传算法(Genetic algorithm)遵循适者生存、优胜劣汰的法则,即寻优过程保留有用的,去除无用的。在科学和生产实践表现为在...遗传算法有4个参数需要提前设定,一般在以下范围内进行设置: (1)群体大小...
  • 用遗传算法对支持向量机的参数进行优化,从而提高分类准确率
  • PID 算法参数及调节

    万次阅读 多人点赞 2019-10-03 12:08:40
    PID算法原理 一图看懂PID的三个参数 PID算法实现及参数整定图解(附代码) https://www.cnblogs.com/whylinux/p/10960319.html 公式 PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到...
  • SVM算法参数

    千次阅读 2020-10-22 15:12:33
    1. c : float参数,默认值为1.0 错误项的惩罚系数。 c越大,即分错样本的惩罚程度越大,因此在训练样本准确率越高,但是泛化能力降低,...算法中提供的核函数类型,可选参数有: linear:线性核函数 po
  • 粒子群算法优化PID参数实例

    千次阅读 2021-08-13 21:03:31
    假设问题的解空间很小,比如一个函数 y = x^2 ,解空间在[-1,1],现在求这个函数的最小值,我们完全可以使用枚举法,比如在这里,在解空间[-1,1]上,取1000等分,也就是步长为0.002,生成1000个x值,然后代入函数,...
  • 模型参数优化(一):遗传算法

    万次阅读 多人点赞 2019-06-25 15:57:39
    参数是指算法中的未知数,有的需要人为指定,比如神经网络算法中的学习效率,有的是从数据拟合而来,比如线性回归的系数,如此等等。在使用选定算法进行建模时,设定或得到的参数很可能不是最优或接近最优的,...
  • 模拟退火算法SA参数设置实验记录

    万次阅读 多人点赞 2018-06-09 11:41:48
    模拟退火算法有4个参数N:每个温度迭代次数T:重复降温次数a:降温系数t0:初始温度本文用一个50个城市的TSP问题数据集,用交叉对比的方法调参。一组参数运行200次取平均。首先调初始温度N=1000,T=1000,a=0.99固定...
  • 【寻优算法】遗传算法(Genetic Algorithm) 参数寻优的python实现:多参数寻优一、遗传算法简介1、遗传算法由来2、遗传算法名词概念3、遗传算法中对染色体的操作3.1、选择3.2、交叉3.3、变异二、遗传算法参数寻优...
  • k-means聚类算法原理与参数调优详解

    万次阅读 多人点赞 2019-05-16 08:31:07
    K-means中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类,接着,重新计算每个类的质心(即为...
  • 第一次实验利用5组数据,根据LS算法得出 θ 和P,此第6组开始递推。 [u]=[xlsread('2019作业二时变系统.xlsx','B2:B401')]; [y]=[xlsread('2019作业二时变系统.xlsx','C2:C401')]; [ym]=[xlsread('2019作业二时变...
  • DL之模型调参:深度学习算法模型优化参数LSTM算法进行超参数调优 ...3、基于keras的LSTM算法依次超参进行网格搜索 3.1、LSTM算法网格搜索最佳n_cells 3.2、LSTM算法网格搜索最佳隐藏层数量
  • 【计算智能】粒子群算法参数优化
  • MATLAB遗传算法求解数据拟合和多参数优化问题代码实例 MATLAB遗传算法求解数据拟合和多参数优化问题代码实例 遗传算法参数/多参数寻优 多参数寻优和单一参数寻优的基本思路是相同的,不过在种群初始化时,...
  • 聚类学习KMeans算法参数的含义

    千次阅读 2020-11-21 16:31:13
    聚类学习KMeans算法参数的含义** KMeans函数的参数讲解 n_clusters:整型,默认值为8,表示生成的聚类数 max_iter:整型,缺省值为300,表示执行一次kmeans算法所需要的最大迭代数 n_init:整型,缺省值为10,表示用...
  • 优化算法+神经网络:神经网络自动参数优化

    千次阅读 热门讨论 2021-11-08 20:03:01
    这里写自定义目录标题优化算法进行神经网络的参数寻优,解放深度调参1.已经实现的Genetic Algorithm优化Neural Network功能快捷键2.已经实现的PSO优化Neural Network如何改变文本的样式插入链接与图片如何插入一段...
  • 【寻优算法】粒子群算法(PSO) 参数寻优的python实现一、算法原理1、粒子群算法的名词解释2、粒子更新二、PSO算法参数寻优的python实现参考资料 粒子群优化算法(Particle swarm optimization,PSO)是模拟鸟群...
  • 遗传算法matlab实现方法-多参数辨识

    千次阅读 2021-01-18 15:20:07
    matlab自带遗传算法工具箱性能太差,因此采用外部工具箱来实现,具体安装方法请参考其他答案。 %% matlab_gatbx_test.m %遗传算法求f(x)=x*sin...%定义遗传算法参数 NIND=40; %个体数目(Number of individuals) MA
  • 基于遗传算法的电池参数辨识 1、遗传算法基本思想   遗传算法(Genetic Algorithms)是一种启发式的随机非线性优化与搜索方法,用于模拟生物界的自然选择与遗传过程,从原理和实现手段等方面区别于传统数学规划的...
  • 总结: 1:non-parametric algorithm:Locally weighted linear regression algorithm 2:parametric learning ...对于线性回归算法,一旦拟合出适合训练数据的参数θi’s,保存这些参数θi’s,对于之后的...
  • 所以最后,进行估计得到的参数为: 我们的程序设计,按照论文的说明进行设计,对于非连续时间的函数方程式: 普罗尼算法步骤: 3)特征解求取: 由式递推求解 2.部分程序: ...
  • JVM垃圾回收算法参数配置

    千次阅读 2017-08-05 17:07:30
    ★引用计数法 ...分为标记和清除两个阶段进行处理内存的对象,当然这种方式也有非常大的弊端,就是空间碎片问题,垃圾回收后的空间不连续,不连续的内存空间工作效率低于连续的内存空间。★复制算法(java
  • 回顾一下数据拟合过程,我们有一组数据,并且知道一般表达式,以及表达式中参数的粗略值,也就是拟合参数的初始值,最后一般都能拟合出精确的参数值。但是,如果表达式中参数个数较多,各个参数的粗略值估计不准,用...
  • 传统遗传算法参数怎么合理设置呢?交叉概率、变异概率怎样设置?
  • K-means算法参数详解

    千次阅读 2019-06-14 10:40:40
    参数名称 默认值及输入类型 参数解释 algorithm 默认:Auto 有auto、full和elkan三种选择。 algorithm: 优化算法的选择,有auto、full和elkan三种选择。...
  • 自适应参数的DE算法——JADE,L-SHADE

    千次阅读 多人点赞 2020-07-12 10:40:08
    最近复写一个DE[1](差分进化算法参数的自适应策略的变体L-SHADE[2](CEC冠军算法)的matlab版本,发现其提出的自适应策略DE改进效果明显,于是把其前身JADE[3]整合到一起做个笔记(公式太多,就直接用文章里的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,402,194
精华内容 560,877
热门标签
关键字:

对算法中的参数