入门笔记:机器学习与建模

我常想,如果我重新开始学习,那么在入门机器学习之前,我希望自己先了解哪些信息?本文旨在以一种速览、直白的方式,向有意入门的新手分享一下我对机器学习的浅见。

常见的机器学习问题包括分类,聚类,回归,关联规则等。其中分类算法是最广泛使用,而二分类又是其中最常见的。一封邮件是否是垃圾邮件(正常邮件/垃圾邮件),一个病灶是否是良性(良性/恶性),一个用户是否会违约(违约/不违约),一张图片是否人脸肖像(人脸/非人脸),手写数字的机器识别(0~9的多分类),这些问题都在分类的范畴。

常见的分类算法有逻辑回归、决策树、随机森林、提升树等。在说到具体的算法使用之前,需要先明确几个关于机器学习的概念。

1、目标函数与损失函数(或称代价函数)

目标函数,顾名思义,就是模型优化的目标。

目标函数 = 损失函数 + 正则化项

模型优化的目标有两个:一是使得预测值和真实值之间的差距最小化,二是使得模型不要过于复杂(因为复杂的模型不够健壮,或者说容易过拟合,导致在真实环境中表现不佳)。损失函数用来衡量预测值与真实值之间的差距,正则化项用来控制模型的复杂度。所谓正则化,即为“规则化”,含义就是使用规则约束模型的复杂度。

综上,目标函数的目标,就是在一定约束条件下(即正则化)的损失函数最小化。或者用更直白的话说,就是在模型不要过于复杂的前提下,使得预测值和真实值之间的差距最小。

常用的目标函数有哪些呢?譬如平方损失函数,交叉熵函数等,通常这些不需要我们深究,算法会自动选择合适的函数。

2、因变量,自变量,训练集,测试集,跨期验证,交叉验证,正例,反例

因变量就是模型预测的值(或称y值,标签值,只有一个),自变量就是模型使用的值(或称x值,特征值,理论上可以是任意多个)。训练集是用来训练模型的数据集,测试集/验证集是用来测试模型有效性的数据集,经验上两者通常保持7:3左右的比重,但这个没有一定之规。跨期验证是一种特殊的验证集,意思是模型使用较老的数据进行训练,使用较新的数据进行验证,以验证模型随着时间推移是否仍然有效。

交叉验证,通常指K折交叉验证,是指将数据集按某种抽样方法分成K份,使得每一份都至少经过一次训练和测试。通常在数据较少时使用。

正例(或称1)、反例(或称0)指的是二分类的因变量。通常我们考察的值,称之为正例。譬如我们想找到一批用户中的违约用户,那么违约用户就是正例,未违约用户就是反例。但这个叫法没有一定之规,反着叫也无关大局。

3、过拟合,欠拟合

过拟合指模型为了适应训练数据而变得过于复杂,导致在测试集上表现较差;欠拟合则相反,因模型过于简单而导致表现较差。

过拟合是机器学习中最常见的问题之一,围绕这个问题有着各种或简单、或高阶的解决方式。为什么过拟合这么常见呢?如果说传统的编程是给出一系列规则,让机器照着规则去执行任务并得出结果,那么机器学习就是反过来的:它首先得到一系列结果(训练集),然后尝试从结果中发现规则。当机器进行训练时,如果不加以限制,往往

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值