How to Approach Learning

Learning a new subject can be difficult, you may have - like me - been in the habit of buying programming books which you end up never reading (cough Humble Bundle), or start reading only to find yourself reading something else in a few weeks. You may have struggled in the past or have a specific learning difficulty (e.g. dyslexia). Learning how to approach learning can help you overcome historic barriers and help you grow from a novice through the skill acquisition phases.

Visualization of the five stages in the dreyfus model of skill aquisition. Noivce, advanced beginner, competent, proficient and expert.

Stages of skill aquisition, the Dreyfus model.

Personally, I have used this information and these techniques to overcome dyslexia and bad learning habits. In high school I was at best a C student, fast forward ten years to 2019 and I graduated at the top of my class with a masters in cyber security. I want you to gain the same benefits.

Learning is an active process, this section is designed to help you learn more effectively, quickly and avoid negative aspects such as burn out, lack of focus etc.

Approaching Learning

Your approach to learning, the way you think and your actions, have a profound effect on your learning. Considering and perhaps altering your perspective is the first step to maximise your learning.

Plan

Create a plan and stick to it. Start with time - 20-minute bursts of work followed by a break suit your needs? Too short? 1 hour each day, excluding the weekend? Pencil in some time and stick to it. Aim for the right balance. Machine learning is interesting, but don’t try to do too much. Equally, don’t do too little so your progress frustrates you. Then move on to plan how you will augment reading - will you take notes, create a mind map, watch videos, do further research, or all of the aforementioned?

Be Active

Learn actively and deliberately. Keep notes, make mind maps, print sections out and highlight, whatever works for you. Ideally, actively engage with different formats, read, write, listen, watch. When you get to the end of a section actively remember the main points without looking - if you can’t remember you know you need to go back.

Track

Keep track of what you’re learning. If you’re writing notes keep subject headings, so you can see at a glance how many topics you have covered. This is so you can see how far you’ve come. Some days you may need a boost, it’s a great way to give yourself encouragement and keep learning. Create learning streaks; “I’ve done that much, I can’t give up now”.

Fear

Don’t be afraid of failure, stumbling or slow progress. Time is moving forward anyway, by stopping you do nothing other than harm your goal of learning machine learning. You might as well learn for 40 minutes a day and in a few weeks imagine where you will be.

Belief

What you believe when you approach learning matters. If you think negatively your thoughts will manifest. If you think positively and create a structure rather than setting yourself up for failure by thinking reading alone will make you a machine learning programmer, your positive belief will support you.

Attainable

Your goals must be attainable. This sounds obvious, but there’s a reason its included in books, presentations, seminars etc about learning. We have a tendency to focus on a very particular goal, and if we don’t meet that goal we get discouraged and quit. Some people can push through this, but that is a learned behaviour. If you don’t naturally do this, you must be aware of how you set goals.

SMART Objectives

Setting appropriate goals is an important aspect of learning. In my experience, this is second to creating a structure in terms of importance. All of your goals must be SMART.

The smart neumonic visualised, each word is repeated.

SMART neumonic visualized.

  • Specific - be specific about your goal.
  • Measurable - goals should be measurable to track progress.
  • Attainable - attainable goals allow consistent progress.
  • Relevant - relevant goals avoid waste, maintain focus and push projects forwards.
  • Time-bound - targets help you focus on stages and help maintain progress.

You may have noticed the word progress is mentioned a lot - that’s the point of SMART goals, they ensure you are always moving forward with a project.

Specific

Making goals specific helps you focus your efforts and prevent “mission creep” - slowly moving off course to the detriment of the entire project.

  • What do I want to accomplish?
  • Why is the goal important?
  • Which resources are involved?

Measurable

Measurable goals allow you to track progress to stay motivated and known when you have achieved a goal.

  • How many?
  • How will I know when the goal is accomplished?
  • How have others measured similar aspects?

Attainable

Goals need to be realistic and attainable, otherwise, you set yourself up for failure. Better to step back, take it slow and then progress.

  • Is this achievable within the time frame?
  • Do I have the skills to do this?
  • What challenges may I face?

Relevant

Is your goal relevant? Ensuring your goals relevancy helps you avoid waste, maintain focus and progress.

  • What do you want to achieve with the project? Does this goal get you there?

Time-bound

Goals should have targets and not be open-ended. This creates goals which push the progress of a project forwards.

  • When?
  • How long?
  • What can I do this week?

Dreyfus Model

The Dreyfus model describes the stages of skill acquisition for a domain. The model is per-skill, rather than per-person - you can be a novice baker while being a competent artist for example. The Dreyfus brothers, psychology researchers, contend we pass through each of these stages (see the image below) as we become more familiar with a specific domain (e.g. cooking).

Visualization of the five stages in the dreyfus model of skill aquisition. Noivce, advanced beginner, competent, proficient and expert.

The Dreyfus model, stages of skill aquisition.

It is not necessarily true we will all progress through each stage, however. If you cook your entire life, by the end of your life you will not be an expert cook, you will no doubt be a good cook, but your actual measurable skill may only be at advanced beginner or competent. The same with other hobbies; a cyclist would be unlikely to become a world-renowned expert (champion) cyclist. This is because we do not approach learning in the domain properly (likely on purpose in this case). However, if you consider a champion cyclist, they approach their domain very differently to a hobbyist, even a serious hobbyist. Understanding how to move between these stages will help us learn more effectively. Learning is an active, not passive process.

To set your expectations, you should not expect to move to expert quickly - or perhaps at all. First, do you need that level of knowledge - world-leading, unique and in the context of machine learning creating entirely new models and pushing the boundaries of what is possible? Not really. Second, it represents an individuals learning and the creation of intuition over years. No course or book will ever make you an expert. What you can expect from approaching learning in a structured way and applying the knowledge from models such as the Dreyfus model is to move more easily from novice into advanced beginner and onto competent.

Core Ideas

As learners progress through the stages they depend less on abstract principles and rely more on concrete experience. In the beginning, learners benefit from clear rules and context isn’t particularly important - you are learning other things first. As learners progress context and why certain things are done become important and learning by doing becomes possible and useful.

Incidentally, this is how this course is designed - although we aim to get practical as quickly as possible so we can see machine learning doesn’t need to be hard.

Dreyfues Model Stages

Novice

Has an incomplete understanding, requires a set of rules to follow. Not concerned with context, context may burden and complicate learning. No ability for judgement in the domain.

Advanced Beginner

Has a working understanding, rules are understood and broken down into steps. Previous learning helps approach learning, situational perception is limited. Beginning to understand and use context.

Competent

Has a good working understanding. Actions are partially conducted according to context and long-term goals. Lacks refinement. Capable of applying deliberate planning and standardized procedures.

Proficient

Has a deep understanding. Actions are considered as part of the whole system. Breaks work up according to priority. Capable of deviating from rules and plans, decision making is less laboured.

Expert

Has an authoritative, deep understanding. Routinely deviates from existing interpretations, no longer relies on rules. Intuition is used regularly. Capable of vision of possible solutions.

Learning Modes

Learning modes are distinct categories which describe ways in which different people best absorb information. Some people may prefer to listen to lectures, others may find little value in the traditional lecture format and may prefer hands-on learning to figure out things for themselves. Traditionally, there are three types of learning mode: visual, auditory and kinesthetic (you may remember these from high school).

A visualization of the three modes of learning - visual, auditory and kinesthetic.

The three traditional modes of learning.

  • Visual - you learn better by seeing information.
  • Auditory - you learn better by hearing information.
  • Kinesthetic - you learn better through practical experience.

You may have a preferred learning mode, but it is unlikely you solely learn through this mode. The purpose of this section is to encourage reflection on your primary learning mode and encourage you to mix learning modes to gain a more multi-modal approach. This course approaches learning in a multi-modal manner, providing visual information, text and videos. However, as the learner, you have more control and effect through the way you use the material.

Learn Deliberately

Learning is an active process, it’s unlikely you will gain much success by simply sitting down and reading a programming book. You need to read and apply this knowledge at a minimum. You can improve the effectiveness even more by reading and deliberately processing - asking what have I just learned and recall the main points from memory. Utilize the quizzes at the end of chapters to test your knowledge, re-reading sections you didn’t do well on. Create mind maps to explore concepts in your mind as you create the map. Don’t just do this with written information, be deliberate with video learning too.

Using your knowledge of different modes of learning you can augment your deliberate learning. Ensuring your approach is mixed but skewed towards whichever mode you believe to be most successful to you - but not one mode alone. This mix allows you to create different processes in your learning and learn more effectively.

Specific Techniques

Remember: You Can Only Absorb so Much

Before we get on to specific techniques it is important to drill home an important point. Your brain is a sponge, it can only hold so much. You cannot comprehend, learn and remember everything. You must choose and be efficient with what to learn.

  • Focus your learning.
  • Take your time.
  • You don’t need to read the entire book cover to cover. Pick and choose.

Equally, your will power and motivation is like a reservoir. It can be depleted and it takes time to refill.

  • Take regular breaks.
  • Relax.
  • Set realistic deadlines.

Hand Write

Hand-writing notes often leads to higher long-term comprehension. Researchers Mueller and Oppenhimier discuss this in their article ‘The Pen Is Mightier Than the Keyboard: Advantages of Longhand Over Laptop Note Taking’. The article is pay-walled, but NPR and a number of others picked up on the research to write about it.

Note Taking

Note-taking is a tried and tested method for augmenting learning. There are a number of methods of note-taking used to organise information as you create notes. Approaching note writing with a particular strategy can take your notes to the next level. Templates can be found to provide you a starting point in MS Word, if you’re writing notes by hand you can quickly divide up the page with a ruler, downloadable templates are also available.

University websites offer help and advice on study skills, see the Open Univeristy, University of Oxford for more advice on note taking. Here, we focus on the most likely techniques to be useful to us in a non-academic, non-exam environment.

The Cornell Method

The Cornell method advises a three-section layout, as shown in the image below. The main writing area is used to succinct notes, the right most column is used to label your notes with a “cue” a simple phrase which encapsulates the ideas in the notes opposite to aid revision at a later stage. Finally, the last large horizontal section provides an area for summarizing the main ideas within your notes.

During revision, the idea is to cover your main notes and only use the cues to recall the information within your notes. This reveals your areas of weakness and the act of reading the cues and the notes as you revise serve to help you retain the information.

For non-native English speakers, a “cue” is a signal to encourage you to remember something, actors may have cues to remember their lines. In this context, we remember greater detail about what is opposite (on the left) of the cue.

The layout of the cornell method visualized.

The Cornell method layout (A4).

The Outlining Method

The outlining method is the technique you most likely use when you naturally take notes. In this method, we sequentially write down the main points in a one-column format as they occur. Ideas are indented if they relate to the previous idea.

This creates an easy to skim format for revision and revisiting your notes.

The layout of the outline method visualized.

The outlining method layout (A4).

Mind Maps

Mind maps are a visual method for representing information about a particular topic. Information is broken down into sub-topics, surrounding the main topic area.

The purpose of mind maps is to consider ideas as the map is constructed, and for revision tracing ideas back to their sub-topic and considering the relationship between ideas. The act of creating and considering the information and its connections helps reinforce learning.

Mind maps may be appropriate in machine learning for high-level concepts and to learn aspects of specific models. For example, the types of machine learning and when to use them. Or a specific type of neural network, its strengths, limitations, uses and most often used hyper-parameters.

An example of a mind map. A main topic surrounded by sub-topics with branching related ideas from the sub-topic.

An example of a mind map.

Reading Technique: SQ3R

SQ3R, or Survey, Question, Read, Recite and Review is a reading technique which creates a deliberate methodology for reading, rather than just picking up a book and reading it, hoping to retain whatever is important.

  • Survey - survey the table of contents and chapter summaries for an overview.
  • Question - note down questions you have.
  • Read - read applicable sections in their entirety.
  • Recite - recite and summarize key points, and take notes.
  • Review - re-read sections you are weak on, expand notes, review notes, take the chapter quiz.
An example of the SQ3R technique reading flow.

An example of the SQ3R reading flow.

Summary

This page served as an introduction to concepts surrounding how to approach learning, with the aim of encouraging you to build a toolkit and conduct learning actively, leading to greater success with this course (and ideally in other learning).

Our main points were:

  • Learning is an active, deliberate process.
  • Approach learning positively.
  • Set SMART goals for maximum efficiency.
  • Consider how you learn.
  • You can only absorb so much.
  • Relax.

The next page serves as a refresher for your python programming skills.

Further reading:


Feedback is welcome!

Get in touch securitykiwi [ at ] protonmail.com.


References

  1. Cottrell, S. (2019) The Study Skills Handbook. Red Globe Press. https://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050
  2. Hunt, A. (2008) Pragmatic Thinking & Learning: Refactor your Wetware. The Pragmatic Programmers LLC. https://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050
  3. Mueller, P., and Oppenheimer, D. (2014) The Pen Is Mightier Than the Keyboard: Advantages of Longhand Over Laptop Note Taking. Psychological Science. https://journals.sagepub.com/doi/abs/10.1177/0956797614524581
  4. Dreyfus, H., and Dreyfus, S. (1980) A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition. PDF. University of California, Berkley. https://apps.dtic.mil/dtic/tr/fulltext/u2/a084551.pdf
  5. Dreyfus, H., and Dreyfus, S. (2004) The Five-Stage Model of Adult Skill Acquisition. PDF. Sage Publishing. https://journals.sagepub.com/doi/10.1177/0270467604264992

Machine Learning Examples in Security
Python Refresher