python猫狗大战讲解_Kaggle猫狗大战图片分类项目研究

本文介绍了使用TensorFlow Slim的Inception-ResNet-V2模型进行猫狗图片分类的研究。项目涉及数据预处理、异常图片清理、模型训练与验证,以及迁移学习的应用。通过调整模型参数,最终得分0.04845,进入了Kaggle排行榜前4%。
摘要由CSDN通过智能技术生成

本文以研究报告形式描述了使用TensorFlow Slim 提供的预训练模型 Inception-ResNet-V2 进行猫狗图片分类的研究。

题图来自于网络,如侵权请留言,立即删除。

一、 问题定义

(一)项目概述

本项目是机器学习竞赛平台Kaggle上的一个图片分类项目Dogs vs. Cats[1]——猫狗大战,项目要解决的问题实际是一个计算机视觉领域的图像分类问题,图像分类一般的工作模式为给定一张图片,判断其属于某个有限类别集合中的哪一类。这个领域不仅非常有趣,而且具有非常大的应用价值和商业价值。猫狗大战项目图片数据来自于微软研究院的一个CAPTCHA[2](for Completely Automated Public Turing test to tell Computers and Humans Apart)项目Asirra[3] 的子数据集。

(二)问题陈述

猫狗大战项目要求对一个混合了猫和狗的图片数据集进行二分类,项目提供了用于训练、测试的两部分数据,要求使用算法程序在训练集上对已分类的猫和狗的图片进行建模,然后利用建立的模型对测试集上多张打乱顺序的未标记猫和狗的图片进行推断,输出图片是狗的概率,使用交叉熵损失值作为模型好坏的评估分数,最终分数需要进入Public Leaderboard 10%。

此毕业项目要求使用深度学习方法进行建模,将采用常见的CNN模型解决这个猫狗图片分类问题。

(三)评价指标

使用交叉熵损失loss值作为评估指标,交叉熵损失函数是神经网络分类算法中常用的损失函数,其值越小说明模型拟合的分布约接近真实分布,模型表现越好。交叉熵损失函数公式定义如下:

equation?tex=LogLoss%3D%5Cfrac%7B-1%7D%7Bn%7D%5Csum_%7Bk%3D1%7D%5En%5By_k+log%28%5Chat%7By%7D_k%29+%2B+%281-y_k%29log%281+-+%5Chat%7By%7D_k%29%5D公式1 交叉熵损失函数[4]。

equation?tex=n 为数据集中的图片数;

equation?tex=%5Chat%7By%7D_k 为预测概率;

equation?tex=y_k 在图片是狗时为1,否则为0;

equation?tex=log%28%29 是以

equation?tex=e 为底的自然对数。

使用交叉熵作为损失函数一方面是其适用于分类问题,二是题目得分评判标准也是交叉熵loss值,与得分评判标准一致使得训练阶段的评估指标与题目推断阶段评估指标比较是有意义的。

二、 分析

(一)数据的探索

输入数据包含训练集、测试集两部分,图片格式为JPEG。

训练集:train.zip,包含25000张已标记的图片文件,文件名格式为“类别.图片id.jpg”,类别为cat或dog,图片id为数字,如cat.0.jpg、dog.12247.jpg。

测试集:test.zip,包含12500张未标记的图片文件,文件名格式为“图片id.jpg”, 图片id为数字,如1.j

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值