SlideShare a Scribd company logo
1 of 34
Personal matching
recommendation system in
TinderBox
Sogang University
Data Mining Laboratory
Jaehyun Ahn
Feb. 26. 2015
Overview
•  We will cover Viola Jones Face Detection
Algorithm
•  Eigen Face Detection Algorithm and
PCA(Principal Component Analysis)
•  K-Nearest Neighbor Classification Algorithm
http://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm 2
Overview 2
•  What is the TinderBox?
3
TinderBox is Tinder based application!
Then, what is the Tinder?
•  Very simple, very compressed dating system
4
Tinder is a social dating application
However, Tinder not just a social dating app
5
Recommendation Process – Collecting Samples
6
7
Recommendation Process – Collecting Samples
Recommendation Process – Collecting Samples
8
Find the suitable model for next recommendation
9
Thus, Next Recommendation Will Be..
10
How would it be possible?
•  Viola Jones – Face Detection
•  Eigen Face – Project Image to Vector Matrix
•  K-Nearest Neighbor – Recommendation Algorithm
11
Viola Jones Face Detection Algorithm
“Robust Real-Time Face Detection”

Paul Viola
Microsoft Research 

Michel J. Jones 
Mitsubishi Lab

2001
“Training is slow, but detection is very fast”
12
Viola Jones Face Detection Algorithm
•  Use Rectangle filter
13
f(x): sum of rectangle (also called ‘integral image’)
x: pixel rate (usually 0 ~ 255 value, gray scale)
ϑ: threshold (constant)
α: usually 1 
β: usually 0 (polarity)
t: t-th classifier index
i: index of pixel
Viola Jones Face Detection Algorithm
•  Define ‘one’ classifier will be..
14
Variety of ht(x)s’
h(x): 0 – 1 polarity function
b: bias
ϑ: classifier weight
t: t-th classifier index
Viola Jones Face Detection Algorithm
•  Boosting Correctness with Cascaded Classifier







•  In TinderBox, they use this algorithm for cropping
face
15
“Training is slow, but detection is very fast”

usually saved ‘. xml’constant file
Eigen Face – Convert Images to Vectors
16
“Face Recognition Using EigenFaces”
Mattew A. Turk / Alex P. Pentland

Vision and Modeling Group, The Media Laboratory
Massachusetts Institute of Technology

1991, IEEE
Eigen Face – Convert Images to Vectors
•  Basic Idea
17
Face Recognition is a simple matching problem
But N x N dimensional space is so high
Let’s mapping N x N matrix into a
lower-dimensionality space
How can we find a suitable lower-dimensional space?
“Maybe PCA will be a great solution”
Principal Component Analysis
Eigen Face – Image Matrix 
(Training Samples)
•  Consider about N x K size of image, Eigen
Face converts it into gray scale image. Thus, 
N x K matrix’s values will be 0 ~ 255 range.
18
0 ~ 255 value
I’m watching you
Eigen Face – Find Mean Matrix
(Training Samples)
19
To find central vectors from sample images,
we sum up all of sample images with pixel by
pixel and divide it into M. (# of samples)

Why?
That makes possible to construct Covariance
Matrix to apply PCA dimensional reduction.
Average Face Vector: Ψ
i-th Image vector: Γi
Eigen Face – Find Mean Matrix
(Training Samples)
20
Average Face Vector: Ψ
i-th Image vector: Γi
Now move its’ derivation into origin space
ϕi = Γi - Ψ
Now let’s find covariance matrix C
Eigen Face – Find Mean Matrix
(Training Samples)
21
Now let’s find covariance matrix C
We have to find eigenvectors of ui for projection. 
However, AAT (N2 x N2) Matrix is too large!
# of training sets
Don’t give up!
Let’s consider about ATA’s eigenvector vi (M x 1 matrix)
Computable constant
What is eigenvector? : http://darkpgmr.tistory.com/105
How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf
	
  	
  Because of eigenvector’s 
meaning!
Eigen Face – Find Mean Matrix
(Training Samples)
22
Don’t give up!
Let’s consider about ATA’s eigenvector vi (M x 1 matrix)
Computable constant
What is eigenvector? : http://darkpgmr.tistory.com/105
How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf
Then?
CAvi = μiAvi 
(Since C = AAT)
Singular Value Decomposition
Eigen Face – Find Mean Matrix
(Training Samples)
23
Don’t give up!
Let’s consider about ATA’s eigenvector vi (M x M matrix)
Computable constant
What is eigenvector? : http://darkpgmr.tistory.com/105
How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf
Then?
CAvi = μiAvi 
(Since C = AAT)
Eigen Face – Find Mean Matrix
(Training Samples)
24
What is eigenvector? : http://darkpgmr.tistory.com/105
How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf
Then?
CAvi = μiAvi 
(Since C = AAT)
Now let’s consider Avi = ωi
(Anonymous vector ωi)
Computable constant
CAvi = μiAvi = Cωi = μiωi 	
  
Isn’t	
  it	
  eigenvalue	
  and	
  eigenvector?	
  
Eigen Face – Find Mean Matrix
(Training Samples)
25
Isn’t	
  it	
  eigenvalue	
  and	
  eigenvector?	
  
Therefore,
ωi = ui = Avi
“Which means we can get N2 x N2 matrix’s eigenvector (ui)
with M x M (smaller) matrix’s eigenvector (vi).”
Eigen Face – Find Mean Matrix
(Training Samples)
26
Isn’t	
  it	
  eigenvalue	
  and	
  eigenvector?	
  
Therefore,
ωi = ui = Avi
27
Eigen Face – Find Mean Matrix
(Training Samples)
“When we got an anonymous image, which user select ‘like’label or ‘nope’one.
Then, we can get a K-th dimensional face vector as a sample feature.”
K-Nearest Neighbor Algorithm 
for polarity classification (1 or 0)
•  K-Nearest Neighbor Classification (in short K-NN)
28
“An introduction to kernel and nearest-neighbor
nonparametric regression”
Altman, N. S.

Cornell University

1992, The American Statisticain
K-NN is not K-means
•  K-NN is supervised. We define unknown sample x’s label
from k number of samples’ label (voting). The way we
calculate its distance is smallest Euclidian distance, absolute
difference, maximum distance, and Minkowski distance.
•  K-means is unsupervised. We define k number of points for
initial central cluster position. Iteratively, define smallest
Euclidian distance sample as a nearest cluster’s member.
And re-calculate cluster’s central point based on its cluster
members. (until central point’s coordination stable)
29
클러스터링과 다르다! 클러스터와는
K-NN’s distance example
30Sources from: http://www-01.ibm.com/support/knowledgecenter/SSLVMB_21.0.0/com.ibm.spss.statistics.help/alg_knn.htm?lang=ko
K-NN on TinderBox in practice
31
?
Minkowski distance
•  Similar with Euclidian distance but generalized
distance. (= Manhattan distance)
32
Distance will be
(p is order)
If p reaching infinity, we obtain the Chebyshev distance.
Sources from: http://en.wikipedia.org/wiki/Minkowski_distance
Time to summarize
33
“yes” label
34
Thank you
jaehyunahn@sogang.ac.kr

More Related Content

Viewers also liked

Demonetisation 2016 - Sandeep Jhunjhunwala
Demonetisation 2016 - Sandeep JhunjhunwalaDemonetisation 2016 - Sandeep Jhunjhunwala
Demonetisation 2016 - Sandeep JhunjhunwalaSS Industries
 
Recommendation system
Recommendation system Recommendation system
Recommendation system Vikrant Arya
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (7)

Demonetisation 2016 - Sandeep Jhunjhunwala
Demonetisation 2016 - Sandeep JhunjhunwalaDemonetisation 2016 - Sandeep Jhunjhunwala
Demonetisation 2016 - Sandeep Jhunjhunwala
 
Recommendation system
Recommendation system Recommendation system
Recommendation system
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Personal Matching Recommendation system in TinderBox

Predicting Emotions through Facial Expressions
Predicting Emotions through Facial Expressions  Predicting Emotions through Facial Expressions
Predicting Emotions through Facial Expressions twinkle singh
 
Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Ashwini Awatare
 
Computer Vision image classification
Computer Vision image classificationComputer Vision image classification
Computer Vision image classificationWael Badawy
 
Lecture 6-computer vision features descriptors matching
Lecture 6-computer vision features descriptors matchingLecture 6-computer vision features descriptors matching
Lecture 6-computer vision features descriptors matchingcairo university
 
Image Redundancy and Its Elimination
Image Redundancy and Its EliminationImage Redundancy and Its Elimination
Image Redundancy and Its EliminationIJMERJOURNAL
 
Introduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer VisionIntroduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer VisionAll Things Open
 
Naïve Bayes Classifier Algorithm.pptx
Naïve Bayes Classifier Algorithm.pptxNaïve Bayes Classifier Algorithm.pptx
Naïve Bayes Classifier Algorithm.pptxPriyadharshiniG41
 
Saliency-based Models of Image Content and their Application to Auto-Annotati...
Saliency-based Models of Image Content and their Application to Auto-Annotati...Saliency-based Models of Image Content and their Application to Auto-Annotati...
Saliency-based Models of Image Content and their Application to Auto-Annotati...Jonathon Hare
 
Presentazione tutorial
Presentazione tutorialPresentazione tutorial
Presentazione tutorialdariospin93
 
Computer Vision harris
Computer Vision harrisComputer Vision harris
Computer Vision harrisWael Badawy
 
Introduction to Machine Learning Lecture
Introduction to Machine Learning LectureIntroduction to Machine Learning Lecture
Introduction to Machine Learning LectureVanessa S
 
Joint contrastive learning with infinite possibilities
Joint contrastive learning with infinite possibilitiesJoint contrastive learning with infinite possibilities
Joint contrastive learning with infinite possibilitiestaeseon ryu
 
Machine Learning : why we should know and how it works
Machine Learning : why we should know and how it worksMachine Learning : why we should know and how it works
Machine Learning : why we should know and how it worksKevin Lee
 
Computer Vision - Alignment and Tracking.pptx
Computer Vision - Alignment and Tracking.pptxComputer Vision - Alignment and Tracking.pptx
Computer Vision - Alignment and Tracking.pptxothersk46
 

Similar to Personal Matching Recommendation system in TinderBox (20)

Predicting Emotions through Facial Expressions
Predicting Emotions through Facial Expressions  Predicting Emotions through Facial Expressions
Predicting Emotions through Facial Expressions
 
Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm Face recogntion Using PCA Algorithm
Face recogntion Using PCA Algorithm
 
Recognition
RecognitionRecognition
Recognition
 
Computer Vision image classification
Computer Vision image classificationComputer Vision image classification
Computer Vision image classification
 
Lecture 6-computer vision features descriptors matching
Lecture 6-computer vision features descriptors matchingLecture 6-computer vision features descriptors matching
Lecture 6-computer vision features descriptors matching
 
FaceRecognition.ppt
FaceRecognition.pptFaceRecognition.ppt
FaceRecognition.ppt
 
FaceRecognition.ppt
FaceRecognition.pptFaceRecognition.ppt
FaceRecognition.ppt
 
FaceRecognition.ppt
FaceRecognition.pptFaceRecognition.ppt
FaceRecognition.ppt
 
Image Redundancy and Its Elimination
Image Redundancy and Its EliminationImage Redundancy and Its Elimination
Image Redundancy and Its Elimination
 
Introduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer VisionIntroduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer Vision
 
視訊訊號處理與深度學習應用
視訊訊號處理與深度學習應用視訊訊號處理與深度學習應用
視訊訊號處理與深度學習應用
 
Face recognition
Face recognition Face recognition
Face recognition
 
Naïve Bayes Classifier Algorithm.pptx
Naïve Bayes Classifier Algorithm.pptxNaïve Bayes Classifier Algorithm.pptx
Naïve Bayes Classifier Algorithm.pptx
 
Saliency-based Models of Image Content and their Application to Auto-Annotati...
Saliency-based Models of Image Content and their Application to Auto-Annotati...Saliency-based Models of Image Content and their Application to Auto-Annotati...
Saliency-based Models of Image Content and their Application to Auto-Annotati...
 
Presentazione tutorial
Presentazione tutorialPresentazione tutorial
Presentazione tutorial
 
Computer Vision harris
Computer Vision harrisComputer Vision harris
Computer Vision harris
 
Introduction to Machine Learning Lecture
Introduction to Machine Learning LectureIntroduction to Machine Learning Lecture
Introduction to Machine Learning Lecture
 
Joint contrastive learning with infinite possibilities
Joint contrastive learning with infinite possibilitiesJoint contrastive learning with infinite possibilities
Joint contrastive learning with infinite possibilities
 
Machine Learning : why we should know and how it works
Machine Learning : why we should know and how it worksMachine Learning : why we should know and how it works
Machine Learning : why we should know and how it works
 
Computer Vision - Alignment and Tracking.pptx
Computer Vision - Alignment and Tracking.pptxComputer Vision - Alignment and Tracking.pptx
Computer Vision - Alignment and Tracking.pptx
 

More from Mad Scientists

LSTM 네트워크 이해하기
LSTM 네트워크 이해하기LSTM 네트워크 이해하기
LSTM 네트워크 이해하기Mad Scientists
 
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회Mad Scientists
 
트라우마틱 메모리(Traumatic Memory) 수정사항 발표
트라우마틱 메모리(Traumatic Memory) 수정사항 발표트라우마틱 메모리(Traumatic Memory) 수정사항 발표
트라우마틱 메모리(Traumatic Memory) 수정사항 발표Mad Scientists
 
트라우마틱 메모리(Traumatic Memory) 제작 기획
트라우마틱 메모리(Traumatic Memory) 제작 기획트라우마틱 메모리(Traumatic Memory) 제작 기획
트라우마틱 메모리(Traumatic Memory) 제작 기획Mad Scientists
 
Learning RBM(Restricted Boltzmann Machine in Practice)
Learning RBM(Restricted Boltzmann Machine in Practice)Learning RBM(Restricted Boltzmann Machine in Practice)
Learning RBM(Restricted Boltzmann Machine in Practice)Mad Scientists
 
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정Sampling-Importance-Sampling을 이용한 선수 경기능력 측정
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정Mad Scientists
 
핀테크 기업조사- TransferWise, CurrencyCloud, TOSS
핀테크 기업조사- TransferWise, CurrencyCloud, TOSS핀테크 기업조사- TransferWise, CurrencyCloud, TOSS
핀테크 기업조사- TransferWise, CurrencyCloud, TOSSMad Scientists
 
나를 자극하는 Real world_algorithm (1/2)
나를 자극하는 Real world_algorithm (1/2)나를 자극하는 Real world_algorithm (1/2)
나를 자극하는 Real world_algorithm (1/2)Mad Scientists
 
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...Mad Scientists
 
101: Convolutional Neural Networks
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks Mad Scientists
 
how to visualize: interstellar from example
how to visualize: interstellar from examplehow to visualize: interstellar from example
how to visualize: interstellar from exampleMad Scientists
 
ideas worth spreading: 2015 Club Release Seminar
ideas worth spreading: 2015 Club Release Seminarideas worth spreading: 2015 Club Release Seminar
ideas worth spreading: 2015 Club Release SeminarMad Scientists
 
Relational Mate Value: Consensus and Uniqueness in Romantic Eavaluations
Relational Mate Value: Consensus and Uniqueness in Romantic EavaluationsRelational Mate Value: Consensus and Uniqueness in Romantic Eavaluations
Relational Mate Value: Consensus and Uniqueness in Romantic EavaluationsMad Scientists
 
핀란드, 내가 가보고 느낀 스타트업 생태계
핀란드, 내가 가보고 느낀 스타트업 생태계핀란드, 내가 가보고 느낀 스타트업 생태계
핀란드, 내가 가보고 느낀 스타트업 생태계Mad Scientists
 
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...Mad Scientists
 
Superhero discourse in Americanization
Superhero discourse in AmericanizationSuperhero discourse in Americanization
Superhero discourse in AmericanizationMad Scientists
 
[SW Maestro] Team Loclas 1-2 Final Presentation
[SW Maestro] Team Loclas 1-2 Final Presentation[SW Maestro] Team Loclas 1-2 Final Presentation
[SW Maestro] Team Loclas 1-2 Final PresentationMad Scientists
 
Basic Understanding of the Deep
Basic Understanding of the DeepBasic Understanding of the Deep
Basic Understanding of the DeepMad Scientists
 
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론Mad Scientists
 
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계Mad Scientists
 

More from Mad Scientists (20)

LSTM 네트워크 이해하기
LSTM 네트워크 이해하기LSTM 네트워크 이해하기
LSTM 네트워크 이해하기
 
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회
트라우마틱 메모리(Traumatic Memory) : 리스크리스트 및 작품방향 선회
 
트라우마틱 메모리(Traumatic Memory) 수정사항 발표
트라우마틱 메모리(Traumatic Memory) 수정사항 발표트라우마틱 메모리(Traumatic Memory) 수정사항 발표
트라우마틱 메모리(Traumatic Memory) 수정사항 발표
 
트라우마틱 메모리(Traumatic Memory) 제작 기획
트라우마틱 메모리(Traumatic Memory) 제작 기획트라우마틱 메모리(Traumatic Memory) 제작 기획
트라우마틱 메모리(Traumatic Memory) 제작 기획
 
Learning RBM(Restricted Boltzmann Machine in Practice)
Learning RBM(Restricted Boltzmann Machine in Practice)Learning RBM(Restricted Boltzmann Machine in Practice)
Learning RBM(Restricted Boltzmann Machine in Practice)
 
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정Sampling-Importance-Sampling을 이용한 선수 경기능력 측정
Sampling-Importance-Sampling을 이용한 선수 경기능력 측정
 
핀테크 기업조사- TransferWise, CurrencyCloud, TOSS
핀테크 기업조사- TransferWise, CurrencyCloud, TOSS핀테크 기업조사- TransferWise, CurrencyCloud, TOSS
핀테크 기업조사- TransferWise, CurrencyCloud, TOSS
 
나를 자극하는 Real world_algorithm (1/2)
나를 자극하는 Real world_algorithm (1/2)나를 자극하는 Real world_algorithm (1/2)
나를 자극하는 Real world_algorithm (1/2)
 
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...
Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hier...
 
101: Convolutional Neural Networks
101: Convolutional Neural Networks 101: Convolutional Neural Networks
101: Convolutional Neural Networks
 
how to visualize: interstellar from example
how to visualize: interstellar from examplehow to visualize: interstellar from example
how to visualize: interstellar from example
 
ideas worth spreading: 2015 Club Release Seminar
ideas worth spreading: 2015 Club Release Seminarideas worth spreading: 2015 Club Release Seminar
ideas worth spreading: 2015 Club Release Seminar
 
Relational Mate Value: Consensus and Uniqueness in Romantic Eavaluations
Relational Mate Value: Consensus and Uniqueness in Romantic EavaluationsRelational Mate Value: Consensus and Uniqueness in Romantic Eavaluations
Relational Mate Value: Consensus and Uniqueness in Romantic Eavaluations
 
핀란드, 내가 가보고 느낀 스타트업 생태계
핀란드, 내가 가보고 느낀 스타트업 생태계핀란드, 내가 가보고 느낀 스타트업 생태계
핀란드, 내가 가보고 느낀 스타트업 생태계
 
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...
Face Feature Recognition System with Deep Belief Networks, for Korean/KIISE T...
 
Superhero discourse in Americanization
Superhero discourse in AmericanizationSuperhero discourse in Americanization
Superhero discourse in Americanization
 
[SW Maestro] Team Loclas 1-2 Final Presentation
[SW Maestro] Team Loclas 1-2 Final Presentation[SW Maestro] Team Loclas 1-2 Final Presentation
[SW Maestro] Team Loclas 1-2 Final Presentation
 
Basic Understanding of the Deep
Basic Understanding of the DeepBasic Understanding of the Deep
Basic Understanding of the Deep
 
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론
문화연구입문 발표자료, <현대캐피탈>광고 분석 및 담론
 
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계
러셀과 데카르트 탈 구조주의와 컴퓨터공학의 관계
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 

Personal Matching Recommendation system in TinderBox

  • 1. Personal matching recommendation system in TinderBox Sogang University Data Mining Laboratory Jaehyun Ahn Feb. 26. 2015
  • 2. Overview •  We will cover Viola Jones Face Detection Algorithm •  Eigen Face Detection Algorithm and PCA(Principal Component Analysis) •  K-Nearest Neighbor Classification Algorithm http://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm 2
  • 3. Overview 2 •  What is the TinderBox? 3 TinderBox is Tinder based application!
  • 4. Then, what is the Tinder? •  Very simple, very compressed dating system 4 Tinder is a social dating application
  • 5. However, Tinder not just a social dating app 5
  • 6. Recommendation Process – Collecting Samples 6
  • 7. 7 Recommendation Process – Collecting Samples
  • 8. Recommendation Process – Collecting Samples 8
  • 9. Find the suitable model for next recommendation 9
  • 11. How would it be possible? •  Viola Jones – Face Detection •  Eigen Face – Project Image to Vector Matrix •  K-Nearest Neighbor – Recommendation Algorithm 11
  • 12. Viola Jones Face Detection Algorithm “Robust Real-Time Face Detection” Paul Viola Microsoft Research Michel J. Jones Mitsubishi Lab 2001 “Training is slow, but detection is very fast” 12
  • 13. Viola Jones Face Detection Algorithm •  Use Rectangle filter 13 f(x): sum of rectangle (also called ‘integral image’) x: pixel rate (usually 0 ~ 255 value, gray scale) ϑ: threshold (constant) α: usually 1 β: usually 0 (polarity) t: t-th classifier index i: index of pixel
  • 14. Viola Jones Face Detection Algorithm •  Define ‘one’ classifier will be.. 14 Variety of ht(x)s’ h(x): 0 – 1 polarity function b: bias ϑ: classifier weight t: t-th classifier index
  • 15. Viola Jones Face Detection Algorithm •  Boosting Correctness with Cascaded Classifier •  In TinderBox, they use this algorithm for cropping face 15 “Training is slow, but detection is very fast” usually saved ‘. xml’constant file
  • 16. Eigen Face – Convert Images to Vectors 16 “Face Recognition Using EigenFaces” Mattew A. Turk / Alex P. Pentland Vision and Modeling Group, The Media Laboratory Massachusetts Institute of Technology 1991, IEEE
  • 17. Eigen Face – Convert Images to Vectors •  Basic Idea 17 Face Recognition is a simple matching problem But N x N dimensional space is so high Let’s mapping N x N matrix into a lower-dimensionality space How can we find a suitable lower-dimensional space? “Maybe PCA will be a great solution” Principal Component Analysis
  • 18. Eigen Face – Image Matrix (Training Samples) •  Consider about N x K size of image, Eigen Face converts it into gray scale image. Thus, N x K matrix’s values will be 0 ~ 255 range. 18 0 ~ 255 value I’m watching you
  • 19. Eigen Face – Find Mean Matrix (Training Samples) 19 To find central vectors from sample images, we sum up all of sample images with pixel by pixel and divide it into M. (# of samples) Why? That makes possible to construct Covariance Matrix to apply PCA dimensional reduction. Average Face Vector: Ψ i-th Image vector: Γi
  • 20. Eigen Face – Find Mean Matrix (Training Samples) 20 Average Face Vector: Ψ i-th Image vector: Γi Now move its’ derivation into origin space ϕi = Γi - Ψ Now let’s find covariance matrix C
  • 21. Eigen Face – Find Mean Matrix (Training Samples) 21 Now let’s find covariance matrix C We have to find eigenvectors of ui for projection. However, AAT (N2 x N2) Matrix is too large! # of training sets Don’t give up! Let’s consider about ATA’s eigenvector vi (M x 1 matrix) Computable constant What is eigenvector? : http://darkpgmr.tistory.com/105 How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf    Because of eigenvector’s meaning!
  • 22. Eigen Face – Find Mean Matrix (Training Samples) 22 Don’t give up! Let’s consider about ATA’s eigenvector vi (M x 1 matrix) Computable constant What is eigenvector? : http://darkpgmr.tistory.com/105 How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf Then? CAvi = μiAvi (Since C = AAT) Singular Value Decomposition
  • 23. Eigen Face – Find Mean Matrix (Training Samples) 23 Don’t give up! Let’s consider about ATA’s eigenvector vi (M x M matrix) Computable constant What is eigenvector? : http://darkpgmr.tistory.com/105 How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf Then? CAvi = μiAvi (Since C = AAT)
  • 24. Eigen Face – Find Mean Matrix (Training Samples) 24 What is eigenvector? : http://darkpgmr.tistory.com/105 How to compute? : http://www.vision.jhu.edu/teaching/vision08/Handouts/case_study_pca1.pdf Then? CAvi = μiAvi (Since C = AAT) Now let’s consider Avi = ωi (Anonymous vector ωi) Computable constant CAvi = μiAvi = Cωi = μiωi   Isn’t  it  eigenvalue  and  eigenvector?  
  • 25. Eigen Face – Find Mean Matrix (Training Samples) 25 Isn’t  it  eigenvalue  and  eigenvector?   Therefore, ωi = ui = Avi “Which means we can get N2 x N2 matrix’s eigenvector (ui) with M x M (smaller) matrix’s eigenvector (vi).”
  • 26. Eigen Face – Find Mean Matrix (Training Samples) 26 Isn’t  it  eigenvalue  and  eigenvector?   Therefore, ωi = ui = Avi
  • 27. 27 Eigen Face – Find Mean Matrix (Training Samples) “When we got an anonymous image, which user select ‘like’label or ‘nope’one. Then, we can get a K-th dimensional face vector as a sample feature.”
  • 28. K-Nearest Neighbor Algorithm for polarity classification (1 or 0) •  K-Nearest Neighbor Classification (in short K-NN) 28 “An introduction to kernel and nearest-neighbor nonparametric regression” Altman, N. S. Cornell University 1992, The American Statisticain
  • 29. K-NN is not K-means •  K-NN is supervised. We define unknown sample x’s label from k number of samples’ label (voting). The way we calculate its distance is smallest Euclidian distance, absolute difference, maximum distance, and Minkowski distance. •  K-means is unsupervised. We define k number of points for initial central cluster position. Iteratively, define smallest Euclidian distance sample as a nearest cluster’s member. And re-calculate cluster’s central point based on its cluster members. (until central point’s coordination stable) 29 클러스터링과 다르다! 클러스터와는
  • 30. K-NN’s distance example 30Sources from: http://www-01.ibm.com/support/knowledgecenter/SSLVMB_21.0.0/com.ibm.spss.statistics.help/alg_knn.htm?lang=ko
  • 31. K-NN on TinderBox in practice 31 ?
  • 32. Minkowski distance •  Similar with Euclidian distance but generalized distance. (= Manhattan distance) 32 Distance will be (p is order) If p reaching infinity, we obtain the Chebyshev distance. Sources from: http://en.wikipedia.org/wiki/Minkowski_distance