Leaf Classification

0. 采用cross-validation来验证model的好坏,在提交到LB之前先看下validation上的效果

1. 最开始直接用10种不同的classifier来看哪种的validation error小,然后选择这个提交到LB即可

2. 图片问题,考虑用神经网络

3. 把已经提取出的feature作为神经网络MLP的入参,有一层隐含层效果会好很多,

而归一化的话也能提升最后的结果,不然train error下来了,但是validation error最多只能达到95%,记得以前train mnist的时候也是这样,standardize一下,此时LB上的结果到了0.03

4. 当一层的hidden layer参数比较少时training error下不去,说明underfitting

5. 把提取出的feature丢掉CNN,或者直接把图片丢到原来MLP模型,效果都很差,因为本来就是:不同的数据适合于不同的model,图片信息适合于用CNN(卷积提取信息都符合图像处理)

6. 直接把图片丢到CNN里面,最后效果也不是很好,估计是图片旋转的问题,没有对齐,而且training set太小

7. extract feature + CNN:讨论区有人随机对图片进行旋转,但是我试了一下效果不好,我改为每幅图片旋转90度,180,270,都加到train_data中去,但是出现training的时候validation error比train error还小的情况,但是在LB上的结果却还更差?machine只是在记住结果?(因为就是标准的旋转,更容易记住,难道要要旋转随机的角度,这样machine就不好记住?但是记住不应该是先记住train set?)

8. train到后面要加大batch_size才能收敛

9. 还是好好看下别人怎么做的把。不然自己这样也很抓瞎,都不知到错在哪?又改从哪下手?评论区肯定有人会遇到相似的问题,认真看肯定会有的

10. keras自带有Augmentation的实现,ImageDataGenerator

https://keras-cn.readthedocs.io/en/latest/preprocessing/image/

自带可以实现图片的缩放,旋转,等等,相当于有很多的数据,

因为这里数据是2部分合起来,而augmation是对图片做的,而且图片的id要对应起来
所以要写一个combine数据的函数和自定义一个类来重写一些方法,但是现在看不懂,虽然能把别人的代码修改跑起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值