人生的苦难不过伏尔加河上的纤夫
—— 24.11.27
一、机器学习起源
机器学习的本质 —— 找规律
通过一定量的训练样本找到这些数据样本中所蕴含的规律
规律愈发复杂,机器学习就是在其中找到这些的规律,挖掘规律建立一个公式,导致对陌生的数据一样可以起到判断效果
机器学习就是从数据中找到这个公式(规律、函数、映射)的过程
机器预测就是用这个公式去推断未知数据的过程
通过已知的样本,寻找其中所蕴含的规律,根据规律得出一个公式,然后再用公式推导其他未知样本数据的信息
二、机器学习应用
很多时候我们都会得到一些数据,我们希望从其中找到数据间的规律,但是有些复杂的规律我们无法得到,所以可以依托机器帮助我们挖掘这些数据间的规律
例:
① 知道花朵的大小、颜色、型状等信息,我们判断未知花朵的类别
② 知道身体健康信息,如血压、血糖等指标,来判断人体是否健康,是否患病
③ 知道房屋的大小、年份、地理位置等信息,来预测该房的房价是多少
④ 知道企业的业务、规模等市场信息,来预测该公司的股价
⑤ 知道国家的人口、科技水平、GDP、经济发展情况,来预测国家未来的GDP
规律及公式是由我们给出一个初始值,然后通过机器在数据间学习的成果,我们对公式中的具体参数进行调整、优化
三、机器学习的分类
1.有监督学习
模型通过学习输入数据和数据对应的输出标签之间的关系来进行训练。
模型在训练过程中有明确的指导,知道每个输入数据对应的正确输出是什么。
核心目标
建立一个模型/函数,来描述带标签的已知数据的输入与输出间内含的映射关系
价值
对于新的未知输入数据,通过模型给出预测的输出结果
有监督学习中,训练数据十分重要,因为训练数据不足的话,无法从样本数据中提出正确的规律,也就无法正确进行预测
要点
① 一定数量的训练样本
② 输入和输出之间必须要有关联关系(决定性条件)
③ 输入和输出结果要能够转化为数字/数值(数值化表示),机器才能从中进行学习
④ 任务需要有预测价值(固定规则的不用预测)
有监督学习在人工智能中的应用
① 文本分类任务
输入:文本
输出:类别
关系:文本的内容决定了文本的类别
② 机器翻译内容
输入:A语种文本
输出:B语种文本
关系:A语种表达的意思,B语种中有相应的表达
③ 图像识别任务
输入:图像
输出:类别
关系:图像中的像素排列,决定了图像的内容
④ 语音识别任务
输入:音频
输出:文本
关系:声音信号在特定语言中对应特定的文本
2.无监督学习
数据中只有X(数据)没有Y(对应的标注),给予机器的数据没有标注信息,通过算法对数据进行一定的自动分析处理,得到一些结论,常见任务有:聚类、降维、找特征值等等
聚类
数据只有点(X)没有对应的标注(Y),将数据在空间中分布靠近的点划分在一组/类
降维
将一个高维数据,用一种方法,让每个数据进行低维表示,他们在降维后空间中的分布与降维前在空间中的分布比较接近(维度降低,空间中的分布不变)
3.半监督学习
半监督学习是有监督学习和无监督学习之间的一种机器学习方式,将有监督学习和无监督学习结合起来,先利用无监督学习得到一些信息,再通过无监督学习得到的数据信息进行有监督学习,或者先对一些数据做有监督学习,将这些数据处理完后再做无监督学习,然后共同得到一种有意义的规律
4.自监督学习
数据中有数据X也有对应标注Y,但是对应标注Y由数据自身在训练过程中进行生成,不需要提前给出
现大多与无监督学习混用,但其实存在区别,自监督模型中学习数据的特征自动产生,相当于数据自身就是自身的标注,不需要人来标识数据,而无监督学习中数据的特征没有标注特征
5.有监督、无监督、半监督、自监督学习的区别
有监督学习是根据已知数据提供的数据特征,建立模型/算法,再用建立的模型/算法预测未知数据
无监督学习不需要数据特征,通过算法对未知数据自动分析处理提取特征,得出一些结论
自监督学习需要数据特征,但是由数据自动产生,不需要我们主动提供
半监督学习是将无监督学习和有监督学习融合起来,先后进行学习,得到一种有意义的规律
四、机器学习一般流程
训练数据 ——> 数据处理 ——> 选择处理的算法 ——> 训练数据(建模&评估)——> 反复进行优化 ——> 将模型输出
模型 == 函数 == 公式
五、机器学习常用概念
1.训练集
用于训练模型,是模型训练的训练数据集合
将训练集中的数据与测试集中的数据尽量分开
例:一般而言一百条数据,八十条用于训练,十条用于验证,十条用于测试(现常将验证集与测试集合体到验证集,直接在验证集进行测试模型效果),尽量保证训练集与测试 / 验证集无重合
2.验证集
对于每一种任务一般都有多种算法可以来选择,一般会使用验证集验证用于对比不同算法的效果差异
3.测试集
最终用于评判算法模型效果的数据集合
4.K折交叉验证(K fold cross validation)
初识采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用于训练。交叉验证重复K次(用这K个数据分别每个当作验证测试集,其余的作为训练集,最终求平均值),每个子样本验证一次,平均K次的结果
5.过拟合
模型失去了泛化能力,在特定的集合上表现很好,在新的集合上表现很差(模型在训练集和验证集上都有很不错的表现,但在测试集上的表现很差)
将测试集与训练集分开是预防发生过拟合现象
6.欠拟合
模型没能建立起合理的输入输出间的映射。当输入训练集中的样本时,预测结果与标注结果依然相差很大(由于训练数据过少,在训练数据上就没有找到好的规律,也就无法预测新样本数据)。
过拟合与欠拟合都与训练数据不足 / 选用的处理算法不当有关
7.评价指标
为了评估算法效果的好坏,需要找到一种评价模型效果的计算指标,根据不同的任务会使用不同的评价指标,常用的评价指标有:
① 准确率 ② 召回率 ③ F1值 ④ TopK ⑤ BLEU