Machine Learning Memo
前言
近年来,人工智能(AI)始终是全球科技领域的焦点话题,相关概念与技术在媒体报道中高频出现,甚至一度伴随密集的市场炒作。随着ChatGPT、deepseek的横空出世,更是再一次的掀起全球对于 AI 的技术浪潮,与此同时,算法模型的持续迭代优化,叠加 NVIDIA 等企业在 GPU 显卡等算力硬件上的技术突破与供给支撑,大幅提升了 AI 的运算效率与落地能力。并与不同学科领域实现跨界交叉与融合创新,推动产业形态与社会生活方式的深刻变革。
笔者数学功底虽不差,但是仅仅公式的推导还是枯燥的,因而笔者更愿意通过代码(主要为Python)来实现一些简单的机器学习模型(必要时会添加数学公式辅助理解)。
一、各种机器学习问题
我们平时的学习都是知道输入、运算规则去计算输出的答案,而机器学习的目标就是通过输入数据和输出数据的样本,去学习出一个通用的模型,从而对新的输入数据进行预测,机器学习的系统实训练出来的,而不是用明确的程序编写出来的。以下是机器学习的几大分类:
(一)监督学习
监督学习(supervised learning)擅长在“给定输入特征”的情况下预测标签。其之所以能发挥作用,是因为在训练参数时,我们为模型提供了一个数据集,其中每个样本都有真实的标签。 而我们的目标是生成一个模型,能够将任何输入特征映射到标签(即预测)。训练模型其实是在寻找一个最佳的概率分布,从而在给定训练集特征的前提下输出最大化的条件概率。
监督学习的学习过程一般可以分为三大步骤:
- 从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签。这些输入和相应的标签一起构成了训练数据集;
- 选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”;
- 将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测。
(i)回归
回归(regression)是最简单的监督学习任务之一。 假设有一组房屋销售数据表格,其中每行对应一个房子,每列对应一个相关的属性,例如房屋的面积、卧室的数量、浴室的数量以及到镇中心的步行距离等等,每一行的属性构成了一个房子样本的特征向量。我们通过让机器学习这些属性构建出模型进而未来通过任意的标签属性即可估计出一栋房子的公平市场价值。
(ii)分类
分类问题希望模型能够预测样本属于哪个类别(category)。例如,手写数字可能有10类,标签被设置为数字0~9。 最简单的分类问题是只有两类,这被称之为二项分类(binomial classification)。 例如,数据集可能由动物图像组成,标签可能是猫狗两类。 回归是训练一个回归函数来输出一个数值; 分类是训练一个分类器来输出预测的类别
(二)无监督学习
与监督学习相对应,无监督学习获得的样本没有被人为的贴上“标签”,没有具体的目标,只能自发地进行学习。
(i)聚类
简而言之,就是在没有标签的情况下,我们是否能给数据分类呢?
(ii)主成分分析
(三)强化学习
本质上就是通过观测环境做出行为,根据追求奖励最大化的机制进行自我调节,多常见于游戏(或者围棋)。