This is my blog.
两个自然启发式的算法感觉机器学习的算法像模拟,仿生学😳
我瞎说的
粒子群算法(PSO)
来源于鸟觅食,自己的经验以及他人的经验。每只鸟记住的最优位置是局部最优。整个鸟群的觅食中心趋向全局最优。是一种概率算法。也可以用来训练神经网络(🧝🏻♀️)
三准则
冲突避免、速度匹配、群体中心
中心算法
p:位置 v:速度
式一:\(v_i^d = \omega v_i^d+c_1 r_1(p_i^d - x_i^d)+c_2 r_2(p_g^d - x_i^d \)
式二:\(x_i^d = x_i^d + \alpha v_i^d \)
其中\(\omega\)是非负数,惯性因子;加速常数\(c_1 \)和\(c_2 \)是非负常数;\(r_1 \)和\(r_2 \)是[0,1]范围内变换的随机数;\(\alpha\)是约束因子,控制速度的权重。
步骤
- 初始化;粒子群(速度、位置)、惯性因子、加速常数、最大迭代次数、算法终止最小允许误差
- 评价每个粒子的初始适应值
- 将初始适应值作为当前局部最优值,最佳初始适应值最为全局最优值
- 根据式一更新速度
- 根据式二,计算,若更优,则更新
- 重复4,5,直到达到终止条件
- 输出
参数选择
- 粒子数
一般20~40,对于特殊100~200,粒子数越多,越容易找到全局最优解 - 惯性因子
其大了,更新幅度大了,全局搜索能力增强,但容易错失局部寻优能力;
一般为0.6~0.7 - 加速常数
一般两者都取2.0;\(c_1 = 0 \)没有自身经验;\(c_2 = 0 \)没有社会经验 - 最大飞翔速度
设定为每维变化的10%~20%
例子
\(max f(x) = 2.1(1-x+2x^2)e^(-\frac{x^2}{2}),x \in \left[ -5,5 \right] \)
蚁群算法
自然界蚂蚁寻食的最短路径
TSP
以TSP为例,流程如下:
- 初始化
- 随机放置蚂蚁
- 对每只蚂蚁选择下个城市
- 若还有城市可选,则3
- 更新信息素表
- 未达到最大迭代次数,则2
- 输出
步骤如下:
- 数据准备
- 计算城市距离矩阵,对角线元素因为要保证启发函数不为零,设置为一个足够小的正数,\(10^-3\)以下即可
- 初始化参数
- 迭代寻找最佳路径
- 结果显示
后记
Matlab算法应该算是结束了
小波分析和计算机虚拟涉及到傅立叶函数
我我我 数学太差了
看一堆公式头疼 还需要工具箱呢
就算了吧!
若是空手敲,估计一个都不行
但也算是大概了解原理了
以后也不知道会不会用了
其实感觉在数模中,我也不需要特别会
他们研究完就直接上手了(感觉小菜一碟)
我打杂的~~
不过还是要有备无患么
万一来不及呢
多学习一点呗
不过寒假有一个计划是完蛋了
不知道怎么交差哎
约好的杭图 也被我的迷糊给黄了
下次得规划好才行呢
准备回家踏青啦!!!
转载请注明出处,谢谢。
愿 我是你的小太阳