Karthik Ravindra Rao is a passionate software engineer, a public speaker, and an Experienced Leader. Karthik is pursuing his Masters in Computer Science at University of Southern California, Los Angeles. He has implemented challenging software problems dealing with Machine Learning and Geo-Spatial Information Management. He has trained ~100 M.B.A students in leadership and communication and is the University Gold Medalist in public speaking. He has led various IT and non-IT projects by leading Government and private sector employees. He currently guides ~200 undergrad students through office hours and grading in iOS and Android mobile development by serving as a TA at USC.
Click on the tabls for detailed project description
Ride-Sharing
An Auction Based Approach
Crowdsourcing
for Disaster Management
Geo-Binder
Geo-fenced Advertaisements
Congress
The US Congress info website
Unsupervised ML
Clustering
Supervised ML
Classification
Achievements
University Gold Medal
Public Speaking (among ~0.4 million students)
State Level Gold Medal
Karnataka Pre-University Board (among ~1 million students)
Chief Guest, Balodayana High School
68th Indian Independence Day
Contact
Machine Learning
Machine learning is the subfield of computer science that gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959). I have implemented the following algorithms in Python and also using Scikit-Learn
Supervised Learning
Supervised learning is the machine learning task of inferring a function from labeled training data.
Decision Trees using ID3
Decision tree learning uses a decision tree as a predictive model which maps observations about an item (represented in the branches) to conclusions about the item's target value (represented in the leaves).
Perceptron Learning Algorithm
In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers - functions that can decide whether an input, represented by a vector of numbers, belongs to some specific class or not. It is a type of linear classifier, i.e. a classification algorithm that makes its predictions based on a linear predictor function combining a set of weights with the feature vector.
Pocket Algorithm
The pocket algorithm solves the stability problem of perceptron learning by keeping the best solution seen so far "in its pocket". The pocket algorithm then returns the solution in the pocket, rather than the last solution.
Linear Regression
linear regression is an approach for modeling the relationship between a scalar dependent variable y and one or more explanatory variables (or independent variables) denoted X.
Logistic Regression
Logistic regression is a statistical method for analyzing a dataset in which there are one or more independent variables that determine an outcome. The outcome is measured with a dichotomous variable
Neural Networks
Neural networks or connectionist systems are a computational approach used in computer science and other research disciplines, which is based on a large collection of neural units (artificial neurons), loosely mimicking the way a biological brain solves problems with large clusters of biological neurons connected by axons. Neural networks consist of multiple layers and the signal path traverses from front to back. Back propagation is the use of forward stimulation to reset weights on the "front" neural units and this is done in combination with training where the correct result is known.
Unsupervised Learning
Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from "unlabeled" data
K-Means and Expectation Maximization for Gaussian Mixture Models
k-means clustering aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster. In statistics, an expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood or maximum a posteriori (MAP) estimates of parameters in statistical models, where the model depends on unobserved latent variables.
Principal Component Analysis and FastMap for dimensionality reduction
Principal component analysis (PCA) involves a mathematical procedure that transforms a number of (possibly) correlated variables into a (smaller) number of uncorrelated variables called principal components. Fast map algorithm maps objects into points in some k-dimensional space (k is user-defined), such that the dis-similarities are preserved.
Supervised Machine Learning
Supervised learning is the machine learning task of inferring a function from labeled training data.
Supervised Learning
Supervised learning is the machine learning task of inferring a function from labeled training data.
Decision Trees using ID3
Decision tree learning uses a decision tree as a predictive model which maps observations about an item (represented in the branches) to conclusions about the item's target value (represented in the leaves).
Perceptron Learning Algorithm
In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers - functions that can decide whether an input, represented by a vector of numbers, belongs to some specific class or not. It is a type of linear classifier, i.e. a classification algorithm that makes its predictions based on a linear predictor function combining a set of weights with the feature vector.
Pocket Algorithm
The pocket algorithm solves the stability problem of perceptron learning by keeping the best solution seen so far "in its pocket". The pocket algorithm then returns the solution in the pocket, rather than the last solution.
Linear Regression
linear regression is an approach for modeling the relationship between a scalar dependent variable y and one or more explanatory variables (or independent variables) denoted X.
Logistic Regression
Logistic regression is a statistical method for analyzing a dataset in which there are one or more independent variables that determine an outcome. The outcome is measured with a dichotomous variable
Neural Networks
Neural networks or connectionist systems are a computational approach used in computer science and other research disciplines, which is based on a large collection of neural units (artificial neurons), loosely mimicking the way a biological brain solves problems with large clusters of biological neurons connected by axons. Neural networks consist of multiple layers and the signal path traverses from front to back. Back propagation is the use of forward stimulation to reset weights on the "front" neural units and this is done in combination with training where the correct result is known.
Unsupervised Learning
Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from "unlabeled" data
K-Means and Expectation Maximization for Gaussian Mixture Models
k-means clustering aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster. In statistics, an expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood or maximum a posteriori (MAP) estimates of parameters in statistical models, where the model depends on unobserved latent variables.
Principal Component Analysis and FastMap for dimensionality reduction
Principal component analysis (PCA) involves a mathematical procedure that transforms a number of (possibly) correlated variables into a (smaller) number of uncorrelated variables called principal components. Fast map algorithm maps objects into points in some k-dimensional space (k is user-defined), such that the dis-similarities are preserved.
Geo-Spatial Information Management
A Geographic Information System (GIS) is a computer system capable of capturing, storing, analyzing, and displaying geographically referenced information. I have worked on the following algorithms
Ride-Sharing
Optimized implementation of algorithms for cab-hailing services
Spatial Crowdsourcing
Outsourcing a set of tasks to a set of workers
Skyline Queries
set of objects not dominated by any other object.
R-Tree
R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons.
K Nearest neighbours
Retrieve the nearest neighbor of query point Q
iOS App Development
Karthik has developed various apps based on the technologies mentioned below. He is also the TA for Advanced Topics in Mobile App Development at USC which teaches iOS. Karthik has worked on the following topics.
Table View, Collection View etc.,
Cocoapods
UIKit Dynamics
Background Tasks and Grand Central Dispatch
CFNetwork framework and NSURLSession
Core Graphics, Core Image Filters and Face Detection
Server-side swift with swift engine
Facebook SDK
Keychain Item Wrapper - Securely storing and retrving data
Geofencing and Google Maps SDK
Project Management
Karthik has managed projects using Agile Sprints on JIRA. He has also used ASANA for team management.
Leadership Experience
Toastmasters International, Mysore, India- Associate Area Director and President 2014-2015, VP Education 2013-14, Secretary 2012-13
Spearheaded membership growth of Mysore area by 118% and educational goal growth by 405% in 3 years
Mentored ~60 M.B.A students, ~25 IT and government employees in public speaking and leadership
Established and mentored two B-School Toastmaster clubs as a part of marketing outreach
Co-organized a national level 3-day conference comprising of ~400 participants for the first time in Mysore
Public Speaking
Karthik is a gold medalist in public speaking at Visvesvaraya Technological University among ~0.3 million students. He has trained candidates acroos varioius sections of the society such as Governament Employees, IT professionals and University Students. He is a Competent Communicator at Toastmasters and lays emphasis on the 10 aspects pf public speaking as enumerated in the CC Manual of Toastmasters as follows. He has special Interest in story telling
Ice Breaking
Orgalizing the speech
Getting to the point
"How to say it?"
Body Language
Vocal Variety
Reseaching the topic
Visual Aids
Persuation
Inspiration
Project Name
Lorem ipsum dolor sit amet consectetur.
Dreams is a free PSD web template built by Mathavan Jaya. Dreams is a modern one page web template designed for almost any purpose. It’s a beautiful template that’s designed with the Bootstrap framework in mind.
You can download the PSD template in this portfolio sample item at FreebiesXpress.com.