Site Navigation:
        
            Machine Learning for the Built Environment - Course year 2025
        
        
     
    
        
            
                
                     
                 | 
                
                    
                        - 
                            
                                Apr. 18. The final grades are available here. I have reserved April 22 (Tuesday), 16:00 – 16:45 for those who would like to check their exam papers. Please send me an email if you plan to come.
                             
                         
                        
                        - 
                            
                                Apr. 3. Information about the final exam and some example questions can be found here.
                             
                         
                        - 
                            
                                All news ...
                             
                         
                     
                 | 
            
        
    
    
    About
    
        This course is introductory to machine learning to equip students with the basic knowledge and skills for
        further study and research in machine learning. It introduces the theory/methods of well-established machine
        learning and a few state-of-the-art deep learning techniques for processing geospatial data (e.g., point
        clouds). Students will also gain hands-on experiences by applying commonly used machine learning techniques
        to solve practical problems through a series of lab exercises and assignments.
    
    
    Contents
    The topics of this course cover the fundamentals of machine learning and deep learning, including:
    
        - 
            Introduction to machine learning: the history of machine learning, applications of machine learning, the
            scope of machine learning, the challenges (e.g., datasets, class imbalance, generalization) in machine
            learning, the limits and dangers of using machine learning techniques.
        
 
        - Unsupervised learning: k-means clustering, hierarchical clustering, density-based clustering.
 
        - Supervised learning: linear regression and nearest neighbor classification.
 
        - 
            Classification: Bayesian classification, logistic regression, support vector machine (SVM), decision
            trees, and random forest. We will also discuss data collection and features.
        
 
        - Neural networks: multi-layer perceptron (MLP), loss functions, gradient descent.
 
        - Deep learning (focusing on CNN): convolution, CNN architecture; practical techniques for training.
 
    
    
    Goals
    
        After finishing this course, the students will have gained the theory of commonly used machine learning
        techniques and the skills to apply them for processing geospatial data. Specifically, the students will be
        able to:
    
    
        - 
            explain the impact, limits, and dangers of machine learning; give use cases of machine learning for the
            built environment;
        
 
        - 
            explain the main concepts in machine learning (e.g., regression, classification, unsupervised learning,
            supervised learning, overfitting, training, validation, cross-validation, learning curve);
        
 
        - 
            explain the principles of well-established unsupervised and supervised machine learning techniques
            (e.g., clustering, linear regression, Bayesian classification, logistic regression, SVM, decision tree,
            random forest, and neural networks);
        
 
        - 
            preprocess data (e.g., labeling, feature design, feature selection, train-test split) for applying
            machine learning techniques;
        
 
        - 
            select and apply the appropriate machine learning method for a specific geospatial data processing task
            (e.g., object classification);
        
 
        - evaluate the performance of machine learning models.
 
    
    
    
        Assessment
        
            The assessment of this course consists of two group assignments and the final exam. The final grade is
            based on the evaluation of both the assignments and the final exam, breaking down into:
        
        
            - 
                group assignments (40%). All assignments have equal weight in the final grade. It
                is possible to resubmit your work after incorporating the feedback/suggestions received from the
                teachers. However, the evaluation of an assignment is mainly based on the first submission. Students
                who have improved their work may receive a slightly higher grade depending on the significance of
                the improvement (but no more than 5%).
                Assignments submitted after the deadline: the grade will be
                deducted with 10% per day late, and not accepted after 3 days late.
            
 
            - 
                final exam (60%). The final exam consists of multiple-choice questions and open
                questions. Example questions will be given two weeks before the exam.
            
 
        
        
            Pass or fail? Grading is done on a 10-point scale, and the final marks are rounded off
            to the nearest full and half figures. To pass the course, all assignments and the final exam must be
            graded greater or equal to 5.5, and a total of 5.75 or above is required to pass the course.
        
        
            Repair and retake options. Any component of the assessment graded lower than 5.5 is
            eligible for one more opportunity to retake (for the exam) or repair (for assignments). A repair is a
            revision or addition to an existing assignment, and a successful repair will only be assessed with a
            6.0. A retake is an entirely new examination.
        
     
    
    
        Prerequisites
        To embark on this exciting journey through the course, it is crucial to have a solid grasp of fundamental
        calculus, linear algebra, and statistics. Additionally, we assume you have completed a basic Python
        programming course in the past. Here is a breakdown of the key prerequisites:
        
            - 
                Basic calculus and linear algebra. You should be comfortable with matrix-vector
                operations and notation and familiar with taking derivatives and gradients.
            
 
            - 
                Basic probability and statistics. You should know fundamental concepts such as
                probabilities, Gaussian distributions, mean, standard deviation, etc.
            
 
            - 
                Proficiency in Python programming. All assignments will be in Python (utilizing
                libraries like Numpy,
                scikit-learn, and
                PyTorch). If you have significant
                programming experience in other programming languages like C/C++/Matlab/Javascript, you will
                probably be fine. For those unfamiliar with Python, consider checking out this
                tutorial and
                another great tutorial.
            
 
        
        To ensure your readiness, we have designed a set of
        
questions for self-assessment.
        Please complete this assessment to determine if you are ready for the course:
        
            - 
                If you were confident to answer at least 2/3 of the questions: You
                are well-prepared for this course.
            
 
            - 
                If you were familiar with the tested concepts (e.g., you had taken related courses in the past)
                    but needed a refresher: You must revisit relevant books or
                study materials before the course
                begins.
            
 
            - 
                If you faced challenges during the assessment (e.g., you had difficulty recognizing
                the concepts tested): This course might not be for you. However, you can still enroll in the course,
                provided that you dedicate (approximately) 30-50 hours to self-study before the course commences to
                ensure a smooth learning experience. See the recommended
                self-study materials.
            
 
        
     
    
    Course logistics
    
        - 
            Lectures: on campus. Check here for the course
            schedule and the time/location of each lecture.
        
 
        - 
            Slides and lecture notes: slides and lecture notes will be posted
            here shortly after each lecture.
        
 
        - 
            Contact: we will also use Discord channels for
            announcements and all course-related questions. We highly recommend raising questions on the Discord
            text channel, so others can also benefit from the Q&A. For external inquiries, emergencies, or
            personal matters that you don't wish to put in a private post, you can email the teacher(s) or schedule
            a private meeting.
        
 
    
    
    Teachers
    
    Copyright @Liangliang Nan. 2021