系统设计和机器学习算法

算法训练网站

提供了大量可以练习的网站:

     1、Leetcode 

     2、Geeksforgeeks 

     3、Hackerrank 

     4、Lintcode

系统设计

关注:系统设计、面向对象的设计、数据库模式设计、分布式系统设计、大型系统架构可扩展性等案例研究相关文章

去深入了解整个系统的设计,包括整个读/写流程、如何保证很强的一致性、次要/主要压缩起到作用、LRU 缓存和 Bloom Filter 的作用等.

可以将 HBase 和 Cassandra 进行比较,设计上的相似点和不同之处

许多博客也能提供很多知识,比如 Hacker Noon、一些公司的工程博客以及开源项目的官方文档

机器学习

经典教材:

《The Elements of Statistical Learning》

《Pattern Recognition and Machine Learning》

 基本概念:偏差/方差权衡、过度拟合、梯度下降,L1/L2 正则化、贝叶斯定理、协同过滤、降维

 常用公式与模型推导:贝叶斯定理、逻辑回归、支持向量机

 简单的模型:决策树、 K 均值聚类

 机器学习产品的过程:

 1、确定目标:预测、推荐、聚类、搜索

 2、使用正确的算法:监督与无监督、分类与回归、广义线性模型/决策树/神经网络等,使用知道的原因

 3、选择模型性能指标

 4、生产优化模型

使用 Spark MLlib 和 XGBoost 简单地调用 API 训练出一个模型,研究 Stochastic gradient descent 适合分布式训练原因,

知道GBoost 和 GBDT 的区别原理。

核心原理的技能

  • 数学:微积分,统计学,线性代数
  • 周边学科:信息论基础
  • 推荐算法: CF,LR,SVM,FM,FTRL,GBDT,RF,SVD,RBM,RNN,LSTM,RL
  • 数据挖掘:分类,聚类,回归,降维,特征选择,模型评价
  • 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

 评估开发人员所有技能的最好方法,

1、制定目标和计划

1、保持好奇心

2、勇于研究,敢担当责任

3、良好的执行能力

二、数学知识

2.1 【AI_数学知识】数学分析

2.2 【AI_数学知识】概率论

2.3 【AI_数学知识】线性代数


三、机器学习

3.0 【AI_机器学习】基础知识

3.1 【AI_机器学习】K-近邻算法

3.2 【AI_机器学习】决策树

3.3 【AI_机器学习】朴素贝叶斯

3.4 【AI_机器学习】逻辑回归

3.5 【AI_机器学习】SVM

3.6 【AI_机器学习】AdaBoost元算法

3.7 【AI_机器学习】随机森林算法

3.8 【AI_机器学习】树回归

3.9 【AI_机器学习】神经网络

3.10 【AI_机器学习】隐马尔科夫


四、深度学习

4.1 【AI_深度学习】CNN 卷积神经网络

4.2 【AI_深度学习】RNN循环神经网络

4.3 【AI_深度学习】GANs生成对抗网络

猜你喜欢

转载自blog.csdn.net/ejinxian/article/details/78589038