欢迎来到应用机器学习的世界!
你好!欢迎来到 CS2 课程中最令人兴奋的部分之一。在之前的章节中,你已经学习了各种模型的理论,现在我们要看看如何实际使用软件(如 R)来应用这些理论。具体来说,我们将聚焦于监督式学习(Supervised Learning)。
你可以将监督式学习想象成一位学生(电脑)跟随一位老师(数据)学习的过程。老师提供答案(标签),而学生尝试找出规律,以便日后能正确回答新的问题。无论你是要预测保险理赔金额,还是决定保单持有人是否会续约,本章都将为你提供完成任务的路线图。
1. 两大问题:回归与分类
在监督式学习中,每个问题通常都属于两大类之一。辨别你正在处理哪一类,是选择正确软件工具的第一步。
回归(Regression,预测数值)
当我们想要预测的输出是一个连续数值时,我们会使用回归。
例子:预测汽车保险理赔的具体金额。
类比:预测明天的气温。气温可能是 20.5 度、21.2 度等。
分类(Classification,预测类别)
当输出是一个标签或类别时,我们会使用分类。
例子:预测人寿保险申请人属于“高风险”还是“低风险”。
类比:将邮件分类为“垃圾邮件”或“非垃圾邮件”。
小撇步:如果你可以用手指数出可能的答案(是/否、红/蓝/绿),那通常是分类;如果有无限的可能性(如价格或年龄),那就是回归。
2. 软件中的一般工作流程
无论你使用哪种特定的算法,软件中的操作过程都遵循一套标准的“食谱”。别担心这听起来很深奥,这就像跟着烹饪教学做蛋糕一样简单!
第一步:数据准备(Data Preparation)
软件需要干净的数据。这包括处理缺失值,并确保电脑能理解变量(例如,将“男/女”转换为 0 和 1 等数字)。
第二步:分割数据(训练集 vs. 测试集)
这一点至关重要!我们将数据分为两部分:
1. 训练集(Training Set):模型用来“学习”规律的数据。
2. 测试集(Test Set):一场“期末考试”,使用模型从未见过的数据来检验其表现。
第三步:模型拟合(Model Fitting)
这一步我们指示软件将算法(如决策树或 GLM)应用于训练数据上。
第四步:预测与评估
我们使用拟合后的模型对测试集进行预测,并将预测结果与实际的“真实”答案进行比较,看看模型准确度如何。
重点提示:永远不要在训练模型的同一组数据上测试它。这就像在考试前一晚给学生看考题一样——他们并不是在学习,而是在死记硬背!
3. 关键的监督式学习技术
CS2 课程强调了几种软件可以实作的技术,以下是几种重量级技术的简介:
广义线性模型(GLMs)
GLM 是精算界“久经考验的可靠工具”。它们扩展了标准线性回归,以处理不同类型的数据(如计数数据或二元结果)。
软件实作:通常涉及选择一个分布(如用于索赔次数的 Poisson 分布)和一个链接函数(Link Function)(用于将预测变量与均值联系起来)。
决策树(Decision Trees)
决策树看起来就像一个流程图。软件根据最能提供信息的特征对数据进行“分割”。
类比:“二十个问题”游戏。(驾驶年龄是否大于 25 岁?若是,走左边;若否,走右边。)
常见分割准则:
- 针对回归:残差平方和(RSS)。
- 针对分类:基尼不纯度(Gini Impurity)或熵(Entropy)。
随机森林(Random Forests)与提升法(Boosting)
有时单一棵树是不够的,我们使用“集成(Ensemble)”方法将多棵树结合起来。
- 随机森林:独立建立多棵树,然后取平均值(回归)或多数投票(分类)。这被称为自助聚合(Bagging)。
- 梯度提升(Gradient Boosting):逐一建立树,每一棵新树都试图修正前一棵树所犯的错误。
神经网络(Neural Networks)
这些模型的灵感来自人脑,由多层“神经元”组成。
结构:输入层 -> 隐藏层 -> 输出层。
它们对于处理复杂规律非常强大,但往往被视为“黑盒(Black Box)”,因为很难解释它们 为什么 会做出特定的预测。
你知道吗?虽然神经网络很流行,但对于许多涉及结构化表格数据的精算任务,梯度提升机(Gradient Boosting Machines)的表现往往一样好,甚至更好!
4. 衡量表现:软件做得好吗?
一旦软件给出了模型,我们就需要测量它的“误差”。
对于回归(连续变量)
我们观察预测值(\( \hat{y} \))与实际值(\( y \))之间的偏差。
均方误差(MSE): \( MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \)
均方根误差(RMSE): 即 MSE 的平方根。它很受欢迎,因为它的单位与输出结果相同(例如,以美元计算)。
对于分类(类别变量)
我们使用混淆矩阵(Confusion Matrix),这是一个表格,展示了:
- 真阳性(TP):我们预测“是”,结果确实是“是”。
- 真阴性(TN):我们预测“否”,结果确实是“否”。
- 假阳性(FP):我们预测“是”,但结果是“否”(第一类错误)。
- 假阴性(FN):我们预测“否”,但结果是“是”(第二类错误)。
关键指标:准确率(Accuracy)
\( \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \)
快速回顾:如果你在预测罕见事件(如大地震),准确率可能会产生误导。如果事件发生的机率仅为 1%,那么一个总是预测“否”的模型准确率高达 99%,但却完全没有用处!
5. 应避免的常见陷阱
在使用机器学习软件时,请留意这些“陷阱”:
1. 过度拟合(Overfitting):当模型过于复杂时会发生。它学会了训练数据中的“噪音”而非真实规律。这会导致模型在训练数据上表现出色,但在新数据上却惨败。
2. 欠拟合(Underfitting):模型过于简单(例如试图用直线去拟合曲线)。这会导致模型在训练和测试数据上都表现不佳。
3. 特征选择(Feature Selection):包含过多不相关的变量会干扰模型。仅仅因为你可以将保单持有人的喜好颜色包含进去,并不代表这有助于预测他们的车祸风险!
总结清单
在继续学习之前,请确保你能回答以下问题:
- 我能区分回归和分类任务吗?
- 我了解为什么要将数据分为训练集和测试集吗?
- 我知道自助聚合(Bagging,随机森林)和提升法(Boosting)的基本区别吗?
- 我能识别 MSE 为回归指标,并将混淆矩阵视为分类工具吗?
如果觉得这些内容很多,别担心。应用机器学习既是科学也是艺术。你练习得越多,看这些模型运作得越多,你对它们的理解就会越直观!