Agent Decision Making

Agent Decision Making

Agent decision making is a crucial aspect of artificial intelligence. It is the process by which an autonomous entity, such as a robot or a computer program, makes decisions based on its available knowledge and perception of the environment. In this post, we will explore the different types of decision making, including simple and complex decisions, as well as sequential decision making, where the agent’s utility depends on a sequence of decisions. We will also discuss the various techniques used in decision making. This post provides a comprehensive discussion of the agent decision making in Lecture 4 of the SC4003 course in NTU.

Continue reading →

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 →