南京邮电大学通达学院 2021-2022 学年第 1 学期《机器学习》期末大作业
1.0 引言
软件系统自适应性(softwareself-adaptation)指系统能够在运行时(run-
time),根据其对环境和系统本身的感知,自主地调整自身的行为,以有效地应对动
态变化的环境和不确定的需求,从而使系统具有更好的灵活性、可靠性、鲁棒性
等川其核心是构造自适应策略。借助高效的算法来解决软件系统自适应行为中隐
含的搜索、最优化和不确定性分析
等问题[1]。目前已有不少工作研究机器学习赋能的软件系统自适应性,它们
各自有着不同的关注点,解决不同的自适应问题。
1.1 机器学习策略
策略的构造方式有三:(1)设计者根据具体场景和具体问题,通过定义--组规
则作为自适应策略;(2)基于控制论的思想将软件系统自适应策略显式地建模为“感
知(sense)-规划(plan)-执行(act)”"的控制回路;(3)将软件自适应策略的构造转
换为机器学习任务,[2]通过学习算法得到自适应策略.目前,基于控制论的方法
比较主流,已有文献对其进行了系统性的综述。通过机器学习构建软件系统的自适
应策略是一种有效手段,其原理是将软件系统自适应行为转换为分类、回归、聚
类、决策等机器学习擅长的问题,利用监督学习、无监督学习、强化学习、贝叶斯
网 络 等 技 术 , 获 取 自 适 应 策 略 . 其 优 点 是 :(1) 在 预 先 缺 少 领 域 知 识 (domain
knowledge)的情况下,学习出满足性能要求的自适应策略。
1.2 面向自适应目标的机器学习任务视角
软件系统自适应性本质上是应对不确定性,含场景不确定性、环境和系统的动
态变化性、效果的不确定性.这 3 类不确定性分别为机器学习方法限定了不同的问
题域(problemdomain).下面将根据面向目标的方法对此进行分析,从问题域出发,
[3]划分出不同的任务,最终到具体的机器学习技术。
·场景的不确定性:系统设计时,对环境或系统的知识掌握不完整或存在不一
致,难以确定其环境变量的取值或系统的配置,这是产生自适应需求的根本原因.
这类不确定性包括需求缺失、需求二义性、需求改变、环境假设不准确或错误、
传感器误差或错误、监控信息不完整等。
·系统和环境的动态变化性:系统运行时,其运行环境、交互环境或系统自身
的状态都会发生动态改变,这是产生系统自适应需求的运行时原因,具体包括环境
特性改变、环境行为改变、系统结构改变、系统行为改变、系统属性改变等。
·操作效果的不确定性:系统运行时,由于操作延迟、假设错误、外界干扰等,
导致系统行为的实际结果和预期结果不一致。
1.2.1 端到端的方法
评论5
最新资源