面向物理学家的高级机器学习
项目描述
面向物理学家的高级机器学习
欢迎来到伯尔尼大学基础物理中心机器学习研究生课程!
这个叫做机器学习的东西是什么?
图例参考: https://xkcd.com/1838/
机器学习是人工智能的一个子领域,它侧重于使用算法解析数据,从中学习,然后对世界上某个事物做出预测。在过去十年中,这个框架在计算机视觉、自然语言处理和强化学习方面取得了重大进展。最近,机器学习开始吸引物理学领域的兴趣,并迅速成为物理学家工具箱中的重要组成部分,特别是在像高能粒子物理和宇宙学这样数据丰富的领域。
基础
时间表:由于COVID-19大流行,每周二14:15至16:00通过Zoom进行。
班级Slack群组: ml-for-physics.slack.com
如果您需要与我联系,我强烈建议您通过Slack进行,因为我会每天检查几次。
课程学习目标
本课程为学生提供机器学习方法的实际操作入门,重点在于将这些方法应用于解决物理问题。课程结束时,预计学生将
- 了解如何从机器学习角度处理物理问题;
- 理解从数据中提取有用知识的基本原理;
- 理解机器学习的核心概念和术语;
- 获得数据挖掘以获得见解的实际经验。
在整个课程中,学生还将有机会学习几个技术技能
- Python编程和数据分析、可视化、建模的核心库的使用经验。
- 与数据打交道:收集、清理和转换。
- 创建和解读描述性统计。
- 创建和解读数据可视化。
- 获得机器学习的实践经验。
课程结构
由于COVID-19大流行带来的限制,本课程将通过在线讲座完全提供。每次讲座将涉及理论和编程工作的结合,侧重后者。以下是课程的初步大纲。
CW | 日期 | 主题 | 链接 |
---|---|---|---|
15 | 7.4 | 随机森林简介 | |
17 | 21.4 | 随机森林深入探讨 | |
18 | 28.4 | 从头开始实现随机森林 | |
19 | 5.5 | 梯度提升简介 | |
20 | 12.5 | 梯度提升深入探讨 | |
21 | 19.5 | 持久同伦 | |
22 | 26.5 | 拓扑机器学习II |
云环境
我们将完全通过Python的Jupyter笔记本教授这门课程。您可以通过点击每个讲座笔记本顶部的徽章直接在Binder或Google Colab上打开和运行它们。
我们强烈建议使用Binder或Colab,因为它们无需本地安装且免费运行。
关于Binder的一些说明
- Binder是免费使用的。
- 如果您编辑了笔记本,请确保您将其下载,因为Binder不会保存您的更改。
- Binder会自动关闭超过10分钟无活动的用户会话(如果您保持浏览器窗口打开,这将计入“活动”)。
- Binder旨在为每个用户会话提供至少12小时的会话时间。超过这个时间,无法保证会话会继续运行。
下载和上传文件
由于Binder不会永久保存您的更改,您应在会话结束时下载您工作的笔记本。如果您想稍后继续会话,您可以将其重新上传到Binder。以下图像显示了上传和下载文件的说明。
图: JupyterLab中的下载和上传按钮,如图所示在Binder环境中。
本地环境
您还可以在您的笔记本电脑上本地运行课程材料。通常,当使用Python时,建议使用虚拟环境。这确保了您安装的包不会与您在其他项目中已安装的包冲突。
要安装与课程相关的库,请运行以下命令
pip install hepml
要安装JupyterLab(一个比Jupyter笔记本更高级的环境)运行
pip install jupyterlab
然后,确保您从GitHub存储库或仅下载缺失的笔记本下载所有课程材料。通常您需要复制所有材料,因为一些资源(如图像)在笔记本中不是自包含的。
最后,要启动JupyterLab,请运行
jupyter-lab
更新本地环境
由于我们在整个课程中都在开发材料,所以每次我们进入下一课时,您都需要更新您的本地环境。为此,只需在开始JupyterLab之前运行以下命令。
pip install --upgrade hepml
推荐参考
机器学习
- J. Howard,面向编码者的机器学习入门
- P. Mehta等人,具有高偏差、低方差的机器学习入门:面向物理学家的教程
- A. Géron,使用Scikit-Learn和TensorFlow的机器学习实战
- J. Murugan和D. Robertson,面向物理学家的拓扑数据分析入门:从LGM到FRBs
讲座的结构(经授权)改编自Jeremy Howard为编码者提供的优秀机器学习课程,而理论内容基于Mehta等人以及Murugan和Roberston的全面综述文章。
Python编程
- W. McKinney,Python数据分析
在本课程中,我们将使用Python编程语言分析并可视化各种数据集。McKinney的书籍是必不可少的参考资料,涵盖了NumPy和pandas包的各个方面。
Kaggle Learn
Kaggle Learn是一个在线笔记本环境中(类似于Binder)复习Python基础、数据可视化或pandas等概念的绝佳资源。
项目详情
下载文件
下载适合您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码发行版
构建发行版
hepml-0.0.12.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 17d7048197676ed5037d01e1b02fbc283822321062922cc4e5904b1c01a4bfdc |
|
MD5 | 83ff4323f330575bd92099f2049d1703 |
|
BLAKE2b-256 | 1705444e95a3a02af056112e096b79860f23ff7ef1f7f130d4c9548cb53a4276 |
hepml-0.0.12-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ead940e2e3148516693cd623cb7d5780e069173175ff2afcbf3d7f95a58ef06 |
|
MD5 | 3db541d5520f33ee7c4bbe1c7773b789 |
|
BLAKE2b-256 | 1c6b7a18dd00155595678a753e808167344b6a41baef4e51448876b2a3a8778b |