《机器学习及其Python实践 (2).pdf》由会员分享,可在线阅读,更多相关《机器学习及其Python实践 (2).pdf(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、机器学习及其Python实践第2章 回归分析第2章 回归分析 回归分析是定量研究两种或两种以上变量间相互依赖关系的一种统计分析方法 按自变量:一元回归和多元回归 按因变量:简单回归和多重回归 按函数形式:线性回归和非线性回归 机器学习的基本概念、术语和算法步骤 Python编程实现2.1 编程环境与数据集 NumPy、Pandas、Matplotlib、scikit-learnNumPy:ndarrayPandas:Series/DataFrameMatplotlib:MATLABpyplotScikit-learn:sklearn2.1 编程环境与数据集 Anaconda是机器学习编程最好的
2、IDE阚道宏2.1 编程环境与数据集 Jupyter Notebook运行:ctrl+Enter2.1 编程环境与数据集 Scikit-learn库数据集(dataset)sklearn.datasets模块中的load_*()函数 sklearn.datasets模块中的fetch_*()函数 sklearn.datasets模块中的make_*()函数阚道宏2.1 编程环境与数据集 练习机器学习编程阚道宏2.1 编程环境与数据集 练习机器学习编程2.2 数据集加载与预处理 机器学习使用样本数据集训练模型 garbage in,garbage out 样本数据集(dataset)的检查与预处
3、理 新建一个jupyter记事本文件(.jpynb)加载并浏览数据集(Pandas的DataFrame类)阚道宏2.2 数据集加载与预处理 加载并浏览数据集(house)2.2 数据集加载与预处理 缺失值(NaN)与重复值(duplicate)drop、fill、interpolate2.2 数据集加载与预处理 缺失值与重复值 缺失值:drop2.2 数据集加载与预处理 缺失值与重复值 缺失值:fill2.2 数据集加载与预处理 缺失值与重复值 缺失值:interpolate2.2 数据集加载与预处理 缺失值与重复值 重复值:drop_duplicates2.2 数据集加载与预处理 特征选择
4、波士顿房价数据集 特征应当尽量与预测目标线性相关,否则属于无用特征 各特征项之间应当尽量不相关,否则属于冗余特征=,.=+=11+22+.2.2 数据集加载与预处理 特征选择 皮尔逊相关系数=(,=2 2.(2 1)1 +1如 0,则两个随机变量正相关(同增同减)f(x2)minxf(x)=1(1=1 1.(2 5)12.3 模型训练与评价 模型训练与梯度下降法 梯度下降法 二元函数 方向导数 1,2=1 11 12.(2 6)x1x2=vsinP(x1,x2)P(x1+x1,x2+x2)函数 f(x1,x2)的方向导数vx1=vcosx2Ov(1,2=1+2=(1,2.12=lim0 1+1
5、,2+2 12从二元函数推广至任意d元函数=,2.3 模型训练与评价 使用Scikit-learn库中的线性回归模型 sklearn.linear_model模块中的LinearRegression类 训练集 X_train Y_train 测试集 X_test Y_test2.3 模型训练与评价 模型评价与K折交叉验证 残差平方和 均方误差 决定系数R方=1 2.(2 8)=1=1 2.(2 9)=1=1.(2 10)=1 2.(2 11)2=1.(2 12)=1,1,2,2,2.3 模型训练与评价 模型评价与K折交叉验证 残差平方和 均方误差 决定系数R方=1 2.(2 8)=1=1 2.
6、(2 9)=1=1.(2 10)=1 2.(2 11)2=1.(2 12)=1,1,2,2,方为0时,模型最差;方为1时,模型最好;方越大,模型越好。训练集上的R方:拟合程度好;测试集上的R方:泛化能力强。2.3 模型训练与评价 模型评价 LinearRegression类的决定系数R方函数score()sklearn.metrics模块中的函数mean_squared_error()R方与MSE成反比2.3 模型训练与评价 K折交叉验证 训练集与测试集 留出法 K折交叉验证 sklearn.model_selection模块中的KFold类训练集Train set测试集Test set训练集
7、Train set测试集Test set平均拆分成k份K轮阚道宏2.3 模型训练与评价 K折交叉验证 波士顿房价问题2.4 正则化 线性方程组 系数矩阵A是非奇异的(nonsingular,或称可逆、满秩),则方程组有唯一解;系数矩阵A是奇异的(singular,或称不可逆、不满秩),则方程组的解中包含自由变量,即方程组有无穷多解;如果系数矩阵A近似奇异(approximately singular),即该矩阵经奇异值分解后存在非常小的奇异值(即奇异值近似等于零),则方程组的解是不稳定的 对于解不唯一或不稳定的方程定解问题,术语称之为不适定(ill-posed)问题=2.4 正则化 线性方程组
8、 例2-1 例2-2 例2-3=112212=24.110012=20.=2 .1111.000112=22.1100.000112=20.=20.1000.0001.1111.000112=22.1.1000.000112=9980.1.=9981000.2.4 正则化 正则化方法最小二乘法 损失函数 系数矩阵 非奇异 奇异 近似奇异 =.(2 13)(=2 .=.(2 14)=12111=111221221121121=1,2,=1.=1,1,2,2,=2.4 正则化 正则化方法最小二乘法 系数矩阵 奇异:无穷多解,这意味着存在无穷多组参数,它们都能使损失函数 最小 奥卡姆剃刀原理=.(2
9、 14)=12111=111221221121121=1.22=12+2 .(2 15)1=1+.(2 16)2.4 正则化 正则化方法最小二乘法 系数矩阵 奥卡姆剃刀原理=.(2 14)22=12+2 .(2 15)1=1+.(2 16)=+22 .(2 17)=argmin,0.=argmin =argmin .=+22.(2 18)=argmin.=+1.(2 19)=argmin.超参数拉格朗日乘子法2.4 正则化 正则化方法最小二乘法 系数矩阵 奇异 近似奇异:几何解释=.(2 14)22=12+2 .(2 15)1=1+.(2 16)=+2.(2 18)=argmin.=+1.(2
10、 19)=argmin.12L()等值线L()最小值点|22C*12L()等值线L()最小值点|1C*阚道宏2.4 正则化 正则化方法最小二乘法 岭回归与LASSO回归 岭回归与超参数调优 sklearn.linear_model模块中的Ridge类 =+22.(2 18)=argmin .=+1.(2 19)=argmin.2.4 正则化 超参数调优与k折交叉验证 超参数调优,就是由人工根据经验和实验数据为超参数设定取值,使模型获得更好的性能 例如正则化系数是一个超参数,训练模型之前需要事先设定其取值,即正则化的强度 可以根据经验(先验知识)为超参数选取一组候选值 例如在区间0,20内按均匀
11、间隔为正则化系数选取100个候选值 如果有多个超参数,则它们候选值的不同组合就构成一个多维网格(grid),每个网格点代表一种组合 网格搜索法:搜索整个网格,逐个评价每一网格点的模型性能2.4 正则化 超参数调优与k折交叉验证 对训练集做进一步拆分:训练集、验证集 k折交叉验证原训练集k 折验证集Validation set测试集Test set训练集Train set阚道宏2.4 正则化 超参数调优与k折交叉验证 Scikit-learn库为网格搜索法提供了一个类GridSearchCV2.4 正则化 LASSO回归与坐标下降法 sklearn.linear_model模块中的Lasso类
12、=+22.(2 18)=argmin .=+1.(2 19)=argmin.2.4 正则化 LASSO回归与坐标下降法 坐标下降法 选取参数初值 参数迭代1=argmin1 1,21,1,1.2=argmin2 1,2,1,1.=argmin 1,2,1.=argmin 1,2,.0=1,2,=+1.(2 19)=argmin.=+22.(2 18)=argmin .12.5 非线性回归 线性模型 非线性模型 =+2.5 非线性回归 换元法:多项式模型、指数模型 一元二次多项式 二元二次多项式 =+1+22 =+11+22+312+412+522原式:=+1+22.换元后:=+11+22.原式
13、:=+11+22+312+412+522.换元后:=+11+22+33+44+55.1=,2=23=12,4=12,5=22=1,1,2,2,=11,12,1,m1,m2,m2.5 非线性回归 sklearn.preprocessing模块中的PolynomialFeatures类阚道宏2.5 非线性回归 换元法 指数模型=+.ln =+.ln=2.5 非线性回归 逻辑斯谛回归 人口增长模型 几率=.=1 .(2 20)表示时间,表示时刻的人口增长率,表示时刻人口的饱和度,1 表示的是时刻人口的不饱和度=11+(.(2 21)1 =.(2 22)0 1=1,1,2,2,0 1 +2.5 非线性
14、回归 逻辑斯谛回归 几率 对数几率 换元法1 =.(2 22)ln1 =.(2 23)=.(2 24)=1,1,2,2,=ln1 0 1 +=1,1,2,2,ln1 +阚道宏2.5 非线性回归 逻辑斯谛回归 一般形式 逻辑斯谛函数 ln1 =.(2 25)=11+=11+.(2 26)0 12.5 非线性回归 逻辑斯谛回归 预测属于高价房或低房价的概率 =1 =0 =?分类决策问题第2章 回归分析 本章学习要点 Python编程环境与数据集、Anaconda/jupyter集成开发环境的安装使用 NumPy/Pandas/Matplotlib/Scikit-learn库的使用 数据预处理、皮尔逊相关系数、one-hot编码、Min-Max和z-score标准化、训练集与测试集、梯度下降法、坐标下降法、均方误差MSE、R方、模型评价与K折交叉验证、超参数与网格搜索法、正则化原理、岭回归与LASSO回归、非线性回归与换元法、人口增长模型与逻辑斯谛回归