BIOS691, Spring 2025

Course Title: Deep Learning with R

Instructor: Mikhail Dozmorov
Department: Biostatistics, VCU
Credits: 3
Duration: 15 weeks (2 lectures per week, 1 hour 20 minutes each)

Course Overview

Deep learning is an actively growing machine learning field for many research and application areas, such as computer vision, speech recognition, time series forecasting. It is becoming the state-of-the-art approach among machine learning methods, especially suitable for extracting useful information from large, unstructured datasets.

This course is an introduction to deep learning theory and practice. It will cover the basics of neural network architectures, main statistical concepts behind training neural networks, and implementation aspects. The main focus will be on programming deep neural networks using TensorFlow and its Keras front-end in R, although the knowledge will also be useful for Python practitioners. The goal of this course is to build a foundation for general understanding of deep learning and hands-on implementation of main types of neural network architectures, and provide material for further development.

The class will be conducted in person and include lecture and coding parts. Course material will be publicly available. The syllabus is subject to change. Observe the VCU Honor Pledge in any class- and homework activities.

Prerequisites

  • Book
    • Deep learning with R by François Chollet (the creator of Keras) with J. J. Allaire (the founder of RStudio and the author of the R interfaces to Keras and TensorFlow)
  • Skills
    • Working knowledge of R, familiarity with RStudio programming environment, command line, GitHub (BIOS524)
    • Basic linear algebra: vectors, matrices, determinants
    • Simple calculus: derivatives, integrals, gradients
    • Some probability theory: probability, random variables, distributions
    • Basic statistics knowledge: descriptive statistics, estimators.
    • (Linear) modeling
  • Hardware
    • A laptop, Mac or Linux OSs are recommended. GPU (graphics processing unit) is not required
  • Software

Course Objectives

  • Understand the fundamental concepts of deep learning and its applications
  • Implement deep learning models in R using Keras and TensorFlow
  • Explore key architectures like convolutional and recurrent neural networks
  • Apply deep learning techniques to text, sequences, and images
  • Work with generative models such as variational autoencoders and GANs

Tentative schedule

Week 1: Introduction to Deep Learning

Week 2: Mathematical Foundations

Week 3: Neural Network Mechanics

Week 4: Neural Networks in Practice

Week 5: Advanced Classification and Regression

Week 6: Machine Learning Fundamentals

Week 7: Data Preprocessing & Overfitting

Week 8: Convolutional Neural Networks (CNNs)

Week 9: Transfer Learning and Visualization

Week 10: Text and Sequence Data

Week 11: Advanced RNNs and Sequence Processing

Week 12: Advanced Architectures

Week 13: Best Practices and Hyperparameter Tuning

Week 14: Generative Models

Week 15: Variational Autoencoders and GANs

Grading

  • Assignments (60%): Regular homework assignments based on the book and additional datasets
  • Participation (40%): Attendance and active participation in class discussions and labs