This commit is contained in:
yinkanglong_lab
2021-03-19 19:32:45 +08:00
parent d382bc86eb
commit 9cd1fe4b4f
10 changed files with 213 additions and 134 deletions

View File

@@ -1,113 +1,138 @@
# 机器学习
## 当前的主要任务:
现在处在研究的第一和第二阶段。关于第一阶段联邦学习的应用场景,主要由蒋师兄完成。第二阶段,学习联邦学习关联的基础知识,为第三阶段机器学习算法的实现和框架的搭建做好准备。
看完相关的文章和博客。然后开始学习用两周时间学习完成基础知识。在学习基础知识的时候使用tensorflow框架进行算法的运行。
看完相关的文章和博客。然后开始学习,用两周时间学习完成基础知识。在学习基础知识的时候,使用 tensorflow 框架进行算法的运行。
---
-------------------
## 长久的时间计划:
* 必须在十一月份之前完成学习工作。那就到10月30号把。还有五本需要看的书。10月30号之前完全搞懂该领域的内容。
* 十一月份,进行调研,寻找大量相关的研究工作
*月份,对相关领域的算法进行实现。对算法进行改进
- 必须在十一月份之前完成学习工作。那就到 10 月 30 号把。还有五本需要看的书。10 月 30 号之前,完全搞懂该领域的内容
-月份,进行调研,寻找大量相关的研究工作
- 十二月份,对相关领域的算法进行实现。对算法进行改进。
> 感觉时间不够了啊,兄弟。你这需要做的事情有点多。国庆节,尽量恶补完成大部分机器学习的基础知识和主要的算法,然后国庆节后开始看论文。
--------------
---
## 学习路线
### Python系列一周
> 熟悉python进行机器学习的基础库包括每个库都干了什么。
### Python 系列(一周)
python3-numpy-scipy-matplotlib-pandas√
> 基本完成。主要是知道了这些东西都是干什么用的。
> 熟悉 python 进行机器学习的基础库,包括每个库都干了什么。
- [x] python3√
- [x] numpy√
- [x] scipy√
- [x] matplotlib√
- [x] pandas√
> 基本完成。主要是知道了这些东西都是干什么用的。
### 机器学习+深度学习系列(视频教程)(三周)
> 需要了解机器学习的各种工具需要的进行补充。使用python3进行编程实践。这一部分是最关键的需要按照知乎的方法进行调整学习。入门课程->模型算法->编程实践
> 需要了解机器学习的各种工具,需要的进行补充。使用 python3 进行编程实践。这一部分是最关键的,需要按照知乎的方法进行调整学习。入门课程->模型算法->编程实践
1. 《机器学习》吴恩达的课程一看。跟着做做笔记。
* 第一轮,笔记对照(看一部分,总结一部分。)
* 第二轮看吴恩达的PPT重新整理所有的笔记。
* 第三轮寻找吴恩达课程的课后题使用python完成课后题
- [x] 第一轮,笔记对照(看一部分,总结一部分。)
- 第二轮,看吴恩达的 PPT 重新整理所有的笔记。
- 第三轮,寻找吴恩达课程的课后题,使用 python 完成课后题
2. 吴恩达的神经网络五套课程看完。各种神经网络。
* 神经网络与深度学习
* 改善神经网络
* 结构化项目学习
* 卷积神经网络
* 序列模型
* 第一轮,笔记对(借用其他人的笔记进行修改,同时理解)
* 第二轮看吴恩达的PPT重新整理所有的笔记
* 第三轮课后题TensorFlow完成
3. ~~《统计学习方法》~~ 一看。3Blue1Brown的视频看一看。跟着做做笔记。数学公式太多太难了应该学会放弃。看西瓜书好了。
4. 《机器学习西瓜书》一看。跟着做做笔记
5. 《机器学习实战》量子位提供的书,适合编程
6. 《python机器学习》里边涉及几个实战
7.白板推导》视频看一遍。tensorflow教程一看实现一遍之前的算法。
8. (可选) ~~《机器学习基石》上&下~~//李宏毅的机器学习也行(在进行一段时间之后,已经完成了多个项目之后,可以回过头来看李的视频,进行更深层次的理解)
* 完成第二轮,笔记对照
* 代码实现课后的内容
- [x] 神经网络与深度学习
- [x] 改善神经网络
- [x] 结构化项目学习
- [x] 卷积神经网络
- [x] 序列模型
- 第一轮,笔记对(借用其他人的笔记进行修改,同时理解)
- 第二轮,看吴恩达的 PPT 重新整理所有的笔记
- 第三轮课后题TensorFlow 完成
3. ~~《统计学习方法》~~ 一看。
- [ ] 3Blue1Brown 的视频看一看。跟着做做笔记。数学公式太多,太难了,应该学会放弃。看西瓜书好了
4. 《机器学习西瓜书》一看
- [ ] 跟着做做笔记。
5.机器学习实战》
- [ ] 量子位提供的书,适合编程。
6. 《python 机器学习》
- [ ] 几个实战.
7. 《白板推导》
- [ ] 视频看一遍。tensorflow 教程一看,实现一遍之前的算法。
8. (可选) ~~《机器学习基石》上&下~~
- [ ] 李宏毅的机器学习也行(在进行一段时间之后,已经完成了多个项目之后,可以回过头来看李的视频,进行更深层次的理解)
- [ ] 完成第二轮,笔记对照
- [ ] 代码实现课后的内容
> (1,2)->(3,4)->(5,6)->(7,8)
> 安排
>
> 1. 首先跟着量子位的课程完成上述学习。
> 2. 然后跟着apacheCN的资料完成第二阶段的阅读。
> 2. 然后跟着 apacheCN 的资料完成第二阶段的阅读。
> 3. 然后就是尝试专业领域的应用实战。
> 补充:林轩田《机器学习基石》《机器学习技法》。李宏毅的《机器学习视频教程》。
> 工具
> * sklearn
> * tensorflow
> 补充:林轩田《机器学习基石》《机器学习技法》。李宏毅的《机器学习视频教程》。
> 工具
> _ sklearn
> _ tensorflow
> 变更说明
> * 经过仔细思考,感觉李宏毅的机器学习+深度学习与吴恩达的机器学习+深度学习,重叠的部分太多,入门阶段进行混合学习代价较大。所以,入门阶段都是以吴恩达的课程为主,编程也是以吴恩达的课程为主。总共包括五个模块,可以适当地学习三到四个模块,然后进行下一阶段。
> * 等所有部分完成了,以李宏毅的课程作为基础知识的回顾和强化
>
> - 经过仔细思考,感觉李宏毅的机器学习+深度学习与吴恩达的机器学习+深度学习,重叠的部分太多,入门阶段进行混合学习代价较大。所以,入门阶段都是以吴恩达的课程为主,编程也是以吴恩达的课程为主。总共包括五个模块,可以适当地学习三到四个模块,然后进行下一阶段
> - 等所有部分完成了,以李宏毅的课程作为基础知识的回顾和强化。
> 学习路径说明
> * 视频教程-基础知识构建,以知识的角度,逐渐构建机器学习体系,跟随课程理解。
> * 读书整理-机器学习算法,从算法的角度,独立理解算法的原理,深刻理解每个算法的原理
> * 算法实践,从工程的角度,考虑如何设计算法,实现算法,优化算法和进行算法可视化
>
> - 视频教程-基础知识构建,以知识的角度,逐渐构建机器学习体系,跟随课程理解
> - 读书整理-机器学习算法,从算法的角度,独立理解算法的原理,深刻理解每个算法的原理。
> - 算法实践,从工程的角度,考虑如何设计算法,实现算法,优化算法和进行算法可视化
### 联邦学习实践系列(三周)
### 联邦学习系列(三周)
> 尝试搭建小型的联邦学习框架。寻找网络教程,完成这一块,还有很多书。
tensorflow
fate
- [ ] sklearn
- [ ] tensorflow
- [ ] pysft
- [ ] fate
### 问题定义(三周)
* 阅读相关论文,定义环境,找到论文的方向。
* 分析前沿的研究,了解该领域的主要方案。
* 提出自己解决问题的方案,对模型和系统进行初步规划。
- 阅读相关论文,定义环境,找到论文的方向。
- 分析前沿的研究,了解该领域的主要方案。
- 提出自己解决问题的方案,对模型和系统进行初步规划。
### 相关资料说明
* 吴恩达的机器学习
* 吴恩达的深度学习五套课程
* 李宏毅《机器学习+深度学习课程
* ~~林轩田《机器学习基石》课程~~
* 李航《统计学习方法》
* 周志华《西瓜书
* 《机器学习实战
*Python机器学习》
- 吴恩达的机器学习
- 吴恩达的深度学习五套课程
- 李宏毅《机器学习+深度学习》课程
- ~~林轩田《机器学习基石》课程~~
- 李航《统计学习方法
- 周志华《西瓜书
- 《机器学习实战
- 《Python 机器学习》
### 选择
框架选择:
* tensorflow和fate
研究方向:
* 数据挖掘
* 文本处理(自然语言处理)
* 行为建模和行为分析。(这可能是工作量最大的地方。
* 恶意软件相关特征提取(恶意软件相关特征分析和应用,机器学习算法应用的地方,联合训练模型的构建
- tensorflow 和 fate
研究方向:
- 数据挖掘
- 文本处理(自然语言处理
- 行为建模和行为分析。(这可能是工作量最大的地方。
- 恶意软件相关特征提取(恶意软件相关特征分析和应用,机器学习算法应用的地方,联合训练模型的构建)
### 参考
* [知乎量子位回答](https://zhuanlan.zhihu.com/p/37349519)
* [知乎ApacheCN回答](https://www.zhihu.com/question/20691338/answer/248678328)
> 当你按照自己的流程走完了上述的内容之后应该去看量子位和ApacheCn的教程。自己的学习只能算是入门当前的关键应该是开始学习而不是在这里瞎搞。
- [知乎量子位回答](https://zhuanlan.zhihu.com/p/37349519)
- [知乎 ApacheCN 回答](https://www.zhihu.com/question/20691338/answer/248678328)
> 当你按照自己的流程走完了上述的内容之后,应该去看量子位和 ApacheCn 的教程。自己的学习只能算是入门,当前的关键,应该是开始学习,而不是在这里瞎搞。
### 补充学习
> 有时间学习一下数学内容(找相关的数学客车个)
* 微积分
* 线性代数
* 概率论和数理统计
- 微积分
- 线性代数
- 概率论和数理统计

View File

@@ -10,50 +10,51 @@
- 制作简历(明天)√
- 知识复习——语言
- C++primer两周
- 基础语法√
- 标准库 STL√
- 面向对象√
- 设计模式有道云笔记gitee 设计模式库,书)
- effective 系列
- 系列视频
- 问题专项解决)
- [x] 基础语法
- [x] 标准库 STL√
- [x] 面向对象
- [ ] 设计模式有道云笔记gitee 设计模式库,书)
- [ ] effective 系列
- [ ] 系列视频
- [ ] 问题专项解决)
- Java两周
- 语法
- 标准库(网络编程、多线程、IO
- Spring框架
- 知识复习——算法与数据结构(一周)
- 数据结构《大话数据结构》
- 算法《数据结构与算法分析》《算法图解》
- [ ] 语法
- [ ] 标准库(网络编程、多,周
- 数据结构
- [ ] 《大话数据结构》
- 算法
- [ ] 《数据结构与算法分析》
- [ ] 《算法图解》
- 知识复习——基础(一周)
- 计算机网络
- 数据库
- 操作系统
- Linux 与网络编程
* 刷题
* 力扣(学习、题库、讨论。侧重于刷算法类型的题目和相关讨论)
* 学习3-5本书的学习需要阅读的书籍如下
* 数组、链表、队列、树(堆)、图(数据结构专项)
* 初级算法
* 中级算法
* 高级算法
* 题库:然后按照热度刷题库
* 剑指offer
* 讨论:没事看讨论,主要是一些面经和基础知识,可以补充
* 牛客网(学习、社区、求职基础知识的学习)
* 题库(知识用来刷题)
* 经典必刷题目
* C++/JAVA专项练习
- [ ] 计算机网络
- [ ] 数据库
- [ ] 操作系统
- [ ] Linux 与网络编程
- 刷题
- 力扣(学习、题库、讨论。侧重于刷算法类型的题目和相关讨论)
- 学习3-5 本书的学习需要阅读的书籍如下
- [ ] 数组、链表、队列、树(堆)、图(数据结构专项)
- [ ] 初级算法
- [ ] 中级算法
- [ ] 高级算法
- 题库:然后按照热度刷题库
- [X] 剑指 offer√
- [ ] 每日一题
- 讨论:没事看讨论,主要是一些面经和基础知识,可以补充
- 牛客网(学习、社区、求职基础知识的学习)
- 题库(知识用来刷题)
- [ ] 经典必刷题目
- [ ] C++/JAVA 专项练习
### 问题(待处理)
* 关于递归的方式。头递归。尾递归。递归前和递归后的处理。递归前的处理,影响或许递归。递归后的处理,恢复之前的影响。那个应该是一个典型的递归搜索路径的问题。
* 关于树的处理。前序遍历中序遍历后续遍历。
* 关于位运算的特殊总结。
- [x] 关于递归的方式。头递归。尾递归。递归前和递归后的处理。递归前的处理,影响或许递归。递归后的处理,恢复之前的影响。那个应该是一个典型的递归搜索路径的问题。
- [x] 关于树的处理。前序遍历中序遍历后续遍历。
- [x] 关于位运算的特殊总结。
### 时间安排
* 知识复习——数据结构与算法
* 明天早上,根据已经下载好的笔记,读博客已经收藏的博客,修改笔记。关键部分写代码。
* 刷题——剑指offer、经典必刷提、C++专项练习。
- 知识复习——数据结构与算法
- 明天早上,根据已经下载好的笔记,读博客已经收藏的博客,修改笔记。关键部分写代码。
- 刷题——剑指 offer、经典必刷提、C++专项练习。

View File

@@ -1,11 +1,6 @@
## 今天的计划
* 刷完今天的十道题
* 刷完昨天的十道题
- [x] 刷完今天的十道题
## 今天的收获

View File

@@ -1,6 +1,6 @@
## 今天的计划
* 刷完十道题
* 开始做毕设
- [x] 刷完十道题
## 今天的收获

View File

@@ -1,17 +1,15 @@
# 计划
1. 对刷题的内容进行总结。首先进行这个总结。
2. 实现字符串分割和字符串格式化的方法C++库string篇
3. 学习、复习分治法(把相关思想下的问题和算法补充完整)
4. 学习、复习动态规划
5. 学习、复习贪心
6. 学习、复习回溯剪枝
7. 学习、复习分支限界
8. 学习C++容器。对容器的构造函数进行总结。
9. 学习C++容器。对每个容器的基础操作进行总结。
10. 学习C++模板算法。对算法的第三个参数进行总结。
11. 需要重新看一下补码、原码相关的加减法操作。
- [ ] 对刷题的内容进行总结。首先进行这个总结。(一半了)
- [ ] 实现字符串分割和字符串格式化的方法C++库string篇
- [ ] 学习、复习分治法(把相关思想下的问题和算法补充完整)
- [ ] 学习、复习动态规划
- [ ] 学习、复习贪心
- [ ] 学习、复习回溯剪枝
- [ ] 学习、复习分支限界
- [x] 学习C++容器。对容器的构造函数进行总结。
- [x] 学习C++容器。对每个容器的基础操作进行总结。
- [x] 学习C++模板算法。对算法的第三个参数进行总结。
- [ ] 需要重新看一下补码、原码相关的加减法操作。
# 收获
* 学会了sort的第三个参数的应用

View File

@@ -2,10 +2,10 @@
> 完成昨天的任务。
1. 学习、复习图算法,动手实现所有的图算法。
2. 看完数据结构与算法的三本书!!!对相关的原理进行复习和总结。
3. 学习机器学习的实现方案。毕设计划真正的开始执行。
4. 关于字符串分割。字符串格式化方法的总结。转换成流,作为流对象处理。转换为容器。作为容器对象处理,使用泛型算法。
- [ ] 学习、复习图算法,动手实现所有的图算法。
- [ ] 看完数据结构与算法的三本书!!!对相关的原理进行复习和总结。
- [ ] 学习机器学习的实现方案。毕设计划真正的开始执行。
- [ ] 关于字符串分割。字符串格式化方法的总结。转换成流,作为流对象处理。转换为容器。作为容器对象处理,使用泛型算法。
## 收获

View File

@@ -0,0 +1,40 @@
## 计划
> 复习计划暂时搁置。开始机器学习的计划(第二篇)五月份学弟就要毕业了,也就是在四月份一个月要把一下的东西全部搞出来。
> 当前工作的主要的三个方向
> 1. 机器学习算法实践。
> 2. 联邦学习文章复现。
> 3. 恶意软件数据处理。
### 机器学习算法实践(四周)
> 尝试各种机器学习算法,主要使用主流的算法框架。寻找网络教程,完成这一块,还有很多书。机器学习算法,应该由浅入深。不能像之前那样想先学会所有的原理,自己手动实现这些原理,然后使用别人的框架实现这些过程,在别人的基础上进行改进。当前应该吧顺序颠倒过来。从使用开始,逐渐理解底层的东西,然后做出适当的修改。
> 1. ->使用算法框架或别人的代码解决问题
> 2. ->理解该代码的底层逻辑
> 3. ->理解机器学习算法的原理
> 4. ->改进算法符合自己的预期目标。
- [ ] sklearn与机器学习算法的原理。各种机器学习算法实践。
- [ ] tensorflow federated
- [ ] pysft
- [ ] fate
### 联邦学习文章复现(四周)
> 阅读当前最新的联邦学习文章。使用别人的代码复现联邦学习的过程。复习和复现
- [ ] DeepAMD
### 恶意软件数据处理(四周)
> 针对恶意软件使用机器学习算法。尝试单机或者使用联邦学习解决恶意软件中的问题。
- [ ] 恶意软件数据的处理
- [ ] 恶意软件与机器学习算法的结合
### 任务安排
1. 每天sklearn一个机器学习小算法
2. 每天一个联邦学习框架
3. 每天一篇联邦学习的文章。
4. 每天数据集处理一小步。
## 收获

View File

@@ -0,0 +1,18 @@
## 计划
> C++11的新特性+C++标准库组合起来也太有意思了。可以创造无限可能啊。
> Python现在的发展也有点离谱。几天不看就不会用了。Python开发的工具也太多了。
1. 每天sklearn一个机器学习小算法
- [ ] k-近邻算法
- [ ] 复习吴恩达机器学习笔记
- [ ] 复习吴恩达深度学习笔记
2. 每天一个联邦学习框架
- [ ] pysyft
3. 每天一篇联邦学习的文章。
- [ ] deepAMD
4. 每天数据集处理一小步。
- [X] 获取2020年的两个超大型数据集并存到云盘当中
- [X] 获取CIC关于恶意软件分析的论文
## 收获

View File

@@ -1,12 +1,14 @@
# 二叉搜索树与双向链表
## 1
## 1 二叉树与双向链表
### 问题分析
* 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。
* [链接](https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/)
## 1 二叉树与双向链表——左旋右旋
> 借鉴了构建二叉平衡树的内容。可以自己完成以下二叉平衡树试试。
### 算法设计
* 通过左旋右旋操作实现树的旋转。最终旋转成一个倒V树。
@@ -101,7 +103,7 @@ public:
return ;
}
```
## 1.2 二叉树与双向链表——中序遍历输出
### 算法设计