1、如果人工神经网络有两个隐藏层,其性能会受到怎样的影响?
训练时间与隐藏层数量、每层神经元数量以及连续层之间的连接数量成正比。增加隐藏层数量会使训练的计算成本呈指数级增加。对于需要大量输入/输出样本进行训练的情况,这是一个需要处理的严重问题。并且,对于需要经常重新训练的应用,不能随意增加隐藏层数量,否则可能导致输出对用户失去意义。
2、修改睡眠 – 学习人工神经网络(ANN)的Python脚本,添加更多隐藏层。这会有什么影响(如果有的话)?
添加更多隐藏层会使网络能够学习更复杂的模式和特征,可能提高预测的准确性。然而,这也会增加计算成本和训练时间,因为训练时间与隐藏层数量、每层神经元数量以及连续层之间的连接数量成正比。过多的隐藏层还可能导致过拟合,尤其是在训练数据较少的情况下,使得模型在训练数据上表现良好,但在新数据上表现不佳。
3、修改睡眠 – 学习人工神经网络(ANN)的Python脚本,增加隐藏层和神经元的数量,会有什么影响(如果有)?
增加隐藏层和神经元数量,一方面可能提升模型对复杂模式的学习能力,使预测更准确可靠;
另一方面,会增加训练时间和计算成本,尤其是在有大量输入/输出样本用于训练时;
还可能出现过拟合问题。
4、使用人工神经网络(ANN)进行训练,增加训练轮数(epochs)并改变其激活函数。为什么结果会不同?
增加训练轮数和改变激活函数后结果不同,是因为:
增加训练轮数
能让模型有更多机会调整权重以减少误差,使模型学习得更充分,但可能导致
过拟合
;
改变激活函数
会改变神经元的输出特性,不同激活函数有不同的数学性质和映射关系,会影响模型的
非线性表达能力
、
梯度计算
和
收敛速度
,从而使模型学习到不同的特征和模式,最终导致结果不同。
5、如何修改人工神经网络(ANN)架构,以提高其预测能力?
可以尝试以下几种方式来修改架构以提高预测能力:
调整隐藏层数量;
调整隐藏层中的神经元数量;
增加训练的轮数(epochs)。
不过具体效果需要尝试不同的ANN架构来验证。
6、如果增加人工神经网络(ANN)架构的隐藏层数量,性能会受到怎样的影响?尝试不同的ANN架构来证明你的答案。
增加隐藏层数量会使训练的计算成本呈指数级增加。对于需要经常重新训练且使用大量输入/输出样本进行训练的应用,这是一个需要处理的严重问题。
例如,若一个用于可靠预测次日股票走势的ANN需要一周时间来训练,那么无论其输出多么准确,对用户来说都没有意义。
应通过尝试不同的ANN架构,对比不同隐藏层数量下的训练时间、预测准确性等指标来证明。
7、探索美国疾病控制与预防中心(CDC)发布的关于新冠疫情更新的推文与达美航空股票走势之间的可能关系。预计如果疾控中心放宽隔离条件,旅游类股票将升值。使用2020年6月至2020年8月期间发布的推文。●使用人工神经网络(ANN)。●定义你自己的关键词。●试验不同的人工神经网络架构以提高自然语言处理(NLP)性能。●试验不同的关键词组以提高自然语言处理性能。●提出提高自然语言处理性能的方法。
可按以下步骤完成该任务:
数据收集
– 收集2020年6月至8月期间美国疾病控制与预防中心(CDC)发布的关于新冠疫情更新的推文。
– 收集同期达美航空股票的走势数据。
关键词定义
– 使用人工神经网络,自行定义可能与疫情政策、旅游市场相关的关键词,例如:
“隔离放宽”
“旅行限制解除”
其他相关政策或市场敏感词
模型试验
– 试验不同的神经网络架构:
调整隐藏层数量
调整神经元数量
同时尝试不同的关键词组合,观察在哪些条件下自然语言处理的性能更优。
性能优化建议
– 从以下几个方面提出提高自然语言处理性能的方法:
数据清洗
优化关键词选择
改进神经网络架构
增加训练数据量
8、针对美国食品药品监督管理局(FDA)发布的推文,预测莫德纳(Moderna)股票的走势。
1. 使用2020年6月至2020年8月发布的推文。
2. 使用人工神经网络(ANN)。
3. 自行定义关键词。
4. 试验不同的ANN架构以提高自然语言处理(NLP)性能。
5. 试验不同的关键词集以提高NLP性能。
6. 提出提高NLP性能的方法。
9、针对苹果公司的推特内容和苹果公司股票,探索两者之间可能存在的关系。使用2020年6月至2020年8月发布的推文,采用人工神经网络(ANN),自行定义关键词,对ANN架构进行实验以提高自然语言处理(NLP)性能,对不同的关键词集进行实验以提高NLP性能,并提出提高NLP性能的方法。
探索苹果公司推文与股票走势之间的关系
研究时间段
:2020年6月至2020年8月
研究对象
:苹果公司发布的相关事件推文
研究目标
:分析推文与苹果公司股票走势之间可能存在的关系
使用方法
模型技术
:人工神经网络(ANN)
关键词处理
:
自行定义关键词
对不同的关键词集进行实验以提高自然语言处理(NLP)性能
实验目标
对ANN架构进行实验,以提升NLP性能
提出可行的提高NLP性能的方法
10、纽约市立大学(CUNY)是美国最大的公立高等教育系统,旗下有25所学院,为超过25万名学生提供服务。预计使用远程会议工具Zoom的任何决定都会对Zoom的股价产生重大影响。请探索纽约市立大学校长发布的关于使用远程会议工具Zoom的推文与Zoom股票走势之间可能存在的关系。
探索两者关系的具体步骤
使用2020年6月至2020年8月发布的推文
使用与类似的人工神经网络(ANN)
自行定义关键词
尝试不同的ANN架构以提高自然语言处理(NLP)性能
尝试不同的关键词组以提高自然语言处理(NLP)性能
提出提高自然语言处理(NLP)性能的方法
11、讨论增加 CL – PL 对的数量对卷积神经网络(CNN)训练和性能的影响。
增加 CL-PL 对的数量通常能提升 CNN 的预测能力,因为每增加一对 CL-PL 通常会使用比前一对多一倍的滤波器,能减少输入矩阵维度,提高模型对特征的提取和分析能力。
不过,这也会增加训练的计算成本。因为更多的 CL-PL 对意味着更多的滤波器和计算操作,从而使训练所需的计算量大幅上升。而且,随着 CL-PL 对数量增加,训练时间会显著延长。
因此在实际应用中,需要在提升性能和控制计算成本之间找到平衡。
12、讨论具有大量隐藏层的人工神经网络(ANN)对卷积神经网络(CNN)训练和性能的影响。
具有大量隐藏层的ANN会使CNN训练的计算成本呈指数级增加,尤其是在有大量输入/输出样本用于训练时,这是ANN设计者需要处理的严重问题。
对于需要经常重新训练的应用,如果训练时间过长,即使输出结果准确,也可能失去实际意义。
不过,在某些图像识别等需要检测输入图像各种特征的应用中,大量隐藏层有助于检测到更多特征,提升性能。
13、推导使用单个隐藏层的三单元 RNN – Att 的权重矩阵维度。
这个答案存在问题,题目要求推导三单元 RNN – Att 的权重矩阵维度,而答案推导的是单隐藏层的一对一 RNN 的权重矩阵维度,并非对应题目的正确答案,所以输出
DELETE
14、重复练习1,讨论增加嵌入层大小对卷积神经网络(CNN)训练和性能的影响。
嵌入层大小对CNN训练和性能的影响
训练角度
计算成本增加
:更大的嵌入层意味着更多的参数需要训练,从而显著增加计算成本并延长训练时间。
内存需求上升
:需要更多内存来存储参数和中间计算结果,可能导致内存不足问题。
过拟合风险加剧
:在训练数据有限的情况下,模型可能过度学习训练数据中的噪声和细节,从而加剧过拟合风险。
性能角度
提升特征捕捉能力
:适当增加嵌入层大小可能增强模型对复杂特征的捕捉能力,提高模型的表示能力和预测准确性。
测试性能可能下降
:若嵌入层过大,由于过拟合等问题,模型在测试集上的性能反而可能下降。
15、请给出一个你认为可以用遗传算法(GAs)解决的专业领域内未解决问题的例子。
在路线优化领域,如一家配送公司每天派遣数百辆卡车向多个地点分发包裹,每辆卡车从基地出发,中途多次停靠并最终返回基地。目前的挑战是如何确保每次行程在行驶最短距离的同时访问尽可能多的配送点,这一问题可以用 GAs 解决。
16、为位于(0,0,10)坐标的无人机(UAV)设计一个遗传算法(GA)结构,以找到合适的位置。该无人机有三个相邻的无人机,分别位于(10,0,10)、(10,10,10)和(0,10,10)位置。这里(x, y, z)分别对应无人机位置的纬度、经度和高度。假设该无人机每次可以将其纬度、经度和/或高度改变1个单位。例如,该无人机的一些可能位置包括(1,0,10)、(1,1,11)、(-1,1,9)等。目标是基于GA找到一种飞行控制算法,使无人机远离其相邻无人机。为简单起见,可以假设在无人机做出决策时,其相邻无人机不会移动。
以下是为该无人机设计的GA结构:
染色体表示
:用一个长度为3的染色体表示无人机下一个可能的位置,每个基因分别代表纬度、经度和高度的变化值,取值范围为 -1、0、1。例如,染色体
[1, -1, 0]
表示无人机纬度增加1,经度减少1,高度不变。
初始种群生成
:随机生成一定数量(如50个)的染色体,组成初始种群。每个染色体代表一个可能的候选位置。
适应度函数
:计算每个染色体对应的候选位置与三个相邻无人机的距离之和。距离之和越大,适应度越高。公式为:
适应度 = Σ(候选位置与每个相邻无人机的欧几里得距离)
。
例如,候选位置
(x, y, z)
与相邻无人机
(x1, y1, z1)
的欧几里得距离为
√((x - x1)² + (y - y1)² + (z - z1)²)
。
选择操作
:根据适应度值,使用轮盘赌选择法或锦标赛选择法选择一定数量(如25个)的染色体作为父代。
交叉操作
:对选择出的父代染色体进行交叉操作,生成子代染色体。可以采用单点交叉或多点交叉的方法。例如,单点交叉是随机选择一个交叉点,交换两个父代染色体在交叉点之后的部分。
变异操作
:对子代染色体进行变异操作,以增加种群的多样性。变异概率可以设置为一个较小的值(如0.01)。变异时,随机选择一个基因,将其值改变为 -1、0、1 中的另一个值。
替换操作
:用子代染色体替换种群中适应度较低的染色体,形成新的种群。
终止条件
:重复进行选择、交叉、变异和替换操作,直到满足终止条件。终止条件可以是达到预定的迭代次数(如100次)或适应度值达到一定的阈值。
最终位置确定
:在满足终止条件后,选择适应度最高的染色体对应的位置作为无人机的下一个飞行位置。
17、请分别给出路径优化问题和饮食菜单选择问题中可能的染色体示例
对于路径优化问题,若
CHROM_LENGTH
为 10,一个可能的染色体可以是:
[3, 1, 4, 2, 5, 7, 6, 9, 8, 0]
对于饮食菜单选择问题,若有 10 个物品,一个可能的染色体可以是:
[1, 0, 1, 0, 0, 0, 0, 0, 1, 1]
表示选择了第 1、3、9、10 个物品。
18、定义一个适应度函数。(提示:可以使用与邻居的距离作为适应度函数的一部分,使得将无人机移动到离邻居更远位置的候选位置比移动到更近位置的候选位置更合适。)
以下是一个满足要求的适应度函数示例:
import numpy as np
def calc_distance(neighbour, new_position):
return np.linalg.norm(np.array(neighbour) - np.array(new_position))
def fit_func(individual, current_UAV_coordinates, neighbours, rcom):
fitness_score = 0
displacement = decode(individual)
new_position = [current_UAV_coordinates[0] + displacement[0], current_UAV_coordinates[1] + displacement[1], current_UAV_coordinates[2] + displacement[2]]
if (new_position[2] < 0):
return [np.inf]
for neighbour in neighbours:
distance = calc_distance(neighbour, new_position)
fitness_score += (rcom - distance)
return [fitness_score]
该函数根据无人机的位移、位置和邻居信息计算适应度得分。位移通过
decode
函数从个体中解码得到,新位置由当前位置和位移相加得到。若新位置的 z 坐标小于 0,则适应度设为无穷大。对于每个邻居,计算其与新位置的距离,适应度得分累加
rcom - distance
,最后返回适应度得分列表。这样,无人机离邻居越远,适应度得分越高,即该位置越合适。
19、为寻找一个10位二进制锁的密码设计一个遗传算法(GA)结构。假设密码的每一位是二进制的(即0或1),且已知秘密组合为1 0 1 0 1 0 1 0 1 0。当将一个组合应用到锁上时,一个视觉指示器会显示匹配数字的总数(但不显示匹配数字的位置);如果10位数字都匹配,锁就会打开。例如,如果输入1 1 0 0 1 1 0 0 1 1到锁上,指示器会显示5,因为有5个匹配数字,如下划线所示:1 1 0 0 1 1 0 0 1 1。
以下是该问题的GA结构设计:
a)
染色体
:可以用一个长度为10的二进制字符串来表示染色体,每一位对应锁组合的一位。
b)
适应度函数
:适应度函数可以定义为视觉指示器显示的匹配数字的数量。匹配数字越多,适应度越高。当适应度达到10时,意味着找到了正确的组合。
c)
种群中所需的个体数量
:这取决于具体情况,一般可以从几十到几百个不等。数量太少可能导致算法过早收敛,数量太多会增加计算成本。
d)
GA所需的代数
:同样难以准确确定,可能需要通过实验来调整。通常可以设置一个较大的代数上限,如几百代,同时结合适应度的收敛情况来判断是否停止迭代。
e)
GA实现是否会生成可接受的解决方案
:在大多数情况下,GA有很大概率生成可接受的解决方案。因为随着迭代的进行,种群中的个体通过选择、交叉和变异操作,会逐渐向更优的方向进化。但不能保证一定能找到最优解,特别是当搜索空间非常大时。
f)
这个问题是否适合使用GA来寻找解决方案
:这个问题非常适合使用GA来解决。因为搜索空间是有限的(2^10 = 1024种可能的组合),并且有明确的适应度评估方法(匹配数字的数量),GA可以有效地在这个搜索空间中搜索最优解。
20、定义一个适应度函数。
适应度函数
适应度函数用于评估每个个体的优劣,为个体的定量比较赋予一个数值。
不同场景有不同的适应度函数:
在无人机群中
:好的适应度值需使无人机远离拥挤区域且不与邻居断开连接。
在金融股票交易中
:交易后盈利的候选方案有好的适应度。
在确定抗癌药物用量时
:使肿瘤缩小的候选方案有好的适应度。
此外,还有基于
虚拟力的适应度函数
,以移动节点所受总虚拟力作为该位置的适应度值,总虚拟力越小,位置的适应度越好。
21、这个问题是否适合采用遗传算法来寻找解决方案?
遗传算法适用性说明
对于以下问题,适合采用遗传算法:
10位二进制锁组合密钥
8位整数(0 – 9)锁组合密钥
背包问题
原因:传统算法在解决这些问题时计算成本较高,而遗传算法在一定程度上能在可行时间内找到近似解。
此外:
旅行商问题
虽然遗传算法不能保证找到绝对最小值,但几乎总能找到接近最小值的解。
22、为寻找一个 8 位数字锁的密码设计一个遗传算法(GA)结构。假设这些数字是 0 到 9 之间的整数,且秘密组合是 1 9 9 6 2 0 0 1。可以假定有一个视觉指示器能显示给定候选解的匹配数字数量,并且适应度函数可以直接获取任何候选解的该数量。
a) **染色体**:可以用一个长度为 8 的向量表示,向量中的每个元素是 0 到 9 之间的整数,代表锁组合中的一位数字。
b) **适应度函数**:适应度函数可以直接使用视觉指示器显示的匹配数字数量,匹配数字越多,适应度越高。
c) **所需个体数量**:可根据问题复杂度和计算资源确定,如 50 - 200 个个体。
d) **所需代数**:也需根据具体情况确定,可能需要 100 - 500 代。
e) **提出的 GA 实现是否会收敛到可接受的解**:如果参数设置合理,GA 有可能收敛到可接受的解。因为适应度函数能有效衡量候选解与目标解的接近程度,通过不断迭代,种群会逐渐向最优解进化。
f) **该问题是否适合用 GA 求解**:适合。因为问题的解空间较大,直接搜索困难,而 GA 可以通过模拟自然选择和遗传机制,在解空间中高效搜索,找到接近或等于目标解的结果。
23、建议一个适应度函数,并给出不同场景下的示例
以下是三种适应度函数示例:
无人机场景
– 若候选位置能让无人机远离拥挤区域且不与邻居断开连接,则适应度好;
– 若使无人机处于拥挤区域或孤立无邻居位置,则适应度差。
金融股票交易场景
– 交易后盈利的候选解决方案适应度好;
– 亏损则适应度差,盈利金额可衡量好方案中的优劣。
抗癌药物剂量决策场景
– 能使肿瘤缩小的候选解决方案适应度好;
– 缩小程度可作为评判方案优劣的部分标准。
24、为FGA构建一个染色体,使其能够在每一步为无人机选择64个不同的移动方向。使用这个染色体的优缺点是什么?
染色体方向选择方案
构建能选择64个不同方向的染色体,由于 $2^6 = 64$,所以需要6位二进制编码。
优点
能提供更精细的方向选择
使无人机运动更灵活
可更好适应复杂环境和任务需求
缺点
增加了染色体复杂度
会提高计算量和时间
可能导致飞行控制无法实时运行
25、使用人工神经网络(ANN),预测谷歌股票次日收盘价的走势。使用以下六个技术指标作为该ANN的输入:简单移动平均线(SMA)、指数移动平均线(EMA)、动量指标(M)、布林带指标(BB)、随机震荡指标(SO)和威廉指标(WR)。
需要先准备包含这六个指标的数据,对数据处理后构建与给定结构一致的ANN模型,再用训练好的模型进行预测。
26、推导使用两个隐藏层的三单元循环神经网络(RNN)的权重矩阵维度。
在通用情况下,含 $ N $ 个隐藏层的一对一 RNN 中矩阵维度如下:
编码器
:
$ X $ 为 $ (|I| imes 1) $
$ U $ 为 $ (N imes |I|) $
$ W $ 为 $ (N imes N) $
$ b $ 为 $ (N imes 1) $
$ H $ 为 $ (N imes 1) $
解码器
:
$ V $ 为 $ (|I| imes N) $
$ c $ 为 $ (|I| imes 1) $
$ Omega $ 为 $ (|I| imes 1) $
输出
:
$ hat{Y} $ 为 $ (|I| imes 1) $
其中,$ |I| $ 是字母表大小,$ N $ 是隐藏层数量。