Posts

Research from the Lab's Little AI Scholars: Learn the life language using artificial intelligence

Image
1. Background 1.1 project/research background This project explores the applications of Artificial intelligence (AI) techniques for classifying Deoxyribonucleic Acid (DNA) sequences by three high school students under teaching and supervision in the Lab's Little AI Scholars program. To explain AI information and concepts understandably, a couple of analogies were introduced during the research. They were displayed using interesting images to give the high school students a better understanding, and we have successfully achieved our goal of Auto Recognition of DNA Sequences. We first transformed the DNA sequences into human-like language. Then we employed Natural Language Processing (NLP) and Multi-layer perceptron (MLP) to complete sequence classification into 7 gene families from 3 organisms (humans, dogs, and chimpanzees). During this exciting research, the high school students deeply understood the biological and mathematical knowledge they learned in class and adapted them to t

Lab's weekly topic - week 50 2023 - Detailed explanation for encoder of U-Net

Image
In U-Net the encoder block comprises two components: 2D convolution and max-pooling operations. The 2D convolution is a technique in image processing that generates a feature map. While max-pooling can reduce the size/shape of the feature map. The 2D convolution equation is as follows: \begin{equation} \mathbf{F}(m, n) = \sum_j\sum_k \mathbf{K}(i, j)\mathbf{I}(m-i)(n-j) \end{equation} Where 𝑲 is the kernel or filter, pass it over the image 𝑰. The indexes of rows and columns of the results feature map are marked with m and n respectively. In Figure 1, we show what are the operations in the encoder block, including 2D convolution, max pooling and related technologies.     Figure 1.  Operations in the encoder block In Figure 1, we add a layer with the number “0” called padding, which is used to maintain the size of the original input. Then the filter K shaped as a 3 by 3 matrix performs an element-wise multiplication with the input image 𝑰. The values are summed to generate the featur

Lab's weekly topic - week 49, 2023 - What's limitations and possible solutions for a new AI tools to detect blood poisoning?

Image
  A New, Transparent AI Tool May Help Detect Blood Poisoning It is a promising application using AI for medical services. It is a hot topic using AI to help people’s health issues. This novel algorithm can scan electric records and may reduce sepsis death, but the wide application still needs more time. Summary A solution based on machine learning was developed to help physicians detect sepsis earlier, which could save lives. Johns Hopkins Hospital developed the solution and has been deployed at three different hospitals for a try. Electronic records are used directly for an automation alert.  Limitations User side: Physicians could not have a high willingness to try a new tool they are not familiar with. Solution side: The solution depends on the electronic records. It has missing fields and values in the records, which could block the solution. Model side: It is better that we can explain the results predicted by the model detecting sepsis. Deep learning usually has a better perform

Lab's recommendation: Awesome books to learn machine learning and AI (continue updating)

Image
Machine Learning in Action (MLiA) This is an old book, which was published ten years ago, in 2012. The author is Peter Harrington. At that time, there is not so popular ML tools like scikit learn or the DL framework like TF, and Pytorch. This book describes the ML concept and the necessary formula to understand the learning algorithms. Most importantly, the author gives the implementation bit by bit (not just call API) for the algorithms. These can get the reader a deep understanding of how the models/algorithms work and are built. It's super helpful! This book is good for beginner or intermediate readers. But please forget that the top 10 models in ML as the book says, actually there is no best one but just a suitable one.  Also, there is a  GitHub repo  for the code (though I think could dirt your hands following the book and get the best learning).  The code is in python 2, a popular version a decade ago (currently has stopped the support to python 2). I do not test the code in

Python short course: Stack in python

We can use a list to get an easy implementation of the stack, which includes pop and append to operate the stack. 

Python short course: Stack and queue

Stack is a  first in, last out data structure, while the queue is first in, first out.

Python short course: List in Python

It uses a dynamic array strategy for list data structure in Python. Reference: Goodrich, M. T.; Tamassia, R. & Goldwasser, M. H. Data Structures and Algorithms in Python John Wiley & Sons, Inc., 2013, 770