数据库系统概念学习笔记_我学习新数据科学概念的方法

数据库系统概念学习笔记

Learning data science can be challenging at times. It’s very possible to get sucked into the bottomless rabbit hole of things to learn and feel defeated when you make little to no progress. That’s why it’s good to have a conscious approach to learning new concepts.

有时,学习数据科学可能会充满挑战。 当您几乎没有进步时,很可能会陷入无底洞的事物学习中并感到失败。 这就是为什么有意识地学习新概念的好方法。

Throughout my education and professional life, I had to deal with situations where I needed to quickly pick up a new skill or learn a new concept. This helped me come up with a system which I still use today. Lately, I have been working on learning about a pre-trained NLP model called BERT. Thanks to this experience, I was able to observe myself and see the path I follow to learn things.

在我的整个教育和职业生涯中,我不得不应对需要快速掌握新技能或学习新概念的情况。 这帮助我提出了今天仍在使用的系统。 最近,我一直在研究称为BERT的预训练NLP模型。 凭借这种经验,我得以观察自己并看到了我学习事物的道路。

Here is my learning approach when learning new concepts, ideas, solutions.

这是我学习新概念,想法,解决方案时的学习方法。

收集先决条件列表 (Collect a list of pre-requisites)

One of the biggest problems of learning a new concept is that many times you don’t know what you don’t know. In return it makes the learning task feel impossible and daunting. I’ve found that completely throwing myself at this problem makes the task seem easier. It’s sort of like exposure therapy.

学习新概念的最大问题之一是很多时候你不知道自己不知道什么。 作为回报,它使学习任务感到不可能而且艰巨。 我发现完全将自己投入到这个问题中会使任务看起来更容易。 这有点像暴露疗法。

First thing I do is assess the situation. How much information am I missing?

我要做的第一件事是评估情况。 我缺少多少信息?

To figure this out I find resources and content that talks about the specific thing I’m trying to learn. These could be articles, videos, lectures on YouTube… Anything goes.

为了弄清楚这一点,我找到了有关我要学习的特定事物的资源和内容。 这些内容可能是YouTube上的文章,视频或讲座……任何事情都会发生。

I do a first-pass over them to see which parts I don’t understand and what techniques they talk about that I don’t know about. I just note down everything that doesn’t make sense to me. At this point, my goal is not to learn the concept yet. I just want to get the lay of the land around this new concept. The notes I take will either include or point me to the pre-requisites of learning this concept.

我对他们进行了初步了解,以了解我不了解的部分以及他们谈论的我不了解的技术。 我只是记下所有对我来说毫无意义的东西。 在这一点上,我的目标不是学习该概念。 我只是想围绕这个新概念打下基础。 我记下的笔记将包括或指出我学习此概念的先决条件。

This is a crucial step because even though there are great “beginner’s”, “for dummies” sort of content out there, it’s not uncommon for them to assume some sort of basic knowledge on the topic. By having a list of pre-requisites you will have more control of the situation.

这是至关重要的一步,因为即使有很多“初学者”,“傻瓜”类内容,对于他们来说,也要掌握有关该主题的某种基础知识并不少见。 通过列出先决条件,您可以更好地控制情况。

It’s very natural for this step to make you self-conscious or overwhelmed. Looking at the seemingly endless list of things you don’t know yet, will make the learning task seem huge. But this shouldn’t stop you! It’s almost always better than what it seems. It’s likely that many of those concepts in your list are highly related. This means that, while you’re trying to learn concept A you will also learn and understand concept B, C and D. This happens to me all the time when I’m learning something new.

这一步很自然会使您神志不清或不知所措。 查看您似乎还不知道的事情清单,将会使学习任务显得庞大。 但这不应该阻止您! 它几乎总是比看起来更好。 您列表中的许多概念可能都是高度相关的。 这意味着,当您尝试学习概念A时,您还将学习并理解概念B,C和D。当我学习新知识时,这总是发生在我身上。

寻找最适合您的资源 (Find the best resources for you)

There are many options for learning data science concepts. There is a great number of people creating quality content online about everything data science. First decide, what type of content helps you learn better? Chances are, there is a couple of these options available:

学习数据科学概念有很多选择。 有大量的人在线创建有关所有数据科学的高质量内容。 首先确定哪种类型的内容可以帮助您更好地学习? 可能有以下两个可用选项:

  • a published paper on the topic

    关于该主题的已发表论文
  • blog posts written on the topic

    关于该主题的博客文章
  • video recording of a university lecture on the topic

    有关该主题的大学讲座的录像
  • YouTube videos of people explaining the topic

    有人在YouTube上解释主题的视频

You don’t have to choose only one of course. For me, it works best when I get a high-level understanding from a YouTube video, then I watch a more in-depth lecture. I then read the paper published on this topic if I feel I need more in-depth knowledge. And that brings me to my next point

您不必只选择其中之一。 对我来说,当我从YouTube视频获得高水平的理解后,再观看更深入的讲座,效果最佳。 如果我觉得我需要更深入的知识,则可以阅读有关该主题的论文。 这使我讲到下一个要点

决定你想走多深(Decide how deep you want to go)

You should have a reason for learning this new thing. This specific reason will help you calibrate your learning efforts. It will help you figure out how deep to go and where to stop.

您应该有学习这个新事物的理由。 这个特定的原因将帮助您校准学习努力。 它将帮助您弄清楚行进的深度和停止的位置。

I understand that it might be hard to find a solid reason when you’re just starting to learn data science. One option is to come up with a project you can use these skills on. A project for your portfolio maybe? Or just have the intention of using them for a project and you can come up with the project on the way.

我了解,当您刚开始学习数据科学时,可能很难找到一个扎实的理由。 一种选择是提出一个可以使用这些技能的项目。 一个适合您投资组合的项目? 或者只是打算将它们用于项目,然后您就可以提出该项目。

If these don’t work for you, you might need to use your consciousness skills to make sure you’re not getting lost in learning unnecessary parts of the concept.

如果这些方法对您不起作用,则可能需要使用意识技能,以确保您不会迷失学习概念中不必要的部分。

So you might:

因此,您可能会:

  • want to apply this new knowledge on a project. Then you probably need to know the fundamental workings of the new algorithm (assuming it’s an algorithm) and how to implement it in practice. You don’t need to be able to prove the equations associated with this certain concept. You just need to use it and trust that the people who made the calculation were right.

    希望将此新知识应用于项目。 然后,您可能需要了解新算法的基本工作原理(假设它是一种算法)以及如何在实践中实现它。 您无需证明与该特定概念相关的方程式。 您只需要使用它并相信进行计算的人员是正确的。
  • be involved in writing academic papers using this concept. Then you would want to be fully informed about the pitfalls, shortcomings of a new model/algorithm or concept. Reporting research results would require you to have a deeper understanding of the overall workings of a concept.

    参与使用该概念撰写学术论文。 然后,您可能想全面了解新模型/算法或概念的陷阱,缺点。 报告研究结果可能需要您对概念的整体运作有更深入的了解。
  • want to use or maintain someone else’s code or work with a more senior person who will do most of the work. Then, maybe in the first place, you would only need to know on a high-level how the code works and the general logic behind it and not so much about the theory behind it.

    想要使用或维护他人的代码,或与将负责大部分工作的高级人士一起工作。 然后,也许首先,您只需要从总体上了解代码的工作方式以及其背后的一般逻辑,而无需过多地了解其背后的理论。

Decide for yourself, how deep do you want to go? If you don’t stop yourself, you can almost always go deeper. Make sure you have a pretty well-defined stopping point. Do not lose yourself in the academic papers, blog posts and the interesting shiny thing you learned on the way which distracts you from the actual goal.

自己决定,您想走多深? 如果您不止步于自己,那么您几乎总会更深入。 确保您有一个明确定义的停止点。 不要迷失在学术论文,博客文章和有趣的有趣事物中,这些有趣的事物使您偏离了实际目标。

Of course, sometimes there are things related to the concept which are just interesting and you want to learn more about them. How I cope with this is basically when there is something like that, I note it down on my note-taking app. When I have time, I can always go back and look into it.

当然,有时有些与概念相关的事情很有趣,您想了解更多有关它们的信息。 基本上,当出现类似问题时,我会如何处理该问题,我会在做笔记的应用程序中记录下来。 有空的时候,我总是可以回去看看。

查找库,有关实施的操作指南并进入其中 (Find libraries, how-to guides on implementation and get in there‍)

After you understand the theory, you also need to know how to implement it, given that’s what you want to do at the end. There is no shortage of how-to videos, blog posts or tutorial documentation. You just need to find them. And to find them, my suggestion is Googling shamelessly.

理解了该理论之后,您还需要知道如何实现它,因为这是您最终想要做的。 不乏操作方法视频,博客文章或教程文档。 您只需要找到它们。 为了找到它们,我的建议是无耻地谷歌搜索。

When you’re starting out, it’s easy to think that everyone has an inherent knowledge of how to use each new library that comes out about the latest technology. But that’s not the case. Many people go through a beginner’s period when they first start using a new tool/framework/library. That’s why there are so many tutorials and how-to guides on the internet.

当您刚开始时,很容易想到每个人都有关于如何使用最新技术的每个新库的内在知识。 但是事实并非如此。 许多人在首次使用新工具/框架/库时就经历了初学者时期。 这就是为什么互联网上有如此多的教程和操作指南。

I started this part of my learning by literally Googling, “how to implement BERT for NER tasks”. This made me realise that there is a GitHub repository by a company called Hugging Face that had a lot of tutorials and documentation which was immensely helpful. They even had guide notebooks I can immediately start using. So my next step is trying the code myself, breaking things and working fixing them.

我从字面上谷歌搜索开始了我的学习这一部分,“如何为NER任务实现BERT”。 这让我意识到,有一家名为Hugging Face的公司提供的GitHub存储库,其中包含大量的教程和文档,对您很有帮助。 他们甚至有我可以立即开始使用的指导笔记本。 所以我的下一步是亲自尝试代码,破坏并修复它们。

My point is, just start looking for what you’re looking for with the best query you can come up with. It will lead you somewhere and the more you dig deeper the more you’ll learn. Everything you do hands-on will help you learn the implementation better. Even the frustrating hour-long searches for how to install this new library will help you learn some new things about this library that you didn’t know about.

我的观点是,只需开始使用最合适的查询来查找所需的内容。 它会带您到某个地方,并且您越深入挖掘,您就会学到更多。 您动手做的一切都将帮助您更好地学习实施。 即使是长达一个小时的令人沮丧的如何安装此新库的搜索,也将帮助您了解一些您不了解的有关该库的新知识。

Keep in mind that the implementation bit is a much different skill than learning the theory. You might feel like you’re starting from scratch even though you know how the algorithms work in theory. Depending on the library, it might feel overwhelming and too hard to understand. But don’t let it stop you. The best way to learn implementation is just trying it.

请记住,实现位与学习理论有很大不同。 即使您知道算法在理论上是如何工作的,您仍可能会觉得自己是从头开始。 根据库的不同,它可能会让人感到难以理解且难以理解。 但是不要让它阻止你。 学习实施的最好方法就是尝试一下。

正确的路线可以发挥很大的作用 (The right course can make a big difference)

It’s normal to prefer to go with free resources when studying a new concept but a well-structured course can make the biggest difference in your learning. For my purposes, I realised I needed a refresher on how RNNs work and in general, sequence to sequence models. I came across Andrew Ng’s short course on this and boy am I glad. It saved me so much trial and error and frustration time.

在学习新概念时,偏爱使用免费资源是正常的,但是结构合理的课程可以在您的学习中发挥最大的作用。 出于我的目的,我意识到我需要重新审视RNN的工作方式,并且通常需要从序列到序列模型。 我碰到了吴安德(Andrew Ng)的短期课程,对此我感到高兴。 它为我节省了很多试错和挫折的时间。

Especially if you’re a busy professional who’s trying to take the leap from their current profession to data science, it’s more than worth it to save time by taking a well-structured course.

尤其是如果您是一个忙碌的专业人员,正在尝试从当前的职业跃升为数据科学,那么通过采取结构合理的课程来节省时间是非常值得的。

I’ve seen that one of the biggest problems of starters is that they have trouble figuring out how everything they learned fits together. You can learn ML models in one blog posts, data cleaning on another YouTube video but bringing that knowledge together and learning how they affect each other is a whole different skill.

我已经看到,初学者面临的最大问题之一是,他们很难弄清他们学到的东西如何融合在一起。 您可以在一个博客文章中学习ML模型,在另一则YouTube视频上学习数据清洗,但是将这些知识整合在一起并学习它们如何相互影响是完全不同的技能。

If you’re struggling with this too, I have some good news! My new course will be a start-to-finish fully-guided data science project builder. We will start from scratch, from setting up a data science environment, structuring a project and gathering data, up until model training, tuning and making the project portfolio-ready. Stay tuned for updates and a special launch discount.

如果您也为此苦苦挣扎,我有一些好消息! 我的新课程将是一个从入门到精通的完全指导的数据科学项目构建者。 我们将从头开始,从建立数据科学环境,构建项目和收集数据,直到模型训练,调整和使项目组合就绪。 请继续关注更新和特殊的发行折扣。

In the meantime, keep your learning light-hearted. It’s normal to feel lost and overwhelmed. But even the hardest things to learn are not impossible. If you follow these steps, you will be in control of your learning and can start making progress efficiently.

同时,保持学习轻松。 感到迷失和不知所措是正常的。 但是,即使最难学习的东西也不是没有可能。 如果遵循这些步骤,您将控制自己的学习,并可以开始有效地取得进步。

Check out my website So you want to be a data scientist? for articles and free resources for the busy professional looking to transition their career into data science.

查看我的网站所以您想成为数据科学家? 提供文章和免费资源,供忙碌的专业人员寻求将其职业转变为数据科学的机会。

翻译自: https://towardsdatascience.com/my-approach-to-learning-new-data-science-concepts-850e6ad3d736

数据库系统概念学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值