Skip to content

lianyipython/Python2AI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python2AI

从零开始学习人工智能,学习路线如下: 人工智能学习路线

1. Python

  1. 1.2w 星!火爆 GitHub 的 Python 学习 100 天 | GitHub-Python-100-Days

1.1 第一阶段 - Python基础学习(4月初-5月中旬)

5-7天自学掌握Python基础知识,然后进行Python基础知识测验。根据测试结果考虑是否重新学习Python基础知识。

  1. 学习教材

注:廖雪峰教材看累了,可以换着看看莫烦的Python视频。

  1. Python基础阶段需要掌握知识点

    • Python基础类型:数字类型、None类型、Bool类型、字符串类型
    • Python常用内置数据结构:列表(list)、元组(tuple)、字典(dict)、集合(set)
    • Python逻辑控制与操作:If分支语句、for/while循环控制、try...except异常处理
    • Python函数:定义函数、函数参数、函数式编程
    • Python类与模块:类构造、类实例化、模块介绍、模块加载和使用
    • Python的IO编程:文件读写
    • Python进程与线程:进程与线程区别
  2. Python基础测验 完成上面的基础学习后,可以在下面的题目中小试牛刀:

1.2 第二阶段 - Python玩转算法(5月中旬-6月底)

30天左右时间掌握Python实现基础算法,然后完成牛客网的《剑指Offer》牛客网的LeetCode经典编程题的练习。

算法刷题技巧:

  1. 微信大佬总结的算法学习经验

学习分三个部分:

  1. 自己去 牛客网的《剑指Offer》 做题系统中进行python练习

    《剑指Offer》pdf书籍已经放到algorithm

  2. 自己去 牛客网的LeetCode经典编程题 做题系统中进行python练习
  3. 自己学习慕课网视频《玩转算法面试 leetcode题库分门别类详细解析》

算法作业集 中自主记录完成的习题并定时反馈结果, 算法作业集 实现代码上传至 solution_sample 文件夹中。

学习目标:

  1. 需要掌握的题目类型:

    1. 数组
    2. 字符串
    3. 查找
    4. 排序
    5. 链表
    6. 堆栈
    7. 树+递归
    8. 回溯法
    9. 动态规划
    10. 贪心算法
  2. 需要完成目标:

    1. 希望第二阶段结束后,可以把牛客网的《剑指Offer》全部刷完。
    2. 希望第二阶段结束后,可以把牛客网的LeetCode经典编程题全部刷完。

1.3 第三阶段 - Python进阶学习(5月中旬-5月底)

1天学习基于Python的经典库。14天完成一个Python爬虫工具。

  1. 基于Python的经典库(1天了解经典库)

    1. Numpy
      • 这是一个非常有名的数据分析库。从计算数据分布的中位数,到处理多维数组,NumPy 都可以帮你完成。
    2. Pandas
      • 这是用来处理 CSV 文件的。当然了,你还需要处理一些表格、查看统计数据等,那 Pandas 就是可以满足你的需求的工具。
    3. Matplotlib
      • 把数据存储在 Pandas 的数据框后,你可能需要做一些可视化来理解数据的更多信息。毕竟一图抵千言。
    4. Seaborn
      • 这是另一个可视化工具,但这个工具更侧重于统计结果的可视化,比如直方图、饼图、曲线图或相关性表等。
    5. Scikit-Learn
      • 这是用 Python 实现机器学习的终极工具。所谓用 Python 实现机器学习指的就是这个——Scikit-Learn。所有你需要的从算法到提升的内容都能在这里找到。
    6. 干货|理解Python爬虫基础知识
  2. Python爬虫项目(14天)

    1. 1天完成练手项目 3 个适合新人上手的Python项目(附代码!)
    2. 13天完成爬虫工具 找一个感兴趣的爬虫项目练习

1.4 大牛阶段 - Python高级学习(选学)

  1. Python高级用法
    1. Python对象的比较与复制
    2. 值传递、引用传递or其他,Python里参数是如何传递的?
    3. 强大的装饰器
    4. metaclass
    5. 深入理解迭代器和生成器
    6. 揭秘Python协程
    7. Python并发编程之future
    8. Python并发编程之asyncio
    9. 你真的懂Python GIL(全局解释器锁)吗?
    10. Python垃圾回收机制
    11. SWIG:TensorFlow等流行框架背后的Python/C++混合编程技术
    12. Python实现Web开发框架:Django、Flask

2. 机器学习(6月初-6月底)

以下内容为了解内容,可以学习完整个机器学习内容后,再看:

机器学习算法地图

本阶段学习教材:书籍《统计学习方法》,李航著。统计学习方法书籍pdf/算法Python代码实现/课件

2.1 机器学习基础

  1. 数据归一化方法
  2. 过拟合/欠拟合
  3. 正则化
  4. 交叉验证
  5. 模型评估
  6. 偏差和方差
  7. 数据不均衡处理方法

2.2 监督学习

  1. 线性模型
    1. 线性回归
      • 岭回归
      • Lasso回归
    2. 线性分类
      • 逻辑回归(会推导)
      • SoftMax回归
  2. 支持向量机(会推导)
  3. 决策树
    1. ID3
    2. C4.5 -> 随机森林 <- Bagging
    3. CART -> AdaBoost/GBDT <- Boosting

决策树学习要与集成学习联系起来。

  1. 贝叶斯
    1. 朴素贝叶斯
    2. 贝叶斯网络
    3. 正态贝叶斯
  2. 浅层神经网络
  3. KNN(k-Nearest Neighbor, k近邻学习)
    1. 距离度量学习
  4. LDA(线性判别分析) -> KLDA
  5. 隐马尔科夫模型
  6. 条件随机场

2.3 无监督学习

2.3.1 聚类

  1. K-means聚类(会推导、会写代码)
  2. 层次聚类
  3. 高斯混合聚类
  4. 密度聚类
    1. DBSCAN
  5. OPTICS
  6. Mean Shift
  7. 谱聚类
  8. EM算法

2.3.2 降维

  1. PCA -> KPCA
  2. SVD
  3. 流行学习
    1. LLE
    2. 拉普拉斯特征映射
    3. 等距映射
    4. 局部保持投影
  4. 主题模型

2.4 集成学习

  1. Bagging
  2. Boosting
    1. AdaBoost
  3. 随机森林
  4. GBDT
  5. XGBoost
  6. LightGBM
  7. stacking

2.5 强化学习

  1. 策略迭代
  2. 价值迭代
  3. 蒙特卡罗算法
  4. 时序差分算法
    1. SARSA算法
    2. Q学习
      • DQN
      • 策略梯度

3. 深度学习

3.1 神经网络概述

  1. 感知器
    • 感知器模型-神经网络的起点
  2. logistic回归
    • logisitc回归虽然名字叫回归,但实际上是一种用于分类问题的算法,它在感知器模型的基础上加了一个logistic函数进行映射,得到区间(1, 0)类的概率值,刚好可以作为样本属于正样本的概率。logistic回归的作用类似于神经网络中的单个神经元,logistic函数即激活函数。这个函数导数的有界性为神经网络的梯度消失问题埋下了祸根。
  3. MLP
    • 多层感知模型(MLP)-真正意义上的神经网络

3.2 卷积神经网络

  1. 分类网络
    1. AlexNet
    2. GoogleNet
    3. VGGNet
    4. ResNet
  2. 检测网络
    1. RCNN簇
      • RCNN
      • SPPNet
      • FastRCNN
      • MaskRCNN
    2. YOLO簇
      • YOLO V1
      • YOLO V2
      • YOLO V3
    3. SSD簇
      • SSD
      • DSSD
    4. RFCN簇
    5. FPN簇
    6. RetinaNet簇
    7. Anchorfree簇
    8. 其它
  3. 分割网络
    1. FCN
    2. DialatedConv
  4. 跟踪网络
    1. HCF
  5. 轻量化网络
    • MobileNet V1
    • MobileNet V2
    • ShuffleNet V1
    • Xception

3.3 循环神经网络

  1. LSTM
  2. GRU
  3. BRNN
  4. NTM
  5. seq2seq
  6. RNN+CTC

3.4 生成模型

3.4.1 VAE

  1. VAE
  2. CVAE

3.4.2 GAN

  1. GAN
  2. CGAN

3.5 GNN(图神经网络)

  1. GCN

3.6 自编码器

About

从零开始学习人工智能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 100.0%