机器学习笔记-14

机器学习系统设计

1.导入

以垃圾邮件分类器为例子,当我们想要做一个能够区分邮件是否为垃圾邮件的项目的时候,首先在大量垃圾邮件中选出出现频次较高的10000-50000词作为词汇表,并为其设置特征,在对邮件分析的时候输出该邮件的特征判断是否为垃圾邮件。

假设词汇表为(word1,word2,word3),其中word1和word3是垃圾邮件中出现频次很高的,word2是非垃圾邮件中常出现的。比如一个邮件的输出为(1,0,1),意思就是邮件中含有word1、word3,没有word2,那么可以判定为垃圾邮件。

注意词汇表中不止包含垃圾邮件中的词还包括非垃圾邮件出现的词,上述例子中word2就是从非垃圾邮件中选取的。

上面的例子中的word1、word2、word3都是随便起的名字不具有任何含义!!

如果还没有理解的可以看看这个视频

2.误差分析(Error Analysis)

依旧以垃圾邮件分类器为例子,当我们算法将一些垃圾邮件、非垃圾邮件错误分类时,我们可以把这些被误分的邮件统计起来看看有什么共同的特征和规律,以此来设计新特征、改进算法。

为了方便统计引入数值评价指标"误差率",这个大家应该都懂。

在验证集上做误差分析,不要在测试集上做误差分析。

在我们新开始一个机器学习问题时,可以先快速设计一个简单粗暴的算法,随后通过误差分析找到算法的缺陷以及优化的方向。

不用学习曲线是因为最开始的时候样本少画不出来。

3.不对称性分类的误差评估

偏斜类(skewed classes):正负样本比例非常大。

当遇到偏斜类问题时,比如说一个二元分类问题的训练集中一共有10个样本,其中9个y=1,只有1个y=0,这时就会产生只要我们的算法一直输出y=1误差率就会很小,但是这并不能泛化,所以要用其他的数值评价指标来评判算法是否足够优秀。

继续以垃圾邮件分类器为例子。

查准率(Precision) :对于所有我们预测是垃圾邮件的邮件中有多大比例是真的是垃圾邮件, 查准率 = 预测结果为垃圾邮件的邮件中真的是垃圾邮件的邮件数量 预测出的垃圾邮件数量 查准率=\frac{预测结果为垃圾邮件的邮件中真的是垃圾邮件的邮件数量}{预测出的垃圾邮件数量} 查准率=预测出的垃圾邮件数量预测结果为垃圾邮件的邮件中真的是垃圾邮件的邮件数量。查准率越高越好。

召回率(Recall) :对于所有的垃圾邮件我们有多大比例能发现他是垃圾邮件, 召回率 = 预测值和真实值都是垃圾邮件的邮件数量 真正的垃圾邮件数量 召回率=\frac{预测值和真实值都是垃圾邮件的邮件数量}{真正的垃圾邮件数量} 召回率=真正的垃圾邮件数量预测值和真实值都是垃圾邮件的邮件数量。同样召回率也是越高越好。

拥有高查准率和高召回率的模型是一个好的模型,但是根据查准率和召回率的定义我们可以看出二者是此消彼长的关系,所以选择一个好的模型需要另一个数值评价指标对查准率和召回率进行平衡取舍。以P代表查准率、R代表召回率,故而定义F值 或 F 1 F_1 F1值:
F = 2 P R P + R F=2\frac{PR}{P+R} F=2P+RPR

F值越高的越好。

除此之外,在我们定义机器学习问题的特征时,可以将心比心,自己尝试一下假如自己是专业人士,用自己所给定的特征能否推出结果。比如假设你是一个卖房子的,只设计了一个房子面积的特征,并没有给其他的特征比如地段、是否精装、房型等等,要输出价格,显然是不能推出的,所以同样的机器学习算法也不能输出对应的假设。

相关推荐
春末的南方城市22 分钟前
FLUX的ID保持项目也来了! 字节开源PuLID-FLUX-v0.9.0,开启一致性风格写真新纪元!
人工智能·计算机视觉·stable diffusion·aigc·图像生成
zmjia11123 分钟前
AI大语言模型进阶应用及模型优化、本地化部署、从0-1搭建、智能体构建技术
人工智能·语言模型·自然语言处理
jndingxin37 分钟前
OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
人工智能·opencv·音视频
AI完全体1 小时前
【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)
人工智能·深度学习·神经网络·机器学习·过拟合·模型复杂度·偏差-方差
GZ_TOGOGO1 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
sp_fyf_20241 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
新缸中之脑1 小时前
Ollama 运行视觉语言模型LLaVA
人工智能·语言模型·自然语言处理
胡耀超2 小时前
知识图谱入门——3:工具分类与对比(知识建模工具:Protégé、 知识抽取工具:DeepDive、知识存储工具:Neo4j)
人工智能·知识图谱
陈苏同学2 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
吾名招财2 小时前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn