真锋
永远保持一颗学习和专注的心
嵌入式视觉

【Kaggle竞赛】Kaggle竞赛了解

关于Kaggle竞赛

Kaggle是一个数据分析的竞赛平台,网址:https://www.kaggle.com/,网站主页面如下:

kaggle上的竞赛主要分为A类赛和B类赛。

A类赛主要适合用传统的机器学习算法做,偏向与文本数据处理,比如房价预测,文本分类等;

B类赛则几乎都是用神经深度学习算法做偏向于图像识别/目标检测等方向,比如基础的猫狗识别、cifar10图像分类、蛋白质识别等。根据我的亲身体验,真的需要配置好的服务器做基础才行啊!

我现阶段专注于图像识别,所以我参加了三个kaggle竞赛都是CV领域的,下面是我总结的Kaggle的CV类竞赛的流程。

  1. 数据准备(包括下载、分析数据后,再读取数据并做预处理,数据量过小的话做数据增强)
  2. 模型设计(CNN网络选择,基础CNN,或者state-of-art模型,如ResNet,VGGNet等,模型)
  3. 迭代训练(迭代训练模型)
  4. 模型验证(在测试集上测试训练得到的模型)

比赛奖牌规则如下:

图像识别竞赛流程

图像识别竞赛,主要是对未知图像进行分类,然后在测试集上测试后,提交结果到Kaggle平台,查看分数和排名。主要流程如下:

  1. 数据准备
  2. 模型设计
  3. 迭代训练
  4. 模型验证

数据准备

包括下载、分析数据后,再读取数据并做预处理,数据量过小的话做数据增强。

模型设计

图像识别的比赛,基本都是CNN网络,所以这里可以选择基础的CNN网络,或者直接上state-of-art模型,如ResNet,VGGNet等模型,模型的设计需要注意的是一些超参数的调节,包括基础学习率、最大迭代训练次数、Batch批次大小等,这些都需要依靠经验和理论来去设置调节。

迭代训练

当数据准备和模型设计的工作完成以后,我们就可以对模型进行迭代训练,来获取模型最佳权重,在迭代次数完成后,记得保存模型。训练可使用K折交叉验证方法。

模型测试

迭代训练后的模型泛化性和效果如何,需要在测试集上测试之后才能知道,这也是Kaggle竞赛与网上乱七八糟的一些demo的不同之处,模型需要对较大的测试集进行测试,并将图像分类的测试结果写入csv文件提交到官网上去。为了得到好的测试结果,我们需要做验证比较多个模型、调节超参数、做数据增强、防止过拟合等工作。

总结

因为图像识别不想文本处理类的比赛所需数据量较小,所以它前期的数据准备工作很是繁琐,对硬件要求很高,所以建议准备一个好的服务器平台。

赞赏
更多干货文章,欢迎关注我的微信公众号-嵌入式视觉。

发表回复

textsms
account_circle
email

嵌入式视觉

【Kaggle竞赛】Kaggle竞赛了解
关于Kaggle竞赛 Kaggle是一个数据分析的竞赛平台,网址:https://www.kaggle.com/,网站主页面如下: kaggle上的竞赛主要分为A类赛和B类赛。 A类赛主要适合用传统的机器学习算法做,…
扫描二维码继续阅读
2018-11-30