||
R神经网络包综述:准确性和易用性
作为任何开源平台的统计计算R项目,都依赖其贡献者来保持最新。受大脑本身的启发,神经网络是机器学习领域不断发展的一类模型,R为其提供了许多工具。以前,神经网络通常被认为是理论上的,而不是实际的,部分原因是使用的算法计算成本很高。
术语“神经网络”通俗地用于不同的模型结构和应用。对于回归和分类,术语“多层感知器”可以与“神经网络”互换使用。术语“递归神经网络”主要用于自回归时间序列,而术语“卷积神经网络”用于降维和模式识别(图像/音频/文本)。上述大多数类型的神经网络可以在CRAN上托管的R包中找到,但没有对计算的准确性或速度进行任何研究。这是一个问题,因为文献中有许多缓慢或较差的算法,因此导致在CRAN上实现了较差的包。
神经网络算法需要复杂的计算来改进模型控制参数。与其他优化问题一样,所选成本函数的梯度表明该模型缺乏适用性。优化方法通常通过自适应步骤在梯度方向的相反方向上改变参数来改进当前迭代。模型的参数通常通过使用部分可用数据(训练集)来获得,并在剩余数据上进行测试。
如果我们也可以近似成本函数的二阶导数,允许我们通过Hessian矩阵使用其曲率,那么训练过程通常可以变得更有效。有很多方法,其中准牛顿算法可能是最常见和最有用的。在这一组中,基于Broyden-Fetcher-Goldfarb-Shanno(BFGS)算法更新(逆)Hessian近似的方法提供了几个众所周知的例子。在进行这项研究时,假设对于适合记忆的数据集,这些二阶算法的性能将优于一阶方法。
为了验证该假设,Mahdi等人在R中对这些训练算法进行了彻底的检查。虽然有很多软件包,但缺乏能够让用户做出明智决定的信息。Mahdi等人的工作旨在为神经网络包的基准测试提供一个框架。Mahdi等人将研究重点放在感知器类型的神经网络上,它由一个输入层、一个归一化层、一层具有非线性激活函数的隐藏层(通常是双曲正切tan()函数)和一个输出层组成。
具体来说,Mahdi等人只关注基于回归的算法。基准测试中使用的标准是:(i)准确性,即在13个数据集上找到全局最小值的能力,通过固定迭代次数的均方根误差(RMSE)来测量;(ii)所述训练算法的速度;(iii)可用性;(iv)文件的质量。
为了完成这项工作,Mahdi等人开发了多个脚本以及NNbenchmark包(图1,https://cran.r-project.org/package=NNbenchmark)。在github存储库https://github.com/pkR-pkR/NNbenchmarkTemplates上开源了再现性代码,并在https://akshajverma.com/NNbenchmmarkWeb/index.html上对每个包进行了输出。
图1 NNbenchmark包
NNbenchmark包通过基准测试比较了目前神经网络R工具包的性能,这些比较结果可以帮助用户选择适合自己数据的神经网络R分析工具包。
参考文献
[1] Salsabila Mahdi, Akshaj Verma, Christophe Dutang, Patrice Kiener, & John C. Nash. (2022). A 2019-2020 Review of R Neural Network Packages with NNbenchmark. Zenodo. https://doi.org/10.5281/zenodo.7415417
以往推荐如下:
5. EMT标记物数据库:EMTome
8. RNA与疾病关系数据库:RNADisease v4.0
9. RNA修饰关联的读出、擦除、写入蛋白靶标数据库:RM2Target
13. 利用药物转录组图谱探索中药药理活性成分平台:ITCM
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-4-20 01:49
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社