机器学习python3学习

Chapter 1 介绍

Chapter 2 基础知识

数据

数据集(data set)、样本(sample)、特征(feature)[如身高、体重等]、标记(label)、特征空间(feature space)[各个特征组成的空间]
在这里插入图片描述

监督学习

给机器的训练数据有标记
分类:二分类、多分类
回归:结果是一个连续数字的值

无监督学习

给机器的训练数据没有标记
对数据进行降维、特征提取[信用评级与体重无关?]、特征压缩[PCA]、异常检测
聚类:对没有标记的数据进行分类

半监督学习

一部分数据有标记,另一部分数据没有
通常先使用无监督学习手段对数据处理,之后使用监督学习手段做模型训练和预测

增强学习

根据周围环境的情况采取行动,根据采取行动的结果学习行动方式
在这里插入图片描述

批量学习

简单、但不能适应环境变化

在线学习

及时反映环境变化、但新数据有可能带来不好的变化

参数学习

一旦学习到参数,就不再需要原有数据集

非参数学习

不对模型进行过多假设(建模)

Chapter 3 Jupyter Notebook使用

魔法命令

%run
%timeit、%%timeit
%time、%%time

numpy.array基础

argmin最小元素的索引

FancyIndexing
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Chapter 4 kNN算法

算法—>模型的过程:拟合(fit)
在这里插入图片描述

判断算法性能

train_test_split
在这里插入图片描述

超参数

超参数:运行算法之前需要指定的参数
模型参数:算法过程中学习的参数
在这里插入图片描述
明可夫斯基距离:

在这里插入图片描述
kNN的超参数:k, p, method

网格搜索

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

数据归一化

将所有数据映射到同一尺度
用于有明显边界
在这里插入图片描述
S是特征值的方差

总结

解决分类问题、缺点效率低、高度数据相关、预测结果不具有可解释性、维度灾难
在这里插入图片描述

Chapter 5 线性回归算法

· 解决回归问题
· 结果具有很好的可解释性

简单线性回归

在这里插入图片描述目标:找到a和b,使得Σ(y(i)-ax(i)-b)2尽可能小
使损失函数尽可能小和效用函数尽可能大
在这里插入图片描述

在这里插入图片描述

向量化运算

在这里插入图片描述
在这里插入图片描述

回归算法的评价

均方误差
均方根误差
平均绝对误差

R Squared

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
R方其实是对比我们的模型和Baseline之间的差距
在这里插入图片描述

多元线性回归

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
正规方程解
在这里插入图片描述
时间复杂度过高O(n3)
在这里插入图片描述

关于线性回归模型的思考

可解释性:得到的系数表明目标与特征的正负相关性
在这里插入图片描述

梯度下降法

在这里插入图片描述
在这里插入图片描述
太小,收敛速度太慢;太大,不收敛甚至发散
在这里插入图片描述
在这里插入图片描述

多元线性回归中的梯度下降

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

向量化

在这里插入图片描述
在这里插入图片描述

使用梯度下降前进行归一化

在这里插入图片描述
在这里插入图片描述

随机梯度下降

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于梯度的调试

导数近似:
在这里插入图片描述

小结

小批量梯度下降法: 结合批量梯度下降法和随机梯度下降法
随机: 跳出局部最优解、速度快
梯度上升: 求最大值
在这里插入图片描述

Chapter 7 PCA

在这里插入图片描述
找到样本间间距最大的轴
样本间间距——方差:描述样本每一个变量与整体均值之间的差距
方差越大,样本越稀疏
在这里插入图片描述
主成分分析: 找到一个轴,使得样本空间的所有点映射到这个轴后,方差最大
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

梯度上升法解决主成分分析

在这里插入图片描述
向量化
在这里插入图片描述
第一主成分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

求数据的前n个主成分

求出第一主成分后,如何求出下一个主成分?
数据进行改变,将数据在第一个主成分上的分量去掉
在这里插入图片描述
在新的数据上求第一主成分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

高维数据向低维数据映射

在这里插入图片描述

sklearn中的PCA

在这里插入图片描述

数据降噪

Chapter8 多项式回归与模型泛化

多项式回归的基本思想

思路:与PCA相反,通过升高维度更好地拟合高维度数据
数据:
在这里插入图片描述
一维拟合:
在这里插入图片描述
升维:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sklearn中的多项式回归

生成数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Pipeline

在这里插入图片描述

过拟合和欠拟合

在这里插入图片描述

学习曲线

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

验证数据集与交叉验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

偏差方差权衡

在这里插入图片描述
模型误差=偏差+方差+不可避免的误差
导致偏差的主要原因:对问题本身的假设不正确,如非现行数据使用线性回归,欠拟合是导致偏差的主要原因
导致方差的主要原因:通常是使用的模型太复杂,如高阶多项式回归,数据的一点点扰动都会较大地影响模型,没有学习到问题的实质,学习到了过多的噪音,过拟合会极大地引入方差
在这里插入图片描述
偏差和方差通常是矛盾的,降低偏差就会提高方差;降低方差会提高方差
在这里插入图片描述

模型泛化与岭回归

模型正则化:限制参数的大小
在这里插入图片描述
称为岭回归

在这里插入图片描述

LASSO回归

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

L1, L2和弹性网络

在这里插入图片描述

在这里插入图片描述
L0:正则项:非0θ元素的个数
在这里插入图片描述

Chapter 9 逻辑回归

解决分类问题:将样本特征和样本发生的概率联系起来,概率是一个数
在这里插入图片描述
在这里插入图片描述

sigmoid函数

在这里插入图片描述
值域(0, 1):t>0时,p>0.5;t<0时,p<0.5

逻辑回归的损失函数

在这里插入图片描述
惩罚函数:
在这里插入图片描述
在这里插入图片描述
逻辑回归的损失函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

决策边界

在这里插入图片描述
在这里插入图片描述

使用多项式特征

在这里插入图片描述
在这里插入图片描述

sklearn中的逻辑回归

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OvR&OvO

逻辑回归只能解决二分类问题,解决多分类问题:OnevRest&OvO

在这里插入图片描述
n个类别进行n次分类,选择分类得分最高的
在这里插入图片描述
n个类别进行C(n, 2)次分类,选择赢数最高的分类

OvO:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Chapter 10 评价分类结果

准确度陷阱和混淆矩阵

分类准确度的问题:对于极度偏斜的数据,只用分类准确度是远远不够的
在这里插入图片描述

精准率和召回率

在这里插入图片描述
做了100次分类为1的预测,有几次是准确的
在这里插入图片描述
实际上有100次关注事件发生,有几次是准确的
在这里插入图片描述

在这里插入图片描述
精准率:预测8个人有癌症,预测中有8/(8+12)是准确的
预测数据为1,预测对了的概率;即预测癌症预测的成功率;每做100次患病的预测,会有40次是对的
召回率:实际有10个癌症病人,预算算法能从中正确的挑出8/(8+2)
真实发生的事件中,成功预测的概率;实际有100个癌症患者,能成功找出80个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注重精准率,如股票预测
注重召回率,如病情诊断

F1 Score

精准率和召回率的调和平均值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Precision-Recall的平衡

在这里插入图片描述

在这里插入图片描述

Precision-Recall曲线

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
红圈处可能表示精确率召回率达到平衡的点

ROC曲线

Receiver Operation Characteristic Curve,描述TPR和FPR之间的关系
True Positive Rate = Recall = TP / (TP + FN)
预测为1,并且预测对的数量占真实值为1的百分比
False Positive Rate = FP / (TN + FP)
预测为1,预测错了的数量占真实值为0和真实值不为1的百分比
TPR和FPR的关系
在这里插入图片描述
在这里插入图片描述
ROC曲线观察模型正确地识别正例的比例模型错误地把负例数据识别成正例的比例之间的权衡。TPR的增加以FPR的增加为代价。ROC曲线下的面积(AUC)是模型准确率的度量。

多分类问题中的混淆矩阵

Chapter 11 支撑向量机

不适定问题:决策边界不唯一的问题
在这里插入图片描述
解决的是线性可分问题
【思想】将问题转化成最优化问题,进一步解决
最大化margin–>最大化d
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有条件的最优化问题

Soft Margin和SVM正则化

在这里插入图片描述
在这里插入图片描述
使用SVM之前,数据要做标准化处理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SVM中使用多项式特征

生成数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用多项式核函数的SVM

在这里插入图片描述

核函数

K(x, y)表示x和y的点乘
在这里插入图片描述
在这里插入图片描述

高斯核函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将每一个样本点映射到一个无穷维的特征空间在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sklearn中的RBF核

在这里插入图片描述
与高斯函数中的6(yita)参数相反
在这里插入图片描述
γ=1.0
在这里插入图片描述
γ=100.0
在这里插入图片描述
γ越低,模型越倾向于欠拟合;γ越高,模型越倾向于过拟合

SVM思路解决回归问题

margin范围内的数据点越多越好(与解决分类问题相反)
在这里插入图片描述

Chapter 12 决策树

在这里插入图片描述
在这里插入图片描述
非参数学习算法,可以解决分类问题,天然可以解决多分类问题,也可以解决回归问题,非常好的可解释性
问题:每个节点在哪个维度做划分;某个维度在哪个值上做划分

信息熵

熵在信息论中代表随机变量不确定度的度量
在这里插入图片描述
在这里插入图片描述
pi代表k类信息中第i类所占比例,H>0
划分要使得信息熵降低

使用信息熵寻找最优划分

在这里插入图片描述
在这里插入图片描述

基尼系数

在这里插入图片描述
基尼系数越大,不确定性越大;基尼系数越小,不确定性越小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

信息熵vs基尼系数

信息熵计算比基尼系数稍慢
sklearn中默认为基尼系数
大多数时候二者没有特别的效果优劣

CART

Classification And Regression Tree,根据某一个维度d和某一个阈值v进行二分
在这里插入图片描述
剪枝:降低复杂度,解决过拟合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

决策树解决回归问题

在这里插入图片描述

决策树的局限性

决策边界是与X轴Y轴平行的
在这里插入图片描述
对个别数据敏感
在这里插入图片描述
在这里插入图片描述
非参数学习的缺点:普遍依赖于调参

Chapter 13 集成学习和随机森林

集成学习

集成多个算法,让不同算法对同一组数据进行分析得到结果,最终投票决定公认的最好结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Soft Voting Classifier

在这里插入图片描述
要求集合的每一个模型都能估计概率
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bagging和Pasting

如何创建差异性:每个子模型只看样本数据的一部分
取样:放回取样Bagging(常用);不放回取样Pasting
以n_samples=500,noise=0.3, random_state=42的make_moon数据为例:
在这里插入图片描述

关于Bagging的讨论

Out-of-Bag
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
极易进行并行化处理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随机森林和Extra-Trees

随机森林
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Extra-Trees
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Boosting

集成多个模型
每个模型都在尝试增强整体的效果
1.Ada Boosting
在这里插入图片描述
每次生成的子模型都在弥补上一次生成模型没有成功预测的样本点
在这里插入图片描述
2.Gradient Boosting
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Stacking

在这里插入图片描述
在这里插入图片描述

Chapter 14 scikit-learn文档

scikit-learn.org

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值