2_机器学习基础—算法分类、模型调优
文章目录
1 什么是机器学习
机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测
2 数据类型
数据类型不同,机器学习应用有区别。
算法是核心,数据和计算是基础
2.1 数据分类一
按照机器学习的数据分类我们可以将数据分成:
- 标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)
- 数值型:数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析)
2.2 数据分类二
按照数据的本身分布特性:
-
离散型数据:指其数值只能用自然数或整数单位计算的数据(例如,班级人数、进球个数、是否是某个类别等等)
-
连续型数据:在指定区间内可以是任意一个数值,即变量的取值可以是连续的(例如,票房数据、花瓣大小分布数据)
注:离散型数据是区间内不可分,没有规律;
连续型数据是区间内可分,有规律。
3 机器学习算法分类
常用数据集数据的结构:特征值+目标值
-
监督学习(特征值+目标值)
- 分类 k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归(LR)、神经网络、支持向量机(SVM)
- 回归 线性回归、岭回归
- 标注 隐马尔可夫模型 (HMM)
-
无监督学习 (只有特征值)
- 聚类 k-means
分类:目标值离散型
回归:目标值连续型
监督学习(英语:Supervised learning),可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
无监督学习(英语:Unsupervised learning),可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。输入数据是由输入特征值所组成。
3.1 分类
概念:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成为分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果;
分类问题的应用:
1.在银行业务中,构建一个客户分类模型,按客户按照贷款风险的大小进行分类
2.图像处理中,分类可以用来检测图像中是否有人脸出现,动物类别等
3.手写识别中,分类可以用于识别手写的数字
4.文本分类,这里的文本可以是新闻报道、网页、电子邮件、学术论文
3.2 回归
概念:回归是监督学习的另一个重要问题。回归用于预测输入变量和输出变量之间的关系,输出是连续型的值。
回归问题的应用:
1.房价预测,根据某地历史房价数据,进行一个预测;
2.金融信息,每日股票走向
3.3 标注问题
标注也是一个监督学习问题。可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题在信息抽取、自然语言处理等地方广泛应用,是这些领域的基本问题。例如,自然语言处理的词性标注就是一个典型的标注,即对一个单词序列预测其相应的词性标记序
4 模型的选择与调优
4.1 交叉验证
交叉验证:为了让被评估的模型更加准确可信
交叉验证:将拿到的数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。
交叉验证的好处:可以保证所有数据都有被训练和验证的机会,也尽最大可能让优化的模型性能表现的更加可信。
使用交叉验证方法的目的主要有2个:
- 从有限的学习数据中获取尽可能多的有效信息;
- 可以在一定程度上避免过拟合问题。
4.1.1 网格交叉验证(GridSearchCV)
- GridSearchCV:网格交叉验证,主要用于模型开发阶段找出模型的最优参数的一种方式;内部会利用交叉验证
- 现在对于A和B的每个参数组合都进行一次k折交叉验证;将k折交叉验证的得到的k个模型的score(model.score(x,y))均值作为当前这组参数在训练集上的模型整体效果;GridSearchCV最终认为模型整体效果最优的对应参数是最优参数.
4.2 超参数搜索—网格搜索
通常情况下,有很多参数是需要手动指定的(如k-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。