"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

August 31, 2019

Day #273 - Learnings from Program Errors - face_recognition

Lesson #1 - axis 1 is out of bounds for array of dimension 1
Working on Face Comparisons, Ended up error using face_recognition.compare_faces method.

This link was useful https://github.com/ageitgey/face_recognition/issues/328

bad one: face_recognition.compare_faces(encoding,person_encoding):
good one: face_recognition.compare_faces([encoding],person_encoding)

Lesson #2 - “RuntimeError: dictionary changed size during iteration” error?
Reason - Modified the dictionary while iterating the elements
Fix - Fixed it by modifying it outside the loop

A lot of simple design choices, end to end thinking keeps changing while building the solution

Datasets - Link

Happy Learning!!!

August 30, 2019

Day #272 - Clustering to find Data Insights

For different kinds of data, we need to pick the right columns to find the right insights. Most of them can be picked up with domain knowledge, Clustering perspective analysis.
  • For Sales Data, Clustering intent was to find sales insights. Data Sources were CustomerId, NumberOfOrders, TotalOrderValue. Clustered the same to find order value buckets. High Value, Medium, Low Value.
  • For Loss in Retail Store, Clustering insights to find loss patterns. Data Sources were SkuId, LossCount, LossValue. Clustered them to High Loss, Medium, Low Loss buckets.
This helps to address the key loss items and focus on proactive measures to prevent further loss. After a long time picked up R. Forgot execution command Ctrl+A, Ctrl+Enter. Every editor, tools, language have their own patterns, formats of coding.

This is the same as 'Recency, Frequency and Monetary value'. I came to know about this today (7/6/2020). Sometimes what you already implemented might be already done in some pattern :)

Recency, Frequency, Monetary Model with Python — and how Sephora uses it to optimize their Google and Facebook Ads
Find Your Best Customers with Customer Segmentation in Python
Introduction to Customer Segmentation in Python

Happy Learning!!!

August 29, 2019

Day #271 - FAISS Experiments

Examples on Basic indexes, Binary indexes, Composite indexes in FAISS
  • Exact Results - FlatIndex - index that can guarantee exact results. Types - IndexFlatL2 or IndexFlatIP
  • Somewhat Match - Clustering, then store in buckets "Flat"
  • conda Install on ubuntu. Version that works is - conda install faiss-cpu=1.5.1 -c pytorch -y
  • A similar project for store, fetch data - https://github.com/waltyou/faiss-web-service 
More Reads Link1, Link2

Happy Learning!!!

August 18, 2019

Completing one Training session of Deep Learning

Today I completed my 10th class of Deep Learning. It was fantastic learning, discussion with the participants. I am very thankful for the students for healthy discussions and sessions.

Learning never ends. The consolidated feedback looks like below
  • Feedbacks - 25
  • Excellent  -16
  • Good - 4
  • Average -2
  • Bad -3
Keep Learning. Keep Going!!!!

Day #268 - Techniques for unique vehicle identification

  • Finding with cars passing the mid-point (Approach #1 – Experimented with SQL)
  • Take the bounding boxes between two frames and check the similarity between the matching regions. Between the two frames and the matching regions how much does the content match. This can be used to remove duplicate cars
  • Generate a feature vector for the Area of Intersection and validate with the frame if it is similar. 
Advanced methods
  • KNN approach – Experiment KNN approach with the data points to classify a new or existing object
  • LSTM based tracking – Model the frames into sequences to classify if it is a new object or existing object. It is possible, Needs a bit more analysis
  • Siamese network for Similarity of Objects 
Happy Learning!!!

August 14, 2019

Day #267 - Get Historical Weather Data

Fetch Historical weather data information to correlate with findings


Happy Learning!!!

August 07, 2019

Day #266 - Face Recognition Examples - Package - face_recognition

Use Cases
1. Extract Face Region
2. Search for Face Match



Deep face recognition with Keras, Dlib and OpenCV

Key Research Papers - Face Recognition


Happy Learning!!!

August 06, 2019

Thinking Efficiency

Metrics to measure and improve your thinking

Number of creative ideas
Number of newer perspectives 
Number of simple solutions
Number of similar ideas analyzed
Communicate and get feedback on ideas
The complete end to end clarity of implementation 
The visualization of implementation in the end-user perspective
Explore and build incrementally

Happy Learning and Teaching!!!

Day #265 - Python Arrays & Version Check of TF,OpenCV


Happy Learning!!!

August 02, 2019

Probability Notes and Concepts


  • Prior distribution that incorporates your subjective beliefs about a parameter  
  • Posterior is the result with data
  • Likelihood - Based on the posterior the how ‘likely’ is the data is going to occur
  • Bayesian Linear Regression - The response, y, is not estimated as a single value, but is assumed to be drawn from a probability distribution. Determine the posterior distribution for the model parameters
  • Latent variables as opposed to observable variables), are variables that are not directly observed but are rather inferred (through a mathematical model) 
  • A Bernoulli random variable has two possible outcomes: 0 or 1. A binomial distribution is the sum of independent and identically distributed Bernoulli random variables.
  • Poisson distribution - events occurring in a fixed interval of time or space if these events occur with a known constant rate and independently of the time since the last event
  • Negative binomial distribution describes the number of successes k until observing r failures
Happy Learning!!!

August 01, 2019

Day #263 - Reviewing Interesting Deep Learning Projects

For days I haven't been able to catch up on my technical debts. Too many things running in mind. I feel my time is getting reduced and the things to accomplish are more. Hoping to priotitize and be productive coming days

A ton of projects listed in cs231 reports. This is a great way to understand applications. Reviewing a few of them every day

Project #1 - ConvNets for Intelligent Baby Monitoring
Poster - Link 

This was my dream product idea. A year back we were discussing on the same. They have done a fantastic job in analyzing the idea end to end.

Summary 
Verified in different architecture - ResNet18[1], AlexNet[10]and SqueezeNet[6]. Different camera position was evaluated

Challenges
  • Highly unbalanced dataset
  • Different camera viewpoints, different rooms/cribs, different babies, different lighting conditions and different toys inside the crib
Motion detection techniques
  • Image subtraction
  • Optical flow
  • Temporal difference method
Manually classify into 5 classes
  • Caretaker
  • Empty Crib
  • Sitting Up
  • Lying Down 
  • Standing Up
Great Idea and well-implemented!!!

Happy Learning!!!