SlideShare a Scribd company logo
1 of 32
Download to read offline
QUADRATIC PROGRAMMING SOLVER FOR
NON-NEGATIVE MATRIX FACTORIZATION
WITH SPARK
DebasishDas  SantanuDas
debasish.das@verizon.com  santanu.das@verizon.com
BigDataAnalytics
Verizon
ROADMAP
Some overview on Matrix Factorization
QP formulation of Non-negative Matrix Factorization (NMF)
Algorithms to solve quadratic programming problems
ROADMAP
Some overview on Matrix Factorization
QP formulation of Non-negative Matrix Factorization (NMF)
Algorithms to solve quadratic programming problems
Some QP Applications (on MovieLens data)
unconstrained
linear constrained
Results & Discussions
MATRIX FACTORIZATION
What is it- To decompose observed data (R rating matrix):
User factors matrix ( )
Movie factor matrix ( )
H
W
Solve for &W H
D(R|W, H) = ||R − WH| +
1
2
|
2
F
||W|| + ||W| + |H||| + ||H|αl1w αl2w |
2
F
λl1h λl2h |
2
F
REGULARIZED ALTERNATING LEAST SQUARE (RALS)
Fixed-point RALS Algorithm: Equating gradient to zero, obtain
iterative update scheme of ,
estimate , given (innerloop:tolerancebasedsolutionsareprovided)
enforce positivity (NMF)
REPEAT until convergence (outerloop:factormatricesareupdateduntilconvergence)
Current effort aims to introduce exibility to impose additional
constraints (e.g. bounds on variables, sparsity, etc.)
W H
H W
NMF - ESSENTIALLY CLUSTERING
Solve independent problems:
Aggregated solutions:
Our contribution: given , we compute cluster possibilities ( )
using a QP solver in Spark Mllib. (Note:Thisisinnerloop)
D(R|W, H) = || − W |
1
2
∑n
i=1
ri hi |
2
2
n
mi || − W |n ≥0hi
1
2
ri hi |
2
2
H = [ , , , … ]h1 h2 h3 hn
W H
QP TO ADMM/SOCP
ADMM : solves by decomposing a hard problem into simpler
yet efficiently solvable sub-problems and let them achieve
consensus.
QP TO ADMM/SOCP
ADMM : solves by decomposing a hard problem into simpler
yet efficiently solvable sub-problems and let them achieve
consensus.
ECOS: solves a speci c class of problems that can be
formulated as a second-order cone program (SOCP) using
primal-dual interior-point method.
QP TO ADMM/SOCP
Use: Our priliminary investigation shows that ADMM solves
certain class of problems (e.g. bounds, l1 minimization) much
faster than ECOS while the later proves effective in handling
relatively complicated constraints (e.g. equality constraints).
QP: ADMM FORMULATION
Objective
Constraints
ADMM formulation
ADMM Steps
f (h) : 0.5||r − Wh| => 0.5 (W )h − ( W)h|
2
2
h
T
W
T
r
T
g(z) : z >= 0
f (h) + g(z)
s.t h = z
= argmi f (h + 0.5 × ρ||h − + | )h
k+1
nh z
k
u
k
|
2
2
= + s.t  ∈ g(z)z
k+1
h
k+1
u
k
z
k+1
= + −u
k+1
u
k
hk+1 zk+1
QP: ADMM IMPLEMENTATION(I)
classDirectQpSolver(nGram:Int,
lb:Option[DoubleMatrix]=None,ub:Option[DoubleMatrix]=None,
Aeq:Option[DoubleMatrix]=None,
alpha:Double=0.0,rho:Double=0.0,
addEqualityToGram:Boolean=false)={
defsolve(H:DoubleMatrix,q:DoubleMatrix,
beq:Option[DoubleMatrix]=None):DoubleMatrix={
wsH=H+rho*I
solve(q,beq)
}
defsolve(q:DoubleMatrix,beq:Option[DoubleMatrix]):DoubleMatrix={
//Densecholeskyfactorization
valR=Decompose.cholesky(wsH)
ADMM(R)
}
QP : ADMM IMPLEMENTATION(II)
defADMM(R:DoubleMatrix):DoubleMatrix={
rho=1.0
alpha=1.0
while(k≤MAX_ITERS){
scale=rho*(z-u)-q
//x=R(R'scale)
solveTriangular(R,scale)
//z-updatewithrelaxation
zold=(1-alpha)*z
x_hat=alpha*x+zold
z=xHat+u
Proximal(z)
if(converged(x,z,u))returnx
k=k+1
}
}
QP: SOCP FORMULATION
Objective transformation
Constraints
Quadratic constraint transformation
minimize t
 s.t 0.5 (W )h − ( W)h ≤ th
T
W
T
r
T
h >= 0
Aeq × h = Beq
A × h ≤ B
≤ d
∣
∣
∣
hQchol
c
∣
∣
∣
QP: SOCP IMPLEMENTATION
classQpSolver(nGram:Int,nLinear:Int=0,diagonal:Boolean=false,
Equalities:Option[CSCMatrix[Double]]=None,
Inequalities:Option[CSCMatrix[Double]]=None,
lbFlag:Boolean=false,ubFlag:Boolean=false)={
NativeECOS.loadLibraryAndCheckErrors()
defsolve(H:DoubleMatrix,f:Array[Double]):(Int,Array[Double])={
updateHessian(H)
updateLinearObjective(f)
valstatus=NativeECOS.solveSocp(c,G,h,Aeq,beq,linear,cones,x)
(status,x.slice(0,n))
}
}
USE CASE: POSITIVITY
Application: Image feature extraction / energy spectrum where
negative coef cients or factors are counter intuitive
A test to compute Negative Coef cients (< -1e-4) & RMSE
OCTAVE ALS ECOS ADMM
Negative Coef cients: 0 2 0 1
RMSE: N.A. 2.3e-2 3e-4 2.7e-4
USE CASE: POSITIVITY
//SparkDriver
vallb=DoubleMatrix.zeros(rank,1)
valub=DoubleMatrix.zeros(rank,1).addi(1.0)
valdirectQpSolver=newDirectQpSolver(rank,Some(lb),Some(ub)).setProximal(ProjectBox)
valfactors=Array.range(0,numUsers).map{index=>
//ComputethefullXtXmatrixfromthelower-triangularpartwegotabove
fillFullMatrix(userXtX(index),fullXtX)
valH=fullXtX.add(YtY.get.value)
valf=userXy(index).mul(-1)
valdirectQpResult=directQpSolver.solve(H,f)
directQpResult
}
USE CASE: POSITIVITY
//DirectQpSolverProjectionOperator
defprojectBox(z:Array[Double],l:Array[Double],u:Array[Double]){
for(i<-0untilz.length)z.update(i,max(l(i),min(x(i),u(i))))
}
USE CASE: SPARSITY
Application: signal recovery problems in which the original signal
is known to have a sparse representation
A test to compute Non-Sparse Coef cients (> 1e-4) & RMSE
OCTAVE ALS ECOS ADMM
Non-Sparse Coef cients: 16 20 18 18
RMSE: N.A. 9e-2 2e-2 2e-2
USE CASE: SPARSITY
//SparkDriver
valdirectQpSolverL1=newDirectQpSolver(rank).setProximal(ProximalL1)
directQpSolverL1.setLambda(lambdaL1)
valfactors=Array.range(0,numUsers).map{index=>
//ComputethefullXtXmatrixfromthelower-triangularpartwegotabove
fillFullMatrix(userXtX(index),fullXtX)
valH=fullXtX.add(YtY.get.value)
valf=userXy(index).mul(-1)
valdirectQpL1Result=directQpSolverL1.solve(H,f)
directQpL1Result
}
USE CASE: SPARSITY
//DirectQpSolverProximalOperator
defproximalL1(z:Array[Double],scale:Double){
for(i<-0untilz.length)
z.update(i,max(0,z(i)-scale)-max(0,-z(i)-scale))
}
USE CASE: EQUALITY WITH BOUND
Application: Support Vector Machines based models with sparse
weight representation or portfolio optimization
A test to compute Sum, Non-Sparse Coef cients (> 1e-4) &
RMSE
OCTAVE ALS ECOS ADMM
Sum of Coef cients: 1 - 0.99 1
Non-Sparse Coef cients: 4 - 4 4
RMSE: N.A. 1.1 2e-4 5.5e-5
USE CASE: EQUALITY WITH BOUNDS
//Equalityconstraintx1+x2+...+xr=1
//Boundconstraintis0≤x≤1
valequalityBuilder=newCSCMatrix.Builder[Double](1,rank)
for(i<-untilrank)equalityBuilder.add(0,i,1)
valqpSolverEquality=
newQpSolver(rank,0,false,
Some(equalityBuilder.result),None,true,true)
qpSolverEquality.updateUb(Array.fill[Double](rank)(1.0))
qpSolverEquality.updateEquality(Array[Double](1.0))
USE CASE: EQUALITY WITH BOUNDS
valfactors=Array.range(0,numUsers).map{index=>
fillFullMatrix(userXtX(index),fullXtX)
valH=fullXtX.add(YtY.get.value)
valf=userXy(index).mul(-1)
valqpEqualityResult=qpSolverEquality.solve(H,f)
qpEqualityResult
}
RUNTIME EXPERIMENTS (IN MS)
Dataset:Movielens1Mratingsfrom6040userson3706movies
Examplerun
MASTER=local[1]run-examplemllib.MovieLensALS--rank25--numIterations1--kryo--qpProblem1
ratings.dat
Algorithmsvariants
QuadraticMinimization(QP),withPositivity(QpPos),bounds(QpBounds),Sparsity(QpL1),Equalityand
Bounds(QpEquality)
1 ALS iteration: (userUpdate) + (movieUpdate)
LS ECOS ADMM
Qp (30)+(57) (3826)+(6943) (99)+(143)
QpPos (98)+(320) (6288)+(11975) (265) + (2135)
QpBounds (39)+(55) (6709)+(11951) (1556)+(1329)
QpL1 (54)+(80) (32171)+(58766) (352)+(1593)
QpEquality (63)+(133) (5231)+(7912) (14681)+(65893)
QP : DEFAULT ADMM
defADMM(R:DoubleMatrix):DoubleMatrix={
rho=1.0
alpha=1.0
while(k≤MAX_ITERS){
scale=rho*(z-u)-q
//x=R(R'scale)
solveTriangular(R,scale)
//z-updatewithrelaxation
zold=(1-alpha)*z
x_hat=alpha*x+zold
z=xHat+u
Proximal(z)
if(converged(x,z,u))returnx
k=k+1
}
}
PROXIMAL ALGORITHMS
Positivity
L1 regularization
Equality constraint with positivity
QP: ACCELERATED ADMM
defADMM(R:DoubleMatrix):DoubleMatrix={
rho=1.0
alpha=1.0
while(k≤MAX_ITERS){
zold=z
uold=u
alphaOld=alpha
scale=rho*(z-u)-q
//x=R(R'scale)
solveTriangular(R,scale)
//z-updatewithoutrelaxation
z=x+u
Proximal(z)
updateRho(x,z,u)
if(converged(x,z,u))returnx
k=k+1
//Nesterov'sacceleration
QP: ACCELERATED ADMM MATLAB VALIDATION
Comparison of ECOS, MOSEK, ADMM and Accelerated ADMM
for Matlab random matrices
USECASES
QpSolver-Spark for unguided pro le generation
QpSolver-Spark for topic modeling
Constrained Convex Minimizer: PLSA/LDA
FUTURE WORK
Release QpSolver-Spark after rigorous testing
Runtime optimizations for QpSolver-Spark integration
Release ECOS based LP and SOCP solvers based on
community feedback
Iterative Quadratic Minimizer with ADMM
Constrained Convex Minimizer with ADMM
QUESTIONS
JOIN US AND MAKE MACHINES SMARTER
References
ECOS by Domahidi et al. https://github.com/ifa-ethz/ecos
ADMM by Boyd et al.
http://web.stanford.edu/~boyd/papers/admm/
Proximal Algorithms by Neal Parikh and Professor Boyd

More Related Content

What's hot

ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012László Nádai
 
Arima model (time series)
Arima model (time series)Arima model (time series)
Arima model (time series)Kumar P
 
Gradient descent optimizer
Gradient descent optimizerGradient descent optimizer
Gradient descent optimizerHojin Yang
 
Parallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsParallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsJonny Daenen
 
A note on word embedding
A note on word embeddingA note on word embedding
A note on word embeddingKhang Pham
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep LearningSebastian Ruder
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkDB Tsai
 
Sep logic slide
Sep logic slideSep logic slide
Sep logic sliderainoftime
 
Time series modelling arima-arch
Time series modelling  arima-archTime series modelling  arima-arch
Time series modelling arima-archjeevan solaskar
 
SPICE-MATEX @ DAC15
SPICE-MATEX @ DAC15SPICE-MATEX @ DAC15
SPICE-MATEX @ DAC15Hao Zhuang
 
Lecture note4coordinatedescent
Lecture note4coordinatedescentLecture note4coordinatedescent
Lecture note4coordinatedescentXudong Sun
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization TechniquesAjay Bidyarthy
 
Aaex7 group2(中英夾雜)
Aaex7 group2(中英夾雜)Aaex7 group2(中英夾雜)
Aaex7 group2(中英夾雜)Shiang-Yun Yang
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesPolytechnique Montréal
 

What's hot (19)

ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012
 
Arima model (time series)
Arima model (time series)Arima model (time series)
Arima model (time series)
 
Gradient descent optimizer
Gradient descent optimizerGradient descent optimizer
Gradient descent optimizer
 
Parallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-JoinsParallel Evaluation of Multi-Semi-Joins
Parallel Evaluation of Multi-Semi-Joins
 
A note on word embedding
A note on word embeddingA note on word embedding
A note on word embedding
 
Spectral factorization
Spectral factorizationSpectral factorization
Spectral factorization
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep Learning
 
Distributed ADMM
Distributed ADMMDistributed ADMM
Distributed ADMM
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 
MPC
MPCMPC
MPC
 
Sep logic slide
Sep logic slideSep logic slide
Sep logic slide
 
Time series modelling arima-arch
Time series modelling  arima-archTime series modelling  arima-arch
Time series modelling arima-arch
 
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
 
SPICE-MATEX @ DAC15
SPICE-MATEX @ DAC15SPICE-MATEX @ DAC15
SPICE-MATEX @ DAC15
 
Lecture note4coordinatedescent
Lecture note4coordinatedescentLecture note4coordinatedescent
Lecture note4coordinatedescent
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization Techniques
 
Aaex7 group2(中英夾雜)
Aaex7 group2(中英夾雜)Aaex7 group2(中英夾雜)
Aaex7 group2(中英夾雜)
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processes
 
AbdoSummerANS_mod3
AbdoSummerANS_mod3AbdoSummerANS_mod3
AbdoSummerANS_mod3
 

Similar to Spark summit talk, july 2014 powered by reveal

Executability Analysis of Graph Transformation Rules (VL/HCC 2011)
Executability Analysis of Graph Transformation Rules (VL/HCC 2011)Executability Analysis of Graph Transformation Rules (VL/HCC 2011)
Executability Analysis of Graph Transformation Rules (VL/HCC 2011)Elena Planas
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxmydrynan
 
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)Craig Chao
 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdfAnaNeacsu5
 
Design and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation AlgorithmsDesign and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation AlgorithmsAjay Bidyarthy
 
4 R Tutorial DPLYR Apply Function
4 R Tutorial DPLYR Apply Function4 R Tutorial DPLYR Apply Function
4 R Tutorial DPLYR Apply FunctionSakthi Dasans
 
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...SSA KPI
 
Linear models
Linear modelsLinear models
Linear modelsFAO
 
Programacion Cuadratica
Programacion CuadraticaProgramacion Cuadratica
Programacion Cuadraticapaquitootd
 
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...Databricks
 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming languageLincoln Hannah
 
TMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light SystemTMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light SystemIosif Itkin
 
R/Finance 2009 Chicago
R/Finance 2009 ChicagoR/Finance 2009 Chicago
R/Finance 2009 Chicagogyollin
 
A hybrid sine cosine optimization algorithm for solving global optimization p...
A hybrid sine cosine optimization algorithm for solving global optimization p...A hybrid sine cosine optimization algorithm for solving global optimization p...
A hybrid sine cosine optimization algorithm for solving global optimization p...Aboul Ella Hassanien
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technicalalpinedatalabs
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral ResearchPo-Ting Wu
 
Q-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeQ-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeMagdi Mohamed
 

Similar to Spark summit talk, july 2014 powered by reveal (20)

Quiz
QuizQuiz
Quiz
 
Executability Analysis of Graph Transformation Rules (VL/HCC 2011)
Executability Analysis of Graph Transformation Rules (VL/HCC 2011)Executability Analysis of Graph Transformation Rules (VL/HCC 2011)
Executability Analysis of Graph Transformation Rules (VL/HCC 2011)
 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
 
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdf
 
Design and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation AlgorithmsDesign and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation Algorithms
 
12. Linear models
12. Linear models12. Linear models
12. Linear models
 
4 R Tutorial DPLYR Apply Function
4 R Tutorial DPLYR Apply Function4 R Tutorial DPLYR Apply Function
4 R Tutorial DPLYR Apply Function
 
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...
Efficient Solution of Two-Stage Stochastic Linear Programs Using Interior Poi...
 
Linear models
Linear modelsLinear models
Linear models
 
Programacion Cuadratica
Programacion CuadraticaProgramacion Cuadratica
Programacion Cuadratica
 
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...
ADMM-Based Scalable Machine Learning on Apache Spark with Sauptik Dhar and Mo...
 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming language
 
TMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light SystemTMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light System
 
R/Finance 2009 Chicago
R/Finance 2009 ChicagoR/Finance 2009 Chicago
R/Finance 2009 Chicago
 
A hybrid sine cosine optimization algorithm for solving global optimization p...
A hybrid sine cosine optimization algorithm for solving global optimization p...A hybrid sine cosine optimization algorithm for solving global optimization p...
A hybrid sine cosine optimization algorithm for solving global optimization p...
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral Research
 
Q-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeQ-Metrics in Theory and Practice
Q-Metrics in Theory and Practice
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Recently uploaded (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Spark summit talk, july 2014 powered by reveal