第一个定义就是机械学习是什么?
机器学习就是让机器通过学习大量数据,找到一个能最好地描述这些数据之间关系的函数。这个函数可以用来预测新的数据,或者完成特定的任务。
这样子问题来了,为什么要找到函数不能是其他的吗?
- 数据背后的规律: 世界上的万事万物都有其内在的规律,这些规律往往表现为数据之间的某种关系。通过找到这个关系,我们就可以对未知的数据做出预测。
- 自动化决策: 机器学习模型可以根据找到的函数,自动做出决策。例如,在图像识别中,模型可以根据图像像素的数值,判断图像中的物体是什么。
根据书上的内容,什么又是回归?
我们希望找到一个函数,能够根据已知的输入变量(特征),来预测一个连续的输出变量(目标变量)。比如上面的pm2.5就是找到一个函数f,这个函数能将输入的这些特征组合起来,准确地预测出明天的PM2.5数值。这里函数f的形式可以是线性的,也可以是非线性的。
对于线性回归:f(x) = w1x1 + w2x2 + ... + b,其中x1, x2, ... 是输入特征,w1, w2, ... 是模型的参数,b是截距。
对于非线性回归:可以使用多项式回归、支持向量回归、神经网络等更复杂的模型来拟合非线性关系。
什么是分类问题?
分类问题是机器学习中的另一个重要任务,它的目标是将样本划分到预先定义好的类别中。与回归问题预测一个连续数值不同,分类问题预测的是一个离散的类别标签。
为什么是分类问题?
输出是离散值: 分类问题的输出是有限个离散的类别,而不是连续的数值。
划分样本: 我们希望将样本划分到不同的类别中,以便进行后续的处理或决策。
做出决策: 分类问题的结果可以直接用于决策,比如将垃圾邮件过滤掉,或者对图像进行标注。
分类问题和回归问题的区别
特征 | 回归问题 | 分类问题 |
输出 | 连续数值 | 离散类别 |
目标 | 预测一个精确的数值 | 将样本划分到正确的类别 |
常用算法 | 线性回归、支持向量回归、决策树回归等 | 逻辑回归、支持向量机、决策树分类、神经网络等 |
评价指标 | 均方误差、平均绝对误差等 | 准确率、精确率、召回率、F1值等 |
什么是结构化学习?
结构化学习(Structured Learning)是机器学习领域的一个重要分支,它与传统的回归和分类任务相比,输出更加复杂。传统的回归任务输出一个数值,分类任务输出一个类别,而结构化学习的输出则是一个具有内部结构的物体,比如一张图像、一段文本、一个序列、甚至是一个图。
举个例子:
- 图像生成: 输入一个随机噪声,输出是一张逼真的图像,比如人脸、风景等。
- 机器翻译: 输入一句英文句子,输出对应的法文句子。
- 语音识别: 输入一段音频,输出对应的文本。
- 自然语言生成: 输入一个主题,输出一篇完整的文章。
为什么是结构化学习?
- 复杂输出: 现实世界中的很多问题需要产生复杂的输出,而不仅仅是简单的数值或类别。
- 序列依赖: 结构化数据通常具有序列依赖性,比如自然语言中的词序、图像中的像素之间的关系。
- 全局约束: 结构化输出需要满足一定的全局约束,比如图像的连通性、句子的语法正确性。
结构化学习与传统机器学习的区别
特征 | 回归/分类 | 结构化学习 |
输出 | 数值或者类别 | 结构化对象(图像、文本、序列等) |
复杂度 | 相对简单 | 更复杂,需要考虑输出的结构和约束 |
评价指标 | 均方误差、准确率等 | BLEU评分、ROUGE评分、CIDEr等 |
算法 | 线性回归、逻辑回归、SVM等 | 条件随机场(CRF)、图神经网络(GNN)、序列到序列模型等 |
以上内容都是参考李宏毅老师的书的感想,有不对的地方劳烦支持,谢谢!