2017 知乎看山杯机器学习挑战赛经验总结(一)

 

2017 知乎看山杯机器学习挑战赛是一个文本多标签预测分类的比赛,属于NLP(自然语言处理)的范畴。它提供了300万训练数据,24万左右的线上预测数据。需要你从1999个话题分类标签里,为每个问题抽取5个最相关的话题。为了防作弊和隐私安全考虑,提供的文本数据都做了特殊转换和词向量化。这些处理都为比赛带来了一定的技术门槛。知乎比赛传送门:https://biendata.com/competition/zhihu/leaderboard/

 

对于我这样的NLP的初学者(参赛前只做过几个NLP的例子程序)来说,刚开始被这些特殊处理过的文本难住了。以往的经验都是拿到中文文本,先使用结巴分词这样的工具去除停用词,然后分词抽取。这样得到的内容你想怎么处理都方便。现在这块没掉了,看到像'w1','w2'这样的数据,真地头疼。说实话,国内的比赛很缺乏对初学者的照顾,不像国外的KAGGLE比赛,经常有前辈给初学者提供一些如何开始比赛的程序或者建议,让初学者也能顺利地完成比赛。所以,我看到知乎比赛有将近900个参赛队伍,结果只有200个左右的队伍提交了成果。我估计有很多初学者都被技术门槛卡住了,没法做下去。

 

因为这个比赛是我第一次参加机器学习比赛,所以我坚持了下来。在尝试了多种不同的工具和模型后,得到了一些东西,并记录下来。

 

比赛第一阶段:

文本未经处理,直接送模型处理。例如,直接把’w1,w2’这样的文本信息送到RNN或者MLP进行训练处理。这样处理的结果,test准确率只有千分之4到百分之4.  这就是比赛排行榜上末尾看到结果。就因为这样,很多初学者放弃了比赛,结果太难堪了。

 

第二阶段:

 把’w1,w2’这样的文本信息分别转成256维的词向量,然后把词向量累加再求平均值。经过词向量平均值处理后,再送到MLP、RNN、 SVM等模型进行处理,test准确率在13%到23%之间。其中,linear svm准确率最高,泛化能力最好。

 

第三阶段:

把’w1,w2’这样的文本信息分别转成256维的词向量后不再求平均值,而是用词向量依次排列组成句子,再送到双向LSTM+GRU模型处理,test准确率提高到了27.3%。这个模型的缺点是消耗大量的GPU内存,只能用词向量组成40个词左右进行训练,否则,6G的显存都不够用。

使用投票法则,把前面只有百分之20几准确率的十几个模型集成起来,一起预测。线上得分刚好超过30%。

 

第四阶段:

听一些搞NLP的前辈们说想要拿高分,只有用ATTENTION模式。据说有人用ATTENTION模式训练出单模型40%准确率的。

我水平有限,搞不出能用的ATTENTION模型,只好参考别人的代码。参考开源的https://github.com/ilivans/tf-rnn-attention

 

把’w1,w2,w11’这样的文本信息做处理,去掉前面的’w’字符,变成’1,2,11’这样的数字,然后送到RNN+ATTENTION模型处理。这个模型得到的test准确率在30.6%左右。

再次用投票集成的办法,得到了线上成绩32%左右的结果。

 

这次比赛,我尝试过的机器学习工具包括:sklearn、mxnet、tensorflow、keras、xgboost、lightgbm等等。感觉最容易使用和最有帮助的是sklearn和keras,最难用的是tensorflow。用tensorflow实现模型,评估模型和预测都非常麻烦,都要自己写,缺乏效率。 Mxnet写的程序性能很好,但是真地太缺乏例子和文档了,我用它写不出来RNN+ATTENTION模型,浪费了。

 

知乎比赛还有15天就结束了,我也不打算再提交了。等到比赛结束了,看看有没有大神开源他们的方案。如果有的话,要好好看看他们是怎么做的。我很好奇能达到42%准确率的方案是怎么搞出来的。

 

转载于:https://my.oschina.net/qinhui99/blog/1492475

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习人工智能的核心,是使计算机具有智能的根本途径。 随着统计学的发展,统计学习在机器学习中占据了重要地位,支持向量机(SVM)、决策树和随机森林等算法的提出和发展,使得机器学习能够更好地处理分类、回归和聚类等任务。进入21世纪,深度学习成为机器学习领域的重要突破,采用多层神经网络模型,通过大量数据和强大的计算能力来训练模型,在计算机视觉、自然语言处理和语音识别等领域取得了显著的成果。 机器学习算法在各个领域都有广泛的应用,包括医疗保健、金融、零售和电子商务、智能交通、生产制造等。例如,在医疗领域,机器学习技术可以帮助医生识别医疗影像,辅助诊断疾病,预测病情发展趋势,并为患者提供个性化的治疗方案。在金融领域,机器学习模型可以分析金融数据,识别潜在风险,预测股票市场的走势等。 未来,随着传感器技术和计算能力的提升,机器学习将在自动驾驶、智能家居等领域发挥更大的作用。同时,随着物联网技术的普及,机器学习将助力智能家居设备实现更加智能化和个性化的功能。在工业制造领域,机器学习也将实现广泛应用,如智能制造、工艺优化和质量控制等。 总之,机器学习是一门具有广阔应用前景和深远影响的学科,它将持续推动人工智能技术的发展,为人类社会的进步做出重要贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值