diff --git a/README.md b/README.md index e83a70fb..78225609 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,10 @@ 1. 使用有序列表来记录知识点内容 2. 有序列表 1. 次级列表 - 2. 次级列表 \ No newline at end of file + 2. 次级列表 + + +## 2 补充说明 + +* 最好不要有不能进行版本控制的资料,例如ppt和视频。吴恩达的ppt过于经典,暂时保留,其他的资料,进行硬盘存档吧,毕竟这是学习笔记,不是学习资料。 +* 每一门笔记可以有1-2本对应的经典的书籍。比如latex的经典教程、线性代数、概率论和数理统计的经典教程。ppt和视频这种知识密度过低的东西,最好不要有。 \ No newline at end of file diff --git a/aa.jpg b/aa.jpg deleted file mode 100644 index 576b31a5..00000000 Binary files a/aa.jpg and /dev/null differ diff --git a/工作日志/2020年9月6日-ML.md b/工作日志/2020年9月6日-ML.md index b1866293..6031cc37 100644 --- a/工作日志/2020年9月6日-ML.md +++ b/工作日志/2020年9月6日-ML.md @@ -22,33 +22,43 @@ python3-numpy-scipy-matplotlib-pandas√ > 基本完成。主要是知道了这些东西都是干什么用的。 -### 机器学习系列(视频教程)(三周) +### 机器学习+深度学习系列(视频教程)(三周) > 需要了解机器学习的各种工具,需要的进行补充。使用python3进行编程实践。这一部分是最关键的,需要按照知乎的方法进行调整学习。入门课程->模型算法->编程实践 1. 《机器学习》吴恩达的课程一看。跟着做做笔记。 - * 完成第一轮,笔记对照(看一部分,总结一部分。) - * 看吴恩达的PPT重新整理所有的笔记。 - * 寻找吴恩达课程的课后题,使用python完成课后题 -2. ~~《机器学习基石》上&下~~//李宏毅的机器学习也行 - * 完成第二轮,笔记对照(跟上实践) + * 第一轮,笔记对照(看一部分,总结一部分。) + * 第二轮,看吴恩达的PPT重新整理所有的笔记。 + * 第三轮,寻找吴恩达课程的课后题,使用python完成课后题 +2. 吴恩达的神经网络五套课程看完。各种神经网络。 + * 神经网络与深度学习 + * 改善神经网络 + * 结构化项目学习 + * 卷积神经网络 + * 序列模型 + * 第一轮,笔记对(借用其他人的笔记进行修改,同时理解) + * 第二轮,看吴恩达的PPT重新整理所有的笔记 + * 第三轮,课后题,TensorFlow完成 3. 《统计学习方法》一看。3Blue1Brown的视频看一看。跟着做做笔记。 4. 《机器学习西瓜书》一看。跟着做做笔记。 5. 《机器学习实战》量子位提供的书,适合编程。 6. 《python机器学习》里边涉及几个实战 7. tensorflow教程一看,实现一遍之前的算法。 +8. (可选) ~~《机器学习基石》上&下~~//李宏毅的机器学习也行(在进行一段时间之后,已经完成了多个项目之后,可以回过头来看李的视频,进行更深层次的理解) + * 完成第二轮,笔记对照 + * 代码实现课后的内容 > 安排 > 1. 首先跟着量子位的课程完成上述学习。 > 2. 然后跟着apacheCN的资料完成第二阶段的阅读。 > 3. 然后就是尝试专业领域的应用实战。 > 补充:林轩田《机器学习基石》《机器学习技法》。李宏毅的《机器学习视频教程》。 -工具 -> * sklearn -> * tensorflow +> 工具 +> * sklearn +> * tensorflow + +> 变更说明 +> * 经过仔细思考,感觉李宏毅的机器学习+深度学习与吴恩达的机器学习+深度学习,重叠的部分太多,入门阶段进行混合学习代价较大。所以,入门阶段都是以吴恩达的课程为主,编程也是以吴恩达的课程为主。总共包括五个模块,可以适当地学习三到四个模块,然后进行下一阶段。 -### 深度学习系列(一周) -吴恩达的神经网络五套课程看完。 -各种神经网络。 ### 联邦学习系列(三周) > 尝试搭建小型的联邦学习框架。寻找网络教程,完成这一块,还有很多书。 diff --git a/机器学习/ApacheCN/readme.md b/机器学习/ApacheCN/readme.md new file mode 100644 index 00000000..a176c1d8 --- /dev/null +++ b/机器学习/ApacheCN/readme.md @@ -0,0 +1 @@ +> 这里主要以各种算法的理论知识为主进行说明。 \ No newline at end of file diff --git a/机器学习/李宏毅机器学习/img/学习路线.png b/机器学习/李宏毅机器学习/img/学习路线.png new file mode 100644 index 00000000..0bb5be77 Binary files /dev/null and b/机器学习/李宏毅机器学习/img/学习路线.png differ diff --git a/机器学习/李宏毅机器学习/img/学习路线old.png b/机器学习/李宏毅机器学习/img/学习路线old.png new file mode 100644 index 00000000..30c40060 Binary files /dev/null and b/机器学习/李宏毅机器学习/img/学习路线old.png differ diff --git a/机器学习/李宏毅机器学习/学习笔记/1_Introduction.md b/机器学习/李宏毅机器学习/学习笔记/1_Introduction.md index bb69d320..18fcfa23 100644 --- a/机器学习/李宏毅机器学习/学习笔记/1_Introduction.md +++ b/机器学习/李宏毅机器学习/学习笔记/1_Introduction.md @@ -1,123 +1,94 @@ # Introduction -> define a set of function(model) -> goodness of function -> pick the best function -### Learning Map +## 如何定义一个机器学习的问题 +> 机器学习的本质,是机器自动寻找输入和输出之间的函数function,建立输入和输出的关系。 +* 根据机器学习的输入input数据集data set,定义学习的场景 + * 有标签的数据集:监督学习supervisor learning + * 没有标签的数据集:无监督学习unsupervisor learning、生成对抗网络GAN + * 标签不全的数据集:半监督学习semi-supervisor learning + * 特征不一致的数据集:迁移学习transfer learning + * 没有数据:强化学习reinforcement learning +* 根据机器学习的输出output,来定义一个问题或任务task + * 连续的数值:回归问题regression + * 离散的数值:分类问题classification + * 结构化数值:生成问题generation(例如一张斑马的图片、一段翻译的结果、一篇文章的总结,生成结构化的数据,结构化学习) +* 选择合适的机器学习算法集合,评估机器学习算法的好坏 + * 定义损失函数loss function + * 使用梯度下降优化算法,减小损失函数gradient descent -下图中,同样的颜色指的是同一个类型的事情 +## 课程的概要 -蓝色方块指的是scenario,即学习的情境。通常学习的情境是我们没有办法控制的,比如做reinforcement Learning是因为我们没有data、没有办法来做supervised Learning的情况下才去做的。如果有data,supervised Learning当然比reinforcement Learning要好;因此手上有什么样的data,就决定你使用什么样的scenario + -红色方块指的是task,即要解决的问题。你要解的问题,随着你要找的function的output的不同,有输出scalar的regression、有输出options的classification、有输出structured object的structured Learning... -绿色的方块指的是model,即用来解决问题的模型(function set)。在这些task里面有不同的model,也就是说,同样的task,我们可以用不同的方法来解它,比如linear model、Non-linear model(deep Learning、SVM、decision tree、K-NN...) +* scenario,即学习的情境。通常学习的情境是我们没有办法控制的,比如做reinforcement Learning是因为我们没有data、没有办法来做supervised Learning的情况下才去做的。如果有data,supervised Learning当然比reinforcement Learning要好;因此手上有什么样的data,就决定你使用什么样的scenario +* task,即要解决的问题。你要解的问题,随着你要找的function的output的不同,有输出scalar的regression、有输出options的classification、有输出structured object的structured Learning.. +* model,即用来解决问题的模型(function set)。在这些task里面有不同的model,也就是说,同样的task,我们可以用不同的方法来解它,比如linear model、Non-linear model(deep Learning、SVM、decision tree、K-NN...) -





