课程准备:
(参考Wes McKinney, Python for Data Analysis,附录及相关章节 )
1、Python基础知识: 简单数据结构及操作.
2、NumPy数组的基本操作.
3、安装Anaconda环境(链接中寻找系统对应的版本),学习使用Jupyter. (练习:启动Anaconda,运行Jupyter notebook, 然后打开.ipynb格式的文件.)
主讲人介绍:
黄刚,美因茨大学统计物理专业博士,目前为中科院理论物理研究所金瑜亮研究组访问学者,研究方向包括:Ab initio分子动力学模拟,界面和频率振动光谱计算等。
课程内容介绍:
0、准备课程:Python简介和Anaconda的基本配置 (11月4日下午4:00--5:30,三楼咖啡厅)
1、机器学习基本概念、k近邻算法介绍: (11月5日上午9:00--12:00)
(1) 数据集,训练,测试,样本,特征,标签等;机器学习的类别及具体实例:监督学习,非监督,强化学习;机器学习处理的两类问题:分类,回归.
(2) k近邻算法的含义和基本思想:距离函数,投票函数,kNN分类,kNN回归.
(3) 练习:词频统计,简单的k近邻分类.
2、 线性模型及应用 (11月5日下午 14:00--17:00)
基本概念:Cost function:
(1) 梯度下降法(Gradient Descent):目的(求得cost function的最小值),方法(不断迭代地轻微调整参数值)
(2) 正则化(Regularized linear models):目的(避免过拟合),方法(在损失函数中加入正则项,保证在最小化损失函数时,使得模型的权重值也尽量小). 具体的实现方式:岭回归,Lasso回归,Elastic Net回归.
(3) 练习:分析正则化线性模型的结果,评估机器学习模型的质量.
3、 决策树算法 (11月6日上午 9:00--12:00)
(1) 基本概念:特征空间,决策树的划分,信息熵,信息增益, Gini指数
(2) 随机森林算法的原理.
(3) 练习:计算信息熵,Gini指数等.
4、其他机器学习算法简介 (11月6日下午 14:00--17:00)
(1) k均值聚类,神经网络,SVM.
(2) 模型评估,格点搜索等.
(3) 练习:感知机分类器.
附录:Anaconda管理库的基本使用方法
我们在练习中会使用到Anaconda中已经安装如下模块:numpy, pandas, mglearn,scikit-learn。初次安装的学员可参考以下流程:
(1)查看Anaconda中已经安装的模块
pip list
或
conda list
(2)添加适当的channels. 如:打开Anaconda prompt, 在命令行输入:
shell
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
(3)安装模块的方法(详情参考链接):
打开Anaconda prompt终端, 在命令行输入:(以mglearn为例)
shell
pip3 install mglearn
或者指定具体的源,如:
shell
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mglearn
(4). 打开Jupyter Notebook的方法:
A. 在终端命令行打开:
shell
jupyter notebook
B. 在anaconda环境里找到Jupyter,点击进入.
注意:1. 本次课程主要包括几个简单的机器学习入门算法, 分为原理和与操作,大家可以带上电脑,便于练习;2. Anaconda环境的安装比较简单,我们这里搜集的习题都用Python实现. 建议大家先安装好Anaconda环境,以便可以实时运行示例和练习中的代码.