1.项目的方向很重要,在项目开始之初就应该做好设计,而不是将希望寄托于别人已经做好的开源项目上,要自己做好系统设计,不能老想着直接用外部成型的项目,最多看看他人的逻辑,而不是说全部拿来。这点最为重要。前期应该多做background reading,自己做好系统架构。
2.做项目的时候,开始启动项目的时候要确定好架构的应用场景,比如spark,hadoop确实很火,但是用它们来跑deeplearning真的很慢,在最开始做的时候,就要发现这个问题,及时调整方向就好了,而不能等到最后还在死扛着,整个项目就毁了。所以应该考虑使用spark和hadoop来进行个性化推荐或者舆情分析的。
3.队友的选择很重要,自己在项目之初高估了自己的能力,也没有用上队友的能力,导致最后这个项目只能死扛了,当时其实没有必要,大家都没有获得到东西这样。而自己一个人也不想做了。
在做项目过程中的感悟:
1.不是什么东西都是可以改改就可以用的,或者虽然可以跑了,但是性能并不好,但这反应的是我的基本工不好,比如我没有完全弄清楚spark怎么调优,虽然deeplearn4j是可以在spark上使用的, 但是它们的example就不合适,也许对于模型训练最好的还是在一台性能强大的机器上 去完成,并且虽然deeplearn也许需要大量的数据集,但是我选择的数据只是很小的数据,更加不应该放在集群上跑了。不过我自己也有一个疑惑,deeplearning一般的训练数据集是有多大了?
2.对于spark,我发现还是大量数据才能有用,也许是流数据才行了。比如,其他组主要做的是streaming的推荐以及舆情分析。或者商品推荐也是一个应用方向。听说还有的是图像处理方向,比如相似图片的推荐等。
目前自己想要立的flag:
1.做一个系统,涉及到舆情分析的:初步设想子系统分布:获取tweet数据,处理数据,----使用deeplearning或者NLP模型进行预测结果,将这一段时间的结果进行统计并且展示。
---- 这里也可以使用数据进行云图,将关键字列出来。
这个系统还有一个模型训练的问题,我目前的想法是使用现有的论文进行参考,然后实现一个。
2.在做一个新闻推荐系统,如果新闻推荐系统没有数据源,那还是参考tweet数据,根据个人的tweet来classification,然后进行tweet的消息推送,这个也可以扩展到微博的使用上。
希望,后面可以用两个星期来完成这两个项目,个人项目,所以还涉及到网页的展示。dashboard上。
另外就是这些项目是不是可以考虑使用scala来完成。不过工具的使用还是要考虑性能,我的能力,而不是为了使用而使用。