diff --git a/MachineLearningFundamentals/readme.md b/MachineLearningFundamentals/readme.md index a97ac6a..5c1f18d 100644 --- a/MachineLearningFundamentals/readme.md +++ b/MachineLearningFundamentals/readme.md @@ -1,7 +1,282 @@ -# 简介 - -我们尽快把该课程组队学习的优秀作业整理出来,供大家学习参考。 +# 机器学习算法基础(上) +## 基本信息 + +- 学习周期:11天,每天平均花费时间3小时-5小时不等,根据个人学习接受能力强弱有所浮动。 +- 学习形式:理论学习 + 练习 +- 人群定位:有概率论、矩阵运算、求导、泰勒展开等基础数学知识。 +- 先修内容:[Python编程语言](https://github.com/datawhalechina/team-learning-program/tree/master/Python-Language),[概率统计](https://github.com/datawhalechina/team-learning-data-mining/tree/master/ProbabilityStatistics) +- 难度系数:中 + +## 任务安排 + +### Task01:机器学习概述(1天) + +理论部分 + +- 机器学习介绍:机器学习是什么,怎么来的,理论基础是什么,为了解决什么问题。 +- 机器学习分类: + - 按学习方式分:有监督、无监督、半监督 + - 按任务类型分:回归、分类、聚类、降维 生成模型与判别模型 +- 机器学习方法三要素: + - **模型** + - **策略**:损失函数 + - **算法**:梯度下降法、牛顿法、拟牛顿法 + - 模型评估指标:R2、RMSE、accuracy、precision、recall、F1、ROC、AUC、Confusion Matrix + - 复杂度度量:偏差与方差、过拟合与欠拟合、结构风险与经验风险、泛化能力、正则化 + - 模型选择:正则化、交叉验证 + - 采样:样本不均衡 + - 特征处理:归一化、标准化、离散化、one-hot编码 + - 模型调优:网格搜索寻优、随机搜索寻优 + + + +### Task02:线性回归(2天) + +理论部分 + +- 模型建立:线性回归原理、线性回归模型 +- 学习策略:线性回归损失函数、代价函数、目标函数 +- 算法求解:梯度下降法、牛顿法、拟牛顿法等 +- 线性回归的评估指标 +- sklearn参数详解 + + +练习部分 + + +- 基于线性回归的房价预测问题 +- 利用`sklearn`解决回归问题 +- `sklearn.linear_model.LinearRegression` + + +### Task03:逻辑回归(2天) + +理论部分 + +- 逻辑回归与线性回归的联系与区别 +- 模型建立:逻辑回归原理、逻辑回归模型 +- 学习策略:逻辑回归损失函数、推导及优化 +- 算法求解:批量梯度下降 +- 正则化与模型评估指标 +- 逻辑回归的优缺点 +- 样本不均衡问题 +- sklearn参数详解 + + +练习部分 + + +- 利用`sklearn`解决分类问题 +- `sklearn.linear_model.LogisticRegression` +- 利用梯度下降法将相同的数据分类,画图和sklearn的结果相比较 +- 利用牛顿法实现结果,画图和sklearn的结果相比较,并比较牛顿法和梯度下降法迭代收敛的次数 + + +### Task04:决策树(2天) + +理论部分 + +- 特征选择:信息增益(熵、联合熵、条件熵)、信息增益比、基尼系数 +- 决策树生成:ID3决策树、C4.5决策树、CART决策树(CART分类树、CART回归树) +- 决策树剪枝 +- sklearn参数详解 + +练习部分 + + +- 利用`sklearn`解决分类问题和回归预测。 +- `sklearn.tree.DecisionTreeClassifier` +- `sklearn.tree.DecisionTreeRegressor` + + +### Task05:聚类(2天) +理论部分 + +- 相关概念 + - 无监督学习 + - 聚类的定义 +- 常用距离公式 + - 曼哈顿距离 + - 欧式距离 + - 闵可夫斯基距离 + - 切比雪夫距离 + - 夹角余弦 + - 汉明距离 + - 杰卡德相似系数 + - 杰卡德距离 +- K-Means聚类:聚类过程和原理、算法流程、算法优化(k-means++、Mini Batch K-Means) +- 层次聚类:Agglomerative Clustering过程和原理 +- 密度聚类:DBSCAN过程和原理 +- 谱聚类:谱聚类原理(邻接矩阵、度矩阵、拉普拉斯矩阵、RatioCut、Ncut)和过程 +- 高斯混合聚类:GMM过程和原理、EM算法原理、利用EM算法估计高斯混合聚类参数 +- sklearn参数详解 + +练习部分 + + +- 利用`sklearn`解决聚类问题。 +- `sklearn.cluster.KMeans` + + +### Task06:朴素贝叶斯(2天) +理论部分 +- 相关概念 + - 生成模型 + - 判别模型 +- 朴素贝叶斯基本原理 + - 条件概率公式 + - 乘法公式 + - 全概率公式 + - 贝叶斯定理 + - 特征条件独立假设 + - 后验概率最大化 + - 拉普拉斯平滑 +- 朴素贝叶斯的三种形式 + - 高斯型 + - 多项式型 + - 伯努利型 +- 极值问题情况下的每个类的分类概率 +- 下溢问题如何解决 +- 零概率问题如何解决 +- sklearn参数详解 + +练习部分 + + +- 利用`sklearn`解决聚类问题。 +- `sklearn.naive_bayes.GaussianNB` + + +--- +# 机器学习算法基础(下) + +## 基本信息 + +- 学习周期:10天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。 +- 学习形式:理论学习 + 练习 +- 人群定位:有概率论、矩阵运算、微积分、最优化理论等基础数学知识。 +- 先修内容:[Python编程语言](https://github.com/datawhalechina/team-learning-program/tree/master/Python-Language),[概率统计](https://github.com/datawhalechina/team-learning-data-mining/tree/master/ProbabilityStatistics) +- 难度系数:中 + + + + +## 任务安排 + +### Task01:线性回归(2天) + +理论部分 +- 模型建立:线性回归原理、线性回归模型 +- 学习策略:线性回归损失函数、代价函数、目标函数 +- 算法求解:梯度下降法、牛顿法、拟牛顿法等 +- 线性回归的评估指标 +- sklearn参数详解 + + +练习部分 + +- 基于线性回归的房价预测问题 +- 利用`sklearn`解决回归问题 +- `sklearn.linear_model.LinearRegression` + + +### Task02:朴素贝叶斯(2天) +理论部分 +- 相关概念 + - 生成模型 + - 判别模型 +- 朴素贝叶斯基本原理 + - 条件概率公式 + - 乘法公式 + - 全概率公式 + - 贝叶斯定理 + - 特征条件独立假设 + - 后验概率最大化 + - 拉普拉斯平滑 +- 朴素贝叶斯的三种形式 + - 高斯型 + - 多项式型 + - 伯努利型 +- 极值问题情况下的每个类的分类概率 +- 下溢问题如何解决 +- 零概率问题如何解决 +- sklearn参数详解 + +练习部分 + +- 利用`sklearn`解决聚类问题。 +- `sklearn.naive_bayes.GaussianNB` + + + + +### Task03:EM算法(2天) +理论部分 +- 相关概念 + - 极大似然估计法 + - 贝叶斯估计方法 +- EM基本原理 + - E步 + - M步 + - 推导、证明 + - 高斯混合分布 + + +练习部分 + +- 算法实现 + + + +### Task04:条件随机场(2天) +理论部分 +- 前提:相关概念 + - 马尔可夫过程 + - 隐马尔科夫算法 + - +- 条件随机场 + - 转移特征和状态特征 + - 矩阵形式 +- 条件随机场三问题 + - 计算问题 + - 学习问题 + - 预测问题 + + +练习部分 + +- 利用高维特比算法计算给定输入序列对应的最优输出序列 + + +### Task05:SVM(2天) +理论部分 +- 概念:最大超平面 +- 数学知识:拉格朗日乘子 +- SVM 硬间隔优化公式 +- SVM 软间隔原理 +- 核函数 + +选修 : SMO 求解SVM + +练习部分 + +- 算法实现 + + + +--- +# 贡献人员 + + +姓名 | 博客|备注 +---|---|--- +肖然||中国科学院硕士 +谢文昕||上海交通大学博士 +高立业||太原理工大学硕士 +赵楠||福州大学硕士 +杨开漠 | [Github](https://github.com/km1994)|五邑大学计算机硕士 +张雨||复旦大学博士