今天列下具体的学习计划以及知识点汇总
推荐算法:CF,LR,SVM,FM,FTRL,GBDT,RF,SVD,RBM,RNN,LSTM,RL
数据挖掘:分类,聚类,回归,降维,特征选择,模型评价
数学:微积分,统计学,线性代数
周边学科:信息论基础
(数学和周边学科可以顺带巩固)
以上是理论知识。
—————————————————————————————————
以下是实践验证或者工程化具备技能:
编程语言:Python/R, Java/C++/C,sql,shell
RPC框架:thrift, Dubbo,gRPC
web服务:tornado, django, flask
数据存储:redis, hbase, cassandra, mongodb, mysql, hdfs,hive, kafka, elasticsearch
机器学习/深度学习:Spark MLib,GraphLab/GraphCHI,Angel,MXNet,TensorFlow,Caffe, Xgboost,VW,libxxx
文本处理:Word2vec,Fasttext,Gensim,NLTK
矩阵分解:Spark ALS,GraphCHI,implicit,qmf,libfm
相似计算:kgraph, annoy,nmslib, GraphCHI, columnSimilarities(spark.RowMatrix)
实时计算:Spark Streaming, Storm,Samza
————————————————————————————
工程中检验标准学习:
熟悉常见离线效果指标:准确率,召回率,AUC,基尼系数
能够定义产品效果指标:点击率,留存率,转换率,观看完整率
会做对比试验并分析实验结果:指标数据可视化
知道常见推荐产品的区别:Feed流推荐,相关推荐,TopN推荐,个性化推送
————————————————————————————————
软实力:
英文阅读;读顶级会议的论文、一流公司和行业前辈的经典论文和技术博客,在Quora和Stack Overflow上和人交流探讨;
代码阅读;能阅读开源代码,从中学习优秀项目对经典算法的实现;
沟通表达;能够和其他岗位的人员沟通交流,讲明白所负责模块的原理和方法,能听懂非技术人员的要求和思维,能分别真需求和伪需求并且能达成一致。
________________________________
所以基本学习思路是:理论基础+开源库(经典算法实现)+效果指标+软实力(需求沟通+分解技术)