优化
非常重要:以反馈的方式来进行数据的预处理
思想:
1.结合使用的评价、挖掘算法构建成本函数,以一条完整的记录作为输入,以记录每个属性对应的权重构成一个向量,作为输出,并使得效果越差的输入,输出值越大
2.使用各种算法对成本函数进行计算,找出最优解:
随机、爬山、模拟退火、遗传算法
3.一个优化算法是否成功取决于问题本身
1. 随机优化:
a) 定义:对数学化后问题,随机取值求以求得最优解的过程
b) 描述题解:选择一个题解的简单表示方法,而不局限于组团旅游的具体问题。常用方法是数字序列,将一系列的选择的题解用数字抽象表达出来
c) 成本函数:解决最优化问题的关键i. 任何优化算法的目标,就是寻找一组能使成本函数的结果最小的输入ii. 成本函数的构造是非常困难的,因为根据众多变量来鉴别结果的好坏是困难的,一般选取最重要的变量进行计算(只要做少许的修改就能得到最优解)iii. 对于度量单位不同的变量,我们需要进行标准化,比如:时间和费用,可以将时间量化为1元/分钟,来统一度量所有的变量
2. 随机搜索:
a) 评估其他算法优劣的基线
b) 两个参数:
i. Domain是一个二元组组成的列表,列表长度为题解的长度,每个二元组标识了变量取值的最小值和最大值ii. 成本函数
c) 效率较低
3. 爬山法:
a) 从随机解开始,从其临近的解集中寻找更好的题解,直到没有相邻能改善题解安排为止4. 模拟退火算法
b) 但是可能找到的是局部最优解,可以用随机重复爬山法,来改善
a) 物理学启发,退火是指将合金先加热后再慢慢冷却的过程退火算法以一个随机解开始,一个变量标识温度,此温度开始非常高,尔后逐渐降低
b) 和爬山法最大的区别在于:在算法初期,如果新的成本比当前题解更优,也有可能成为新的题解。而随着过程的不断进行,算法越来越不可能接受较差的结果
i. 概率公式:
5. 遗传算法
a) 过程:先随机生成一组解,成为种群,然后计算整个种群的成本函数;对种群按照成本排序,将最优的题解放入新种群中,这一过程称为精英选拨法;新种群中其它元素由修改最优解形成的全新解组成,有两种修改方法
b) 经过指定的迭代i. 较为简单的变异法:对最优解进行微小的、简单的、随机改变,比如修改最小解中的一个数字(递增、递减)ii. 交叉或者配对:选择最优解中的两个解,以某种方式进行组合
6. 思考:
a) 一个优化方法是否管用很大程度上取决于问题本身
7. 组团旅游的问题:
a) 成本函数的构建
i. 选取飞机票价格和等待的时间最为变量构建成本函数,同时将在机场等待的时间、直达飞机减少的等待时间价值量化。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?