Machine Learning course

~Ganesh

C3STREAMLand conducted a course on Machine Learning for learners. The course was divided into six 2-hours sessions. The motive behind the course was to make learners familiar with the most widely used machine learning concepts and algorithms, being adopted rapidly by many tech companies.

The course was offered by Alex, Sanjeev, and Ganesh, as a part of sharing our learning with the machine learning enthusiasts. Sanjeev and I (Ganesh) did the course on Coursera offered by Stanford University and taught by Andrew Ng, the co-founder of Coursera and Google Brain. Alexander Sokolov (Alex) converted the assignments from Octave to Python to make them accessible to everyone.

The course provided a broad introduction to machine learning, data mining, and statistical pattern recognition. Main topics include:

  1. i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks).

(ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning).

(iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI).

Session-wise topics covered are as follows:

Session 1: Introduction and Linear Regression

  • Introduction – Machine Learning
  • Basic concepts of statistics and linear algebra
  • Examples and classifications of Machine Learning
  • Univariate and multivariate Linear Regression
  • Cost function
  • Gradient descent
  • Polynomial regression
  • Feature scaling and mean normalization
  • Bias-Variance Trade-off

 

Session 2: Logistic Regression (Classification)

  • Decision Boundary
  • One-vs-all classification
  • Overfitting and Regularization

Session 3: Neural Networks

  • History and use cases
  • Architecture
  • Forward propagation
  • Backpropagation
  • Handwritten digit recognition system demo

Session 4: Anomaly Detection and Recommender Systems

  • Density estimation
  • Gaussian distribution
  • Anomaly detection algorithm
  • Recommender Systems
  • Predicting movie ratings
  • Collaborative filtering

Session 5: k-means clustering and Dimensionality Reduction

  • Clustering applications
  • K-means clustering algorithm
  • Data Visualization/compression using dimensionality reduction
  • Principal component analysis (PCA)

Session 6: Large Scale Machine Learning

  • Batch gradient descent
  • Stochastic gradient descent
  • Mini-batch gradient descent
  • Online learning

The course helped learners to get the idea about widely used machine learning algorithms and maths behind those algorithms.

The session-wise presentation PDFs can be accessed here:

https://drive.google.com/drive/folders/1O-kTcAGFvEdX7_jJ0fn-6rKaLtEGxFmh?usp=sharing

Guest talk regarding Feminist Approach To Technology

FAT:

Feminist Approach To Technology (FAT),  FAT is organizing STEM Talk series webinar from January to March 2021, “STEM और हम, स्टेम पर लड़कियों द्वारा चर्चा ”  where women will share their journey, achievements, and challenges in the STEM domain. They will discuss how they were able to break gender barriers and fulfill their dreams.

Through these monthly talks, we are aiming that more girls get inspiration from this talk and advocate STEM education for young girls and women so that they can start thinking about education/career in STEM from an early age.

On March 14th I gave a talk over zoom.

 

STEMland in rural and what are opportunities it’s gives

STEMland at a rural place will give the children, youth, and even adults an opportunity to learn about science, technology, engineering, and mathematics.

Science and Mathematics:

There are many dropouts in a rural place where the children and youths are forced to go to work or children lose interest to learn. Children lose interest to learn as it is not interesting or not fun for the children to learn. In Stemland we make learning science and mathematics through practical means and through programs in laptops. By this, we make learning more fun and interesting to the children and youths. This also gives access to the children and youth to interact with technology programs.

For example,

We have made a practical method to show the a3-b3 using 3d printer and Alice(3d visual programming tool). The children program in Alice and show the visualization of the formula. They also have designed cubes to show the formula. By, this the children are able to understand the concept more easily.

From this, I can say that the children in rural place will have difficulties in language, but as they learn by programing, seeing and touching it makes learning more fun and therefore there is no language barrier.

This also gives the children and youth to interact with technologies. In this process they learn programming skills and designing skills. Here education will not only be theoretical but where they use their hands and minds together.

Technology:

I see most of the rural place is not equipped with latest technologies or even have access to it. I see Stemland as a societal change maker as it brings technology into rural places.

It can also be the first time for the children and youth to get access to laptops and other technologies.

How do I encourage girl children or women to stem education?

The first thing that comes into my mind when I hear this question is that I need to be encouraged in stem education first, then only I can encourage others. I truly believe that Stem education is the future. This is where there is equality in learning, where there is freedom with responsibility which is taken by the students by themselves not forced by the society, parents, or teachers.

I will share my experience with girl’s involvement in stem education. In my beginning days in STEMland, I saw girls getting actively involved in soldering the electronic equipment. I was surprised to see this. I thought that girls will basically work on laptops and do not want to get their hands dirty but here what I saw was the opposite. The girls opened an old Christmas light which was not working and fixed it. This is a true example of showing the interest of women’s child which is breaking the social and cultural norms.

 

In Stem education, we also provide sessions in leadership qualities where one discovers their potential within themselves and how to come out of fear. This helped me a lot to come out of my fear and to act from my possibilities. There is a practice or thinking in our society that girls should only do this not that and they are not fit for this job and all. Framed by society a girl is set to have boundaries and live within the boundaries. Stem education will be medium which will break the boundaries and will surely make the child work from her possibilities rather than her fear. Stem education has a wide range of opportunities, where a girl child can choose what she really wants from her heart then be forced to.

Post: https://www.facebook.com/92094187593/posts/10159165280042594/

INTERACTIVE PROGRAMMING IN PYTHON

 

~Sandhiya and Kayalvizhi

We learned “An Introduction to Interactive Programming in Python (Part-1 and Part-2) Online course in Coursera.

CodeSkulptor is an interactive, web-based Python programming environment that allows Python code to be run in a web browser.

These are the game we learnt in the coursera course,

  • Rock Paper Scissors
  • Guess the number
  • Ping pong
  • Stop watch
  • Blackjack
  • Memory game
  • Spaceship/Asteriod

We are trying to run the Codeskulptor python in our local system (Create executable file). In codeskulptor we have a save options to download our code.

We used following steps to converting the python files into exe.file in local system.

These are the API tried for Simplegui to run the code for local system.

  • SimpleGUITk

SimpleGUITk is a wrapper for the CodeSkulptor SimpleGUI API using TkInter. CodeSkulptor is a browser-based Python interpreter used in the online course “An Introduction to Interactive Programming in Python”.

  • Create Pyinstaller using to EXE: https://datatofish.com/executable-pyinstaller/
  • Install pip install SimpleGUITk
  • Change the import simplegui to import simpleguitk
  • Able to run the codeskulptor file in our local and create the .exe file also, but not able to run and create exe file for the images having file like blackjack and spaceship game.
  • Simplequi

Same thing we did for simplequi also, not able to create the blackjack and spaceship game.

  • Download the images and set a path to the image in the spaceship python code. Not able to get the image file.

Solution-1(Windows)

  • Install SimpleGUICS2Pygame

https://pypi.org/project/SimpleGUICS2Pygame/

  • Replace the import simplegui to

try:

import simplegui

except ImportError:

import SimpleGUICS2Pygame.simpleguics2pygame as simplegui

  • Convert .py files to .exe file

Install pysimplegui-exemaker

https://pypi.org/project/pysimplegui-exemaker/

  • Run the Pysimplegui-exemaker– open the command prompt and paste

python -m pysimplegui-exemaker.pysimplegui-exemaker

The pop up showed liked that, browse your code in source python file and click Make EXE.