分类方式、测试与验证、K-折交叉验证

2019-08-23  本文已影响0人  Alcazar

【写在前面】:看了不少书,学了不少东西,希望写一篇 “俗套” 的机器学习笔记...

📖 一、关于机器学习

【解释】:机器学习是一门能够使用编程,让计算机从数据中学习的计算机科学技术(和艺术)。

【特点】:机器学习 能够自动地从过往经验中学习知识

多种解读方式

📖 二、机器学习的用途

机器学习的用途

📖 三、功能强大的机器学习框架-sklearn

安装 sklearn

pip install sklearn

【温馨提示】:要是下载很慢的话,可以使用清华源:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

【scikit-learn 介绍】:是基于 Python 语言的机器学习工具。是简单高效的数据挖掘和数据分析工具。

python中的开源软件库

python有一些常用于执行数据处理和机器学习的开源软件库。可以借助这些第三方扩展库(如Numpy、Pandas、Matplotlib、Scikit-learn等)来实现数据分析和机器学习的功能。
具体的一些常用的库和官网如下表所示:

功能描述 【机器学习】第三方库 官网
矩阵操作函数库 Numpy https://www.numpy.org.cn/
Python的绘图库 Matplotlib https://www.matplotlib.org.cn/
数据分析包 Pandas https://www.pypandas.cn/
科学计算的核心包 Scipy https://www.scipy.org/
机器学习函数库 Scikit-learn https://sklearn.apachecn.org/
统计建模工具包 StatsModels https://pypi.org/project/statsmodels/0.4.3/
深度学习框架 TensorFlow https://tensorflow.google.cn/

【更多sklearn知识】:https://sklearn.apachecn.org/

📖 四、机器学习的种类

关于机器学习的分类方式,我接受以下三类分类方式:是否有人类监督的角度划分、从系统是否可以传入数据流进行增量学习的角度划分、从是否泛化的角度划分。

1、从是否有人类监督的角度划分

(1)监督式学习

【解释】:用于学习的数据都是带标签的数据。
常见两种任务:

(2)无监督式学习

【解释】: 用于学习的数据都是不带标签的数据。

(3)半监督式学习

【解释】:数据中有一部分是带标签的,有一部分是不带标签的数据。

(4)强化学习

【解释】:考虑的是一系列动作之后的收益最大化。


2、从系统是否可以传入数据流进行增量学习的角度划分

(1)批量学习

【解释一下】:训练时,必须使用所有可用的数据进行训练,通常都是离线完成的。也就是说先完成系统的训练,然后再投入到生产环境中。如果需要更新系统模型,需要重新训练,重新部署。
【缺点】:训练时间长,耗费资源多。

(2)在线学习

【解释一下】:可以循序渐进的给系统提供训练数据,逐步积累学习成果。

【缺点】:容易忘记老的特征。可以通过学习率参数,调节学习速度的快慢。
【注意】:虽然名字叫在线学习,实际训练时也是离线完成的。

3、从是否泛化的角度划分

(1)基于实例的学习

【解释一下】:系统先完全记住学习实例,然后通过某种相似度度量方式将其泛化到新的实例。

(2)基于模型的学习

【解释一下】:从一组实例中,构建这些实例的模型,然后用这个模型进行预测。


📖 五、目前机器学习主要存在的挑战

【了解更多】:


📖 六、测试与验证

一般情况下会将数据分为训练集和测试集。 用训练集的数据去训练模型。用测试集的数据去测试模型的泛化能力。
【知识点补充】:

类别 验证集 测试集
作用 用于调超参数,监控模型是否发生过拟合(以决定是否停止训练) 评估最终模型泛化能力
使用次数 多次使用,并不断调参 仅一次使用
缺点 可能导致训练好的模型泛化性能不够 测试集为了具有泛化代表性,往往数据量比较大,测试一轮要很久。所以验证集仅仅是测试集的很小一部分,不够具有代表性
泛化误差

将模型应用于新场景的误差率。通常用来对模型进行评估。
【补充】:如果泛化误差很高,训练误差很低,则代表 模型过度拟合
【常理】:通常使用80%的数据做训练集,20%的数据做测试集。
【了解更多】:https://blog.csdn.net/Cerisier/article/details/78122653


📖 七、K-折交叉验证

【用法】:将训练集分为K个互补的子集,模型通过这个子集的不同组合进行训练,用剩余的自己子集进行验证。
一般情况下,将K折交叉验证用于模型调优,找到使得模型泛化性能最优的超参值。

【了解更多】:https://blog.csdn.net/tianguiyuyu/article/details/80697223


机器学习-知识框架
图片来源:https://www.jianshu.com/p/e0844e7cdba5
上一篇 下一篇

猜你喜欢

热点阅读