After our first meeting, we learned the basics of perceptrons. This challenge had us manipulate the original code from our first meeting, to make it so that the code had three features, could handle three dimensional data, and different numbers of training and testing data. This inherently led to our creating of 3D graphs, as depicted above. This first challenge was very fun, and I guarantee you will have fun completing it.
Tuesday, February 28, 2017
After our first meeting, we learned the basics of perceptrons. This challenge had us manipulate the original code from our first meeting, to make it so that the code had three features, could handle three dimensional data, and different numbers of training and testing data. This inherently led to our creating of 3D graphs, as depicted above. This first challenge was very fun, and I guarantee you will have fun completing it.
Perceptron Code Challenge - Alyssa Koo
After learning the basics of the perceptron concepts a few weeks ago, we put our skills to the test and used a new set of data, and was able to create a 3D graph that displayed our data, to the equation that we got from utilizing the training data. The code was able to pick up the pattern, and create an equation that was the best line of fit for the given data.
Perceptron Code Challenge - Emma Ruzicka
This was fun!!! We trained and tested a set of data with three different variables. Thus, naturally, plotting it on a 3D graph would be the most efficient and visually understandable. We plotted the testing data to see the patterns and it seems to have worked pretty well! :)
The key was simply to adjust the code to be able to include three types of data: 3D Perceptron Code
Tuesday, February 14, 2017
Machine Learning Startups and Applications
Machine Learning is no longer a fancy sci-fi dream or an obscure research
field in the dark corner of Google, Facebook, Uber and Baidu
have acquired most
of the dominant players in this space to improve their services. The most well-known one is that Google spent over $500 million for a little-known London startup called DeepMind in 2014! Many small
startups are trying eagerly to find a niche in this new game field. Since machine learning can have huge impacts to various fields in our society, we would like to explore its real-world applications while we are picking up the technical know-how. I am attaching the links of two online articles on this topic. I am looking for some volunteers to summarize the info in these articles into excel/spreadsheet formats, and share the links of them on our blog. These can be working documents that we can keep adding new information. This efforts will help us proceed to the next stage of research. At the same time, you can start thinking about what types of real-world problems in your life can potentially be solved by machine learning techniques. You can share your thoughts with us on blog.
the ivory tower. It is currently a highly
competitive research field for both academia and industry. Industry
giants such as Monday, February 13, 2017
AI Workshop I and Perceptron Challenge
![]() |
| Girls hanging out after the AI workshop I |
WORKSHOP
During the AI Workshop I today, nine students including most of our research group members have been trained to understand perceptron from concepts to code-level implementation (in C language)! Thanks to Elro seniors, Qin Ying and Tiffany, presented the key perceptron concepts to us! It is our first contact with one of the most important machine learning technique- Artificial Neural Network (ANN). The perceptron is an algorithm for supervised learning. It is a type of linear classifier
which can classify linearly separable data. This basic training will form the foundation for the next-level neural network- Multi-layer Perceptron (MLP).
In case you missed the workshop, or you want to review the perceptron concept in more details, you can watch the following video tutorials:
CHALLENGE
As you finish the perceptron training, you have a new challenge to tackle - modifying the
perceptron code to classify a new data set. The information of the data set is listed in the following:
- No.of classes: 2 (class 0 and 1)
- No. of training data: 2000
- No. of testing data: 400
- No. of features: 3 (feature vector is in 3-dimensional space)
- Files: training.txt, and testing.txt
Since the original perceptron is only for 2-dimensional
data, you need to identify and modify all the dimension-related code to
make it work. After you finishing the classification, visualize your training and testing data, and the decision boundary using Grapher in Mac laptop (see example). Our deadline for this challenge is March 1, 2017 (Wednesday). You can post your results onto the blog once you finish the project. Please feel free to drop by my room (501) for any questions. If you need computer resource to work on it during the break, please contact me in advance.
Sunday, February 12, 2017
Workshop Material: Perceptron Training and Classifying Code
Please click the perceptron code link to download the code that includes training and classification.
There are two project folders in the zip file:
- PerceptronTrainer: Perform training based on training data in training.txt and save the trained weight at weights.txt.
- PerceptronClassifier: Perform classification based on the weights.txt and output the result to classification.txt.
You have to set the schemes (working directories) of both projects to the PerceptronTrainer folder where the weights.txt file is located. So, they can share the file at the same location.
Saturday, February 11, 2017
Wednesday, February 8, 2017
AI Workshop 1: Artificial Neural Network - Perceptrons
Hi All,
We are planning to have our first AI workshop some time next week. The goals are learning the basics of Neural Network. The topics include:
In order to facilitate the meeting, please use the survey form to indicate your availability. I will let you know the date as soon as the group fill it out. We will make the final decision based on the survey results.
We are planning to have our first AI workshop some time next week. The goals are learning the basics of Neural Network. The topics include:
- Neurons & Neural Network
- Artificial Neurons
- Basic operations of Perceptron
- Decision Boundary
- Learning Rules of Perceptron
- Limitations of Perceptron
In order to facilitate the meeting, please use the survey form to indicate your availability. I will let you know the date as soon as the group fill it out. We will make the final decision based on the survey results.
Introduction to Machine Learning Course
I just found this Machine Learning (ML) Course, Introduction to Machine Learning, on YouTube! It is a course taught by Professor Alex Ihler at University of California, Irvine. I watched a few tutorials and they seem not too hard for high school students to understand. There are 35 short video tutorials (most of them < 20 minutes) covering wide range topics in ML. I suggest that you can watch 2-3 tutorials every week to gradually build up the foundation in ML. We are going to zoom into a very specific field of ML called "Neural Network" in the next few weeks. Following through this course can give you a broader foundation and perspective for ML. You are encouraged to post your notes and questions when you watch these videos. Enjoy!
Saturday, February 4, 2017
Notes: Machine Learning
30 minutes of continuous information is hard to absorb... So, to summarize "A Friendly Introduction to Machine Learning", here are the definitions:
Feel free to read these as you watch the video, they go in order as they are explained in the video and may help define what is going on as it is being visually represented.
Feel free to read these as you watch the video, they go in order as they are explained in the video and may help define what is going on as it is being visually represented.
- Machine Learning: The ability of a computer to learn like a human, from experience. For computers, however, this experience, is substituted by data that it can analyze, store, and compare.
- Linear Regression: Comparison of data on a coordinate plane; Data points are marked on a graph and a line that best fits the data is derived, so that it has the least amount of error. The error is measured by the distance of all the points from the line: The greater the sum of the distances, the greater the error; This method also works with polynomials, parabolas, etc.
- Gradient Descent: an algorithm used to minimize functions; A continuous procedure that adjusts a function, in order to provide the most optimal result or decrease the error to find its minimum value; Uses calculus!
- Naive Bayes: Providing solutions based on probability; Probable characteristics for a desired output are evaluated. The inputs with the most of these characteristics are the first to be considered.
- Decision Trees: Comparison of data based on a table; Using multiple features to split the data continuously to narrow it down to individual users/outputs. (You can think of it as a series of if statements that keep splitting the [remaining] data into two categories for x features or characteristics)
- Logistic Regression: Comparison of data on a coordinate grid; Looking for previous trends to divide data. Like Linear Regression, a line is used to divide the points. Except, the error is measured by the number of points that are wrongly classified by the division of the graph with the line, based on a given condition (ex.: pass or fail).
- Gradient Descent is, again, used to minimize the error.
- Neural Networks: Comparison of data on a coordinate grid; Using multiple lines to split the data based on multiple conditions. Like an and-statement, the data that fits all conditions is our output; A combination of multiple logistic regression graphs.
- Support Vector Machines: Finding a line that maximizes the distance from boundary points through linear optimization; Separating the data into two sections and split it evenly between them. (Think of this kind of like finding the middle of a middle).
- Kernel Trick: Helps support Vector Machines; Finding a function that splits the data based on certain set mathematical properties and similarity between the data points; As a mapping function, it can often be perceived as working in a 3D space. The additional dimension serves as a way to split the data accordingly.
- Clustering: Grouping data points based on proximity until a distance limit is met; Essentially, this means grouping data points with similar values together to classify the data. By determining the limit between the differences of the values, one can manipulate how many or how large the groups are. (hierarchical or K-means)
Thursday, February 2, 2017
Tutorial: A Friendly Introduction to Machine Learning
I just found this nice Machine Learning introductory video. It explains and illustrates a few most popular machine learning techniques in an extremely friendly way! The topics include Linear and Polynomial Regression, Gradient Descent, Naive Bayes, Decision Tree, Logistic Regression, Neural Network, Support Vector Machine and Kernel Trick. This video tutorial can help you grasp the basic concepts and possible applications of machine learning quickly. You are encouraged to go through it a few times and take notes as you watch, and find further resource online to go deeper in any topics interested you. You can share your notes and finding with us by posting onto this blog. The expected time to finish this tutorial is by February 5 (Sunday).
World's Youngest IBM Watson Programmer
It is fun and informative to watch this young gentleman explaining his Natural Language Q&A (NLQA) system. Enjoy it!
Subscribe to:
Comments (Atom)






