从今年四月份到现在已经工作快9个月了,最开始是做推荐系统,然后做机器学习,现在是文本挖掘,每个部分研究的时间都不多,但还是遇到了很多问题,目前就把一定要总结的问题总结一下,以后有时间多看看,提醒自己看有没有解决。
推荐系统:
1.冷启动热启动区别和联系?各个阶段需要的算法?
2.每个算法的数学推导、适用情况、优缺点、改进方法、数据类型?
3.如何平衡热启动时的准确率和召回率,两者不可能同时高,怎么平衡?从算法本身还是业务层面?惊喜度怎么添加?
4.如何评价推荐系统的好坏?指标是啥?
机器学习:
1.能解决哪几类问题?(分类聚类回归预测?)每一类型会有哪些算法?
2.每个算法优缺点各是什么?各能解决什么问题?侧重点是什么?对数据的平衡性要求大吗?对初始值敏感吗?需要的数据类型是什么?(数值 or 类别?或者混合使用?)
3.每个算法是如何推导的?如果要调优要从哪些步骤着手?目前的局限是什么?(背后的数学依据)各个算法之间的联系和区别是啥?各算法之间可以结合吗?瓶颈和局限是什么?
4.python的scikit-learn包是不是都熟悉了,源码有没有看过?自己尝试把每个算法写一下,看看和scikit-learn包跑起来有没有区别?精确度是否会提高?
5.每个算法的评价指标是什么?(精确度召回度f1-score还有别的吗?)可视化有哪些方法?(ROC曲线?目前只知道这个,还有其他的吗?)
文本挖掘
1.基本步骤是啥?(清洗数据(缺失值、噪音数据、平滑处理)—>中文分词(各种方法)—>特征提取(tfidf还有其他几种方法) —>特征选择(卡方互信息发IG法等等)—>用机器学习算法跑)有没有漏的?或者有没有哪些步骤还有补充的可以提高精度的?
2.各个步骤之间各有哪种方法?每种方法区别和联系?数学推导是什么?有没有可以改进的地方?有没有新的方法可以自己造的?
3.数据编码转码不容忽视,不要忘记“不可见字符”(windows—>linux系统时候容易出现的问题)
这是工作到现在觉得必须要解决的问题,以后有新的发现再补充。关于这些问题的解决,不定期的在博客里发出来,不断修改,不断添加,总之,学习是个不断迭代的过程,fighting!:)