Introduction to Machine Learning - Neural Networks
https://ubc-library-rc.github.io/ml-neural-networks
0:05 - 0:20 About Neural Networks
0:20 - 1:20 Hands-on with Jupyter Notebook
1:20 - 1:30 Wrap-up and Discussion
Land Acknowledgement
UBC Vancouver is located on the traditional, ancestral, and unceded territory of the xʷməθkʷəy̓əm (Musqueam) peoples.
Use the Zoom toolbar to engage
Participants window
Active participation makes the session so much fun and gives me and your peers much more energy. We are
all sitting in our offices with little sound. Your voices and perspectives enlivens the session. We encourage
you to engage with each other and instructors.
The participants window lists everyone in the session and click the icons at the bottom to communicate with
the instructors.
You can also use the Chat windows to comment or ask questions at any time. It is also a good place to share
problems with your audio connection.
CCDHHN Certificate
This workshop contributes towards the Canadian Certificate in Digital Humanities.
This workshops is eligible for the Canadian Certificate in Digital Humanities https://ccdhhn.ca/. This is a program that allows you to claim non-credit workshops and training towards a certificate. If you are interested in claiming this workshop please fill out this form: https://ubc.ca1.qualtrics.com/jfe/form/SV_cwiqRxedypNPhA2. This is how we track attendance for the purposes of the certificate, it will only be shared during the workshop and will not be emailed to you after."
Note that they have to click on the form during the workshop, we will not share it after. If you could encourage anyone who's interested to take a few minutes and fill it out at the end of the workshop that would be great.
Learning Objectives
Understand neural networks, and their applications in machine learning.
Train neural network models for real-world datasets.
Interpret and analyze neural network model results.
So, to touch various viewpoints of machine learning classification and clustering, we have the following learning objectives for this workshop:
Pre-workshop setup
For hands-on exercises, we will use [Python](https://www.python.org/) on [Jupyter Notebooks](https://jupyter.org/). You don’t need to have Python installed. Please make sure that you have a [UBC Syzygy](https://ubc.syzygy.ca/) or a [Google Colaboratory](https://colab.research.google.com/) account. (You will need a CWL login to access Syzygy.)
hands-on exercises, programming tools and libraries, such as [Python] and [scikit-learn] prior familiarity with Python programming is recommended, we do not study the codes in detail
What is Artifical Neural Networks?
"A neural network is a series of algorithms that endeavors to recognize underlying relationships in a set of data through a process that mimics the way the human brain operates."
What comes to your mind when you hear of the word machine learning?
field of computer science, teaching computers to learn from data, without explicitly defining the rules applicable to the problem.
algorithms or mathematical models trained large datasets to recognize pattern
What is Artifical Neural Networks?
Source: ACSICORP
Inspired by the human brain.
Made up of interconnected nodes or "neurons".
Can learn and make independent decisions.
Components of a Neural Network
Source: hmkcode
Input Layer: Receives data. Like our senses perceive the environment.
Hidden Layers: Process data. The 'thinking' happens here. Depth Over Width: Hidden layers allow neural networks to be "deep", giving depth to the learning process.
Feature Transformation: Hidden layers help transform inputs in a way that makes them separable by the time they reach the output layer.
Capturing Complexities: The more hidden layers and neurons, the more complexities a network can capture. However, this also increases the risk of overfitting.
Output Layer: Provides the result.
Components of a Neural Network
Source: hmkcode
Components of a Neural Network
weights x inputs + bias
Source: hmkcode
Linear vs Non-linear Data
Source: ResearchGate
In most real-world scenarios, non-linearity is present in data
We can use NNs to model and capture this non-linearity in data.
Why use Neural Networks over simple ML models?
Source: Stack Exchange
Linear Limitations: Simple ML models like linear regression often assume a linear relationship between inputs and outputs. They might not capture complex patterns well.
High Dimensionality: Neural networks can handle data with many features more effectively.
Complex Decision Boundaries: Neural networks can model non-linear and intricate relationships in data, making them more versatile for varied tasks.
Some other reasons to use Neural Networks
Versatility: Can be applied to a wide variety of tasks.
Learning Capability: Can improve over time with more data.
Complex Decision Boundaries: Can model non-linear and complex relationships in data.
Weights & Biases: These determine the strength and direction of the signal between neurons. Adjusted during learning.
Activation Function: Determines if a neuron should be activated or not.
Training a Neural Network
Source: Medium
Forward Propagation: Input data is passed through for an output.
Loss Calculation: Difference between predicted and actual output.
Backpropagation: Adjusting weights and biases.
Iterative Process: Repeated until satisfactory performance.
Challenges and limitations
Overfitting: Too specific to training data.
Data Requirements: Lots of data needed.
Computationally Intensive: Requires powerful hardware.
Interpretability: Neural networks can be "black boxes".
Open Jupyter Notebooks
Where to go from here?
Learn more about Neural Networks in hmkcode
More from the Research Commons at (UBC-V)
And from the Center for Scholarly Communication (UBC-O)