简单机器学习任务中的搜索与分类器分析
1. 爬山搜索算法
爬山搜索算法是一种重要的搜索技术,其具体步骤如下:
|步骤|操作|
| ---- | ---- |
|1|创建两个列表,L 和 Lseen。开始时,L 仅包含初始状态,Lseen 为空。|
|2|令 n 为 L 的第一个元素,将此状态与最终状态进行比较。若相同,则成功停止。|
|3|对 n 应用所有可用的搜索操作符,得到一组新状态。丢弃那些已存在于 Lseen 中的状态,其余状态按评估函数排序并置于 L 的前端。|
|4|将 n 从 L 转移到已调查状态列表 Lseen 中。|
|5|若 L 为空,停止并报告失败;否则,返回步骤 2。|
在这个过程中,评估函数起着关键作用,它用于衡量状态的优劣,影响着爬山搜索的行为。例如,在某些状态下,可能没有“子”状态比其“父”状态有明显改进,就像爬山者有时需要先穿过山谷才能继续攀登一样,这也是该技术得名的由来。
下面通过 mermaid 展示爬山搜索算法的流程图:
graph TD
A[开始] --> B[创建 L 和 Lseen,L 含初始状态,Lseen 为空]
B --> C[n = L 的第一个元素]
C --> D{状态 n 与最终状态相同?}
D -- 是 --> E[成功停止]
D -- 否 --> F[对 n 应用搜索操作符得新状态]
F --> G[丢弃 Lseen 中已有的状态]
G --> H[按评估函数排序新状态并
超级会员免费看
订阅专栏 解锁全文
443

被折叠的 条评论
为什么被折叠?



