Model Selection and Overfitting

Model Selection and Overfitting

In neural networks, there exist several free parameters: learning rate, batch size, number of layers, number of neurons, etc. We are faced with the problem of selecting the best model for a given regression or classification problem. There are various ways to do so. We can either select the best model with the best parameter value. This post is a lecture notes of the SC4001 course at NTU, covering model selection and overfitting.

Continue reading →

Build Own Web Server Using Go

Build Own Web Server Using Go

In our team, March Studio, we developed a scheduling module that requires concurrency capabilities. Initially, we built this module using Python with the Flask library, but we encountered performance issues. As a result, we decided to create a simple web server using Golang. This module is still under development. This article documents my experience building a web server with Golang, and I hope it can be helpful to others.

Continue reading →

Deep Neural Networks

Deep Neural Networks

Deep Neural Networks (DNNs) are artificial neural networks with many hidden layers. They transform inputs through these layers to learn complex features from data. DNNs excel in tasks like image and speech recognition, and natural language processing. Their success comes from learning from large datasets and using backpropagation to reduce errors. With more computing power and data, DNNs have become essential in deep learning. This post summarizes the SC4001 course at NTU, offering an overview of DNNs based on course notes and my insights.

Continue reading →

Greedy Algorithm, Djikstra and Prim

Greedy Algorithm, Djikstra and Prim

Greedy algorithms make the locally optimal choice on each iteration with the hope of finding a global optimum solution. They are typically used to solve optimization problems, and are usually more efficient than other algorithms. This post provides a comprehensive review of the algorithms covered in Lecture 6 of the SC2001 course in NTU, including Djikstra’s algorithm and Prim’s algorithm.

Continue reading →

Intelligent Agent Prolegomenon

Intelligent Agent Prolegomenon

An intelligent agent is a system that perceives its environment and takes actions that maximize its chances of successfully achieving its goals. Agents are used to build a wide variety of applications, including web search engines, recommender systems, smart home devices, and autonomous vehicles. The agent paradigm is also used to study human decision-making and to build artificial intelligence systems that interact with humans. This post provides a comprehensive discussion of the concept of an intelligent agent in Lecture 3 of the SC4003 course in NTU.

Continue reading →