Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Loek van den Ouweland

You will learn how to build Neural Networks with Python. Without the need for any library, you will see how a simple neural network from 4 lines of code, evolves into a artificial intelligence network that is able to recognize handwritten digits.During this process, you will learn concepts like: Feed forward, Cost functions, Back propagation, Hidden layers, Linear regression, Gradient descent and Matrix multiplication. And all this with plain Python.

Target audience

Developers who especially benefit from this course, are:

Read more

You will learn how to build Neural Networks with Python. Without the need for any library, you will see how a simple neural network from 4 lines of code, evolves into a artificial intelligence network that is able to recognize handwritten digits.During this process, you will learn concepts like: Feed forward, Cost functions, Back propagation, Hidden layers, Linear regression, Gradient descent and Matrix multiplication. And all this with plain Python.

Target audience

Developers who especially benefit from this course, are:

  • Developer who want to learn the mechanics of neural networks

  • Developers who want to avoid using neural network libraries and frameworks

  • Or developers who use frameworks but want to learn the meaning of the individual network parameters

ChallengesMany tutorials claim to start from scratch, but import external libraries or rapidly type in code and before executing even once, you are looking at 50 lines of code. When finally the code is run, you are totally lost and still stuck trying to understand line 3.

This causes many students to give up learning Neural Networks.This course is different. It starts with the absolute beginning and each topic is a continuation of a previous example. This way, you will learn neural networks from the ground up, step by step.

What can you do after this course?

  • You understand neural network concepts and ideas, like back propagation and gradient descent.

  • You are able to build a neural network in any programming language of choice, without the help of frameworks and libraries.

  • You understand how to better configure the network by plugging in different cost functions and adding hidden layers.

Topics

  • Linear regression

  • Cost functions

  • Bias

  • Multiple inputs

  • Normalisation

  • Gradient descent

  • Classification

  • Activation

  • Multi-class classification

  • Non-linear data

  • Hidden layers

Duration3 hour video time. This course has no exercises.

The teacherThis course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.

Students of this course tell me:* * * * * “Great, simple explanations. Perfect for beginners that have little pre knowledge of the topic.”* * * * * “Straight to the point starting with the foundations.”* * * * * “Clearly explained step by step how Neural Networks work and can be developed in a pure development language of choice without the usage of any external package..”

Enroll now

What's inside

Syllabus

Course Introduction
What can you expect from this course?
Who are you and what do you need?
MacOS: Install Python and Visual Studio Code (2024)
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Focuses on building neural networks from scratch in Python, which allows developers to grasp the underlying mechanics without relying on external libraries or frameworks
Covers essential concepts like back propagation and gradient descent, which are fundamental for understanding and configuring neural networks effectively
Teaches how to build neural networks without external libraries, which enables learners to implement neural networks in any programming language of their choice
Explores topics such as cost functions, bias, normalization, and hidden layers, which are crucial for optimizing neural network performance and architecture
Includes a section on recognizing handwritten digits, which provides a practical application of neural networks and demonstrates their capabilities in pattern recognition
Requires installing Python and Visual Studio Code, which may pose a barrier for learners who are not familiar with these tools or have limited access to them

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Neural networks from scratch in python

According to learners, this course offers a clear and step-by-step introduction to building neural networks using pure Python without libraries. Students particularly appreciate the explanation of fundamental concepts like backpropagation and gradient descent, starting from very basic examples and gradually increasing complexity. While some found the content very theoretical with limited practical application or wishing for more hands-on exercises, the consensus is that the course provides a strong foundational understanding of the underlying mechanics of neural networks. It's highly recommended for those who want to truly grasp how these models work internally.
Clear, concise, and knowledgeable.
"The instructor is great at explaining concepts."
"The instructor takes the time to explain every line."
"Very clear and concise. The teacher takes you step-by-step in a really easy to understand way."
"Thank you to the instructor for making this."
Provides deep understanding of mechanics.
"Straight to the point starting with the foundations."
"Great course to understand the math and background involved in creating NNs."
"This course explained everything very well, and helped me understand why NNs are built the way they are."
"I really understood the concepts behind the math and code."
Breaks down complex concepts simply.
"Great, simple explanations. Perfect for beginners that have little pre knowledge of the topic."
"The course is well structured and explains complex topics like Backpropagation and Gradient Descent in an easy to understand way."
"Really helps build understanding step by step instead of dumping tons of code."
"He explains the concepts simply and builds it up step by step which is good for people who know Python but are new to ML."
Focuses on building NN with pure Python.
"Clearly explained step by step how Neural Networks work and can be developed in a pure development language of choice without the usage of any external package."
"One of the few courses I could find that actually tries to build a Neural Network without relying on any external library."
"If you want to understand what goes on under the hood of NN's then this is the course for you."
"I really like that this course doesn't use external libraries to build a neural network."
Focus is on theory, not real-world use.
"A bit theoretical - it's more about the mechanics than practical application."
"While the theory is great, applying it to real-world problems after this course might still be a leap."
"It's foundational but doesn't cover how to use frameworks or tackle complex modern problems."
Needs more practical coding practice.
"Maybe a few more exercises would be nice but overall, the content was great."
"I would recommend this course for anyone wanting to build a solid foundational understanding but do not expect much of 'hands-on' exercises."
"My only complaint would be that I wish there were more exercises and practice problems."
"It would be really great to have more exercises."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Neural Networks In Python From Scratch. Build step by step! with these activities:
Review Linear Algebra Fundamentals
Reinforce your understanding of linear algebra concepts, which are crucial for understanding matrix operations and gradient descent in neural networks.
Browse courses on Linear Algebra
Show steps
  • Review matrix operations such as addition, subtraction, and multiplication.
  • Practice solving systems of linear equations.
  • Understand vector spaces and linear transformations.
Brush Up on Calculus Concepts
Strengthen your knowledge of calculus, particularly derivatives and the chain rule, which are essential for understanding backpropagation and gradient descent.
Browse courses on Calculus
Show steps
  • Review the concept of derivatives and their applications.
  • Practice calculating derivatives using the chain rule.
  • Understand partial derivatives and gradients.
Form a Study Group
Collaborate with peers to discuss and clarify concepts related to neural networks, such as backpropagation and gradient descent.
Show steps
  • Find classmates interested in forming a study group.
  • Schedule regular meetings to discuss course material.
  • Work through examples and practice problems together.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Neural Networks and Deep Learning' by Michael Nielsen
Supplement your learning with a comprehensive book on neural networks that covers the theoretical foundations and practical applications.
View Melania on Amazon
Show steps
  • Read the chapters on backpropagation and gradient descent.
  • Work through the examples and exercises in the book.
  • Implement the algorithms discussed in the book in Python.
Implement Gradient Descent from Scratch
Practice implementing gradient descent on simple datasets to solidify your understanding of the algorithm.
Show steps
  • Choose a simple dataset, such as the linear regression dataset.
  • Implement the gradient descent algorithm in Python.
  • Test your implementation on the chosen dataset.
Create a Blog Post Explaining Backpropagation
Solidify your understanding of backpropagation by writing a blog post that explains the algorithm in detail.
Show steps
  • Research and gather information on backpropagation.
  • Write a clear and concise explanation of the algorithm.
  • Include diagrams and examples to illustrate the concepts.
Build a Simple Neural Network for Image Classification
Apply your knowledge to build a neural network that can classify images from a dataset like MNIST or Fashion-MNIST.
Show steps
  • Download and preprocess the MNIST or Fashion-MNIST dataset.
  • Implement a neural network with one or two hidden layers in Python.
  • Train your network on the training data and evaluate its performance on the test data.

Career center

Learners who complete Neural Networks In Python From Scratch. Build step by step! will develop knowledge and skills that may be useful to these careers:
Deep Learning Engineer
A Deep Learning Engineer specializes in developing and implementing deep learning models, a subset of machine learning that uses neural networks with multiple layers. This course, with its focus on building neural networks from scratch, delivers a comprehensive foundation in the core principles of deep learning. Throughout this course, the concepts of cost functions, back propagation, and hidden layers are demystified. This prepares the Deep Learning Engineer to design, train, and deploy complex neural network architectures. Learning how to configure the network by plugging in different cost functions and adding hidden layers increases the Deep Learning Engineer's ability to adapt models to various applications. This course is different because it starts with the absolute beginning and each topic is a continuation of a previous example.
Machine Learning Engineer
The role of a Machine Learning Engineer involves designing, developing, and deploying machine learning models. This course helps build a foundational understanding of neural networks, which are a core component of many machine learning systems. You will benefit from the course's detailed explanations of concepts like back propagation and gradient descent. Knowing how to build neural networks from scratch, as taught in this course, gives a deeper insight into the underlying mechanics, allowing the Machine Learning Engineer to fine tune models more effectively and adapt them to specific problems. Additionally, the course covers topics such as cost functions, bias, and hidden layers, which are crucial for optimizing model performance. This course is distinct from other courses because it encourages building neural networks without relying on external libraries.
Artificial Intelligence Programmer
An Artificial Intelligence Programmer develops the code that powers AI systems. This course is crafted to provide you with a robust understanding of how neural networks function, enabling you to create AI solutions from the ground up. The curriculum covers essential topics like feed forward, back propagation, and cost functions, crucial for designing intelligent systems. The hands on approach of building neural networks with plain Python, as detailed in this course, allows the Artificial Intelligence Programmer to implement algorithms and customize network parameters. The benefit of taking this course is that it teaches you how to build neural networks in any programming language of choice, as well as enhancing your ability to configure networks by incorporating various cost functions and hidden layers.
Computer Vision Engineer
Computer Vision Engineers develop algorithms that enable computers to "see" and interpret images, often relying heavily on neural networks. This course has the hallmarks of training that will help prepare you to design and implement neural networks for image recognition and analysis. The course's coverage of back propagation, gradient descent, and hidden layers offers a strong foundation for developing computer vision applications. Learning how to build neural networks from scratch, as taught in the course, helps build a deeper understanding of model parameters and optimization strategies specific to computer vision tasks. The Computer Vision Engineer will understand how to better configure the network by plugging in different cost functions and adding hidden layers.
Data Scientist
Data Scientists use statistical methods and machine learning algorithms to analyze data and extract meaningful insights. This course is an entrypoint for understanding how neural networks operate, which is a valuable asset in a Data Scientist's toolkit. Understanding the concepts presented like gradient descent and cost functions will ensure you can apply these techniques effectively in data analysis and model building. The course emphasizes building neural networks from scratch, allowing the Data Scientist to gain a deeper understanding of model parameters and optimization strategies. The Data Scientist will learn how to build a neural network in any programming language of choice, without the help of frameworks and libraries. Ultimately, this course empowers data scientists to create more sophisticated and customized data models.
Algorithm Developer
Algorithm Developers design and implement algorithms for various applications, including machine learning and artificial intelligence. This course offers a foundational understanding of neural networks, empowering Algorithm Developers to create and optimize AI algorithms. The course's coverage of linear regression, gradient descent, and cost functions offers a practical foundation for building efficient algorithms. This will allow the Algorithm Developer to fine tune models more effectively and adapt them to specific problems. The Algorithm Developer will understand how to better configure the network by plugging in different cost functions and adding hidden layers.
Natural Language Processing Engineer
Natural Language Processing Engineers develop systems that allow computers to understand and process human language. This course can help the Natural Language Processing Engineer understand how neural networks can be applied to language modeling and text analysis. Learning the mechanics of neural networks, as taught in the course, provides a foundational understanding of the techniques used in natural language processing. The course addresses concepts like feed forward, cost functions, and back propagation, all of which are relevant to building and training language models. The Natural Language Processing Engineer will be able to build a neural network in any programming language of choice, without the help of frameworks and libraries.
Robotics Engineer
Robotics Engineers design, build, and program robots, which often rely on neural networks for perception and control. This course can give Robotics Engineers a solid understanding of the neural network principles that underlie robot intelligence. The course's coverage of topics such as gradient descent, activation functions, and hidden layers offers a practical foundation for developing intelligent robot systems. Learning how to build neural networks from scratch, as taught in the course, helps build a deeper understanding of model parameters and optimization strategies for robotics applications. This is different because it starts with the absolute beginning and each topic is a continuation of a previous example.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course helps broaden a Software Engineer's skill set by providing a practical understanding of neural networks and their applications. By learning the mechanics of neural networks, the Software Engineer can integrate AI capabilities into various software projects. The course's coverage of topics such as feed forward, gradient descent, and activation functions equips Software Engineers with the knowledge needed to implement and optimize neural network models within their software applications. After this course, the Software Engineer will understand neural network concepts and ideas, like back propagation and gradient descent. In particular, this course might be useful for Software Engineers who want to avoid using neural network libraries and frameworks.
Research Scientist
Research Scientists conduct research to advance knowledge in a specific field, often involving the development of new algorithms and models. This course will give you an understanding of the fundamental principles behind neural networks, enabling you to contribute to innovation in the field of artificial intelligence. Learning how to build neural networks from scratch, as taught in the course, helps build a strong understanding of the underlying mathematical principles that are required for conducting advanced research. The course presents topics like cost functions, bias, and hidden layers, all of which are essential for developing and improving neural network architectures. For a Research Scientist, this course may be useful if they want to learn the meaning of the individual network parameters.
Quantitative Analyst
Quantitative Analysts develop and implement mathematical models for financial analysis, and neural networks are increasingly used in this field. This course may help the Quantitative Analyst to understand how neural networks can be applied to financial modeling and prediction. The course covers concepts such as linear regression, gradient descent, and classification, which are relevant to building and training financial models. The Quantitative Analyst will understand how to better configure the network by plugging in different cost functions and adding hidden layers. An advanced degree is often required for this role.
AI Consultant
An AI Consultant advises organizations on how to implement AI solutions to improve their business processes. This course may help the AI Consultant to evaluate and recommend neural network based solutions, providing a solid understanding of the technology. The course details concepts like feed forward, cost functions, and back propagation, all of which are relevant to assessing the feasibility and effectiveness of AI projects. While an AI consultant may not build the models themselves, understanding how they work at a fundamental level, as taught in this course, can help them provide more informed advice. After this course, the AI Consultant will understand neural network concepts and ideas, like back propagation and gradient descent.
Data Analyst
Data Analysts interpret data to identify trends and insights, which can be enhanced by understanding machine learning techniques. This course helps the Data Analyst gain insights into the workings of neural networks. By understanding concepts such as linear regression, gradient descent, and classification, the Data Analyst can better leverage machine learning models for predictive analytics and data interpretation. While Data Analysts may not build neural networks from scratch, understanding the underlying principles, as taught in this course, helps them evaluate and interpret the outcomes of machine learning models more effectively. The course may be useful for Data Analysts who want to learn the mechanics of neural networks. Generally, this role requires a bachelor's degree.
Business Intelligence Analyst
Business Intelligence Analysts analyze data to provide insights that support business decisions, and machine learning can enhance their analytical capabilities. This course may help the Business Intelligence Analyst to understand how neural networks can be used for predictive analytics and data mining. By understanding the concepts presented like gradient descent and cost functions will ensure they can apply these techniques effectively in data analysis and model building. Business Intelligence Analysts will not build neural networks from scratch, but understanding the underlying principles, as taught in this course, may help them evaluate and interpret the outcomes of machine learning models more effectively. The Business Intelligence Analyst would especially benefit from this course if they want to learn the mechanics of neural networks.
Data Architect
Data Architects design and manage data infrastructure, including systems for storing and processing data for machine learning applications. This course may help the Data Architect to understand the requirements for supporting neural network based applications, providing a foundation for designing efficient data pipelines. The course covers concepts such as linear regression, gradient descent, and classification, which are relevant to understanding the data processing needs of machine learning models. The Data Architect would especially benefit from this course if they want to learn the mechanics of neural networks. This course is different because it starts with the absolute beginning and each topic is a continuation of a previous example.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Neural Networks In Python From Scratch. Build step by step!.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser