专栏名称: 机器学习算法与Python实战
长期跟踪关注统计学、数据挖掘、机器学习算法、深度学习、人工智能技术与行业发展动态,分享Python、机器学习等技术文章。回复机器学习有惊喜资料。
目录
相关文章推荐
宁德广播电视台  ·  出行请注意!宁德这条路将封闭施工 ·  2 天前  
51好读  ›  专栏  ›  机器学习算法与Python实战

Python数值分析算法实践

机器学习算法与Python实战  · 公众号  ·  · 2024-08-11 19:18

正文

基于Python的 数值分析“自编码”算法,你了解吗?














数学是一切科学的基础, 融于“现代化产业体系”建设和发展的各个领域. 数值计算问题普遍存在于新工科、新医科等领域的数学模型求解中,计算数学作为数学学科的一个重要分支, 旨在提出和研究借助计算机解决各种数学问题的高效而稳定的算法.


数值分析是计算科学的重要专业基础课,主要包括数据插值与逼近、数值微积分、(非)线性方程(组)求解、常(偏)微分方程数值解、矩阵计算、数值优化等内容.


实验实践教学一直是高校教学的重点, 也是“怎样培养人”(提升人才培养质量) 的关键环节. 笔者想在从实验实践教学方面, 强化学生的应用能力和创新能力, 提高学生的算法素养, 增强学生的数学实践与审美意识,写作《Python数值分析算法实践》一书.




本书的核心价值是基于数学原理设计和编写算法, 即“自编码”(区别于调用库函数), 相当于把原理照进现实, 让“静态”的原理“走动”起来, 进而解决数学模型中的数值计算问题. 可把“自编码”过程等价于“板书数学原理的推导和证明”, 两者仅仅是平台区别而已, 数学原理推导借助于黑板, 而“自编码”借助于Python 语言.



针对“自编码”, 笔者认为仍有三点需要思考:


一、数值计算是科学计算的基础, 从分析 (知识原理) 到计算 (计算方法或算法设计)、从计算到编码(计算机编码实现)、从编码到实际问题 (科学或工程问题) 的求解, 应是相辅相成的. 学生在“自编码”过程中, 可拓展数值计算方法的思路 (如验证原理、多角度分析问题等) , 加深对原理的认知, 进而领悟数值计算的奥妙和计算之美.


二、“自编码”可强化学生的实践动手能力, 推进学生在实践基础上的理论创新, 提升学生应用研究的计算基础. 以学术研究为例, 创新的前沿理论绝无现成的库函数, 而学生必然自己动手设计和编写算法, 以突破某领域框架范围内的计算数学问题.


三、当下新兴科技所涉及的数值计算、智能计算与算法设计、算法的高效性、问题求解的高精度关联密切. 在教育教学中, 学生“自编码”素养的提升可体现新时代“从零研发芯片”的勇气和担当.


综上, 学生应具备良好的算法设计和编写能力, 且应在学习阶段打下扎实的基础. 本书以数值分析原理为纲, 以算法设计和编写为本, 旨在提供一种提高学生“自编码”能力的思路, 抛砖引玉.



算法的设计以理论知识为其灵魂, 其核心是背后严谨科学的数学原理. 算法设计需借助于计算机语言实现, 但语言不是目的, 其本身也不是问题的关键或主要难点. 算法设计的关键或难点在于如何借助于某种语言验证原理、设计算法、科学计算、结果分析以及应用扩展研究等.


此外, 读者应该知道, 算法设计的难点还在于对原理知识的理解程度, 同时也在于算法设计的艺术、算法的可计算性与计算复杂性, 这些都应在实践中逐步积累.



本书的所有算法均采用Python语言编写, 原因有三:


其一, Python语言本身的优雅、明确、高效和简单的设计哲学;


其二, Python 汲取了其他语言数值计算的优点, 这意味着Python可以与以数学原理、数值计算为基础的学科(如机器学习) 有效结合, 适合进行数据分析与统计学习建模;


其三, 与当下时代的科技需求相符合. 比如,人工智能尤其是以深度学习为代表的智能计算, 多数以Python为开发语言.


本书包含了普通高等院校本科生、研究生数值分析或计算方法相关教材的绝大部分算法, 并在此基础上拓展了大量优秀算法, 且加入了该领域专著中所涉及的某些问题的部分优秀算法.




全书基本涵盖了现代数值分析中的重要基础方法, 共分13章, 除第1章Python与科学计算基础知识之外, 算法部分共分12个问题模块, 具体包括:


数据插值(第2章)、函数逼近与曲线拟合(第3章)、 数值积分(第4章)、数值微分(第5章)、解线性方程组的直接方法(第6章)、解线性方程组的迭代法(第7章)、非线性方程求根(第8章)、非线性方程组的数值解法(第9章)、矩阵特征值计算(第10章)、 常微分方程初边值问题的数值解法(第11章)、偏微分方程数值解法(第12章) 和数值优化(第13章).


在内容结构设计上, 全书对12个数值计算领域均完整呈现了算法的实现过程, 共设计算法(独立Python文件) 约140个, 同时结合经典的数值算例辅助学习者理解和应用, 即每个算法均有算例,用于验证算法的功能正确性, 以及算法的性能和求解精度等, 内容做到图文并茂,教学相长.


Python可视化图形中的各种标记均采用了LaTex格式, 遵从数学的严谨性、规范性和科学性.



此外, 为了强化学习者的创新实践能力, 提高学生的算法设计信心, 每章均配备实验题目, 有助于把学习者的兴趣和能力引向更深的层次.


当然,笔者更希望读者可以对数值分析的全貌和应用背景有更深入的了解, 而不局限于在某几个具体的算法实现上.


本书可作为数学与应用数学、信息与计算科学专业高年级本科生数值分析或其他理工科专业计算方法实验实践配套教材(加*的内容学生可自由学习), 特别适合作为计算数学专业研究生算法设计的参考用书, 或对计算数学感兴趣的工程技术人员参考阅读. 读者应具备数学分析、高等代数或高等数学、线性代数的知识, 以及Python程序设计方面的初步知识.


本文节选自《Python数值分析算法实践》(科学出版社,2024)前言.




推荐

内容简介

本书以数值分析原理为纲, 以算法设计为本, 基于Python 语言, 详细介绍了原理分析到 “自编码” 算法设计与应用的过程和思想, 旨在提升学生的数值计算和实践编码能力, 其数值算法设计思想可迁移到机器学习和深度学习,为学术深造和应用研究奠定科学计算和自编码基础. 本书共包含数值分析的12 个领域, 教师可以根据不同的学习对象和教学目的选择相应的章节. 书中计算方法均结合数学原理独立设计算法, 并结合经典数值算例辅助学习和理解, 且配备了实验题目, 使理论与实践、学习与提升相辅相成.


读者对象

本书可作为普通高等院校理工科专业的实验实践配套教材, 也可作为计算数学领域的研究生教学用书.



主编简介

王娟,女,博士,教授,硕士生导师. 国家级一流本科专业负责人,国家级一流本科课程负责人,中原领军人才,河南省高校教学名师,河南省教育厅学术技术带头人,首届全国高校青年教师教学竞赛一等奖获得者. 主持、参与完成国家基金项目4项,主持、参与省部级教学、科研项目10余项,在Neural Networks与Journal of Biological Dynamics,教育研究与实验等期刊发表论文30余篇.

本书试读


本书特点

(1) 本书包含了普通高等院校本科生、研究生数值分析或计算方法相关教材的绝大部分算法, 从实验实践教学方面,强化学生的应用能力和创新能力, 提高学生的算法素养, 增强学生的数学实践与审美意识.


(2)本书的核心价值是基于数学原理设计和编写算法, 即“自编码”(区别于调用库函数), 相当于把原理照进现实, 让“静态”的原理“走动”起来, 进而解决数学模型中的数值计算问题.


(3) 本书的所有算法均采用Python语言编写, Python可以与以数学原理、数值计算为基础的学科(如机器学习) 有效结合,与当下时代的科技需求相符合.


(4) 结合经典的数值算例辅助学习者理解和应用, 每个算法均有算例,用于验证算法的功能正确性, 以及算法的性能和求解精度等, 内容做到图文并茂,教学相长.


(5)强化学习者的创新实践能力, 提高学生的算法设计信心, 每章均配备实验题目, 有助于把学习者的兴趣和能力引向更深的层次.


(6)电子课件PPT,程序源代码齐备,易教易学.


编辑推荐

(1)这是一本基于数值分析原理和NumPy, 实现“自编码”式的算法设计的实践教材.


(2)包含数值分析的12 个领域, 囊括了绝大部分算法, 专注于实验实践教学.


(3)通过“自编码”学习拓展数值计算方法的思路(如验证原理、多角度分析问题等),加深对原理的认知,进而领悟数值计算的奥妙和计算之美.


(4) 电子课件PPT,程序源代码齐备,易教易学.


本书资源







请到「今天看啥」查看全文