biostatistics 615 815 lecture 13
play

Biostatistics 615/815 Lecture 13: . Programming with Matrix Hyun - PowerPoint PPT Presentation

. . . . . . . . Biostatistics 615/815 Lecture 13: . Programming with Matrix Hyun Min Kang February 17th, 2011 Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 Summary Least square . Introduction . . . . .


  1. . . . . . . . . Biostatistics 615/815 Lecture 13: . Programming with Matrix Hyun Min Kang February 17th, 2011 Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 Summary Least square . Introduction . . . . . . . . . . . Power Matrix Matrix Computation Linear System 1 / 28 . . . . . . . . . . . . . . . . . . .

  2. . . . . . library, you can ask for another extension . Homework #4 . . . . . . . . Homework 4 is out Floyd-Warshall algorithm Note that some key information was not covered in the class. Fair/biased coint HMM Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 . . . . . . . . . . . . . . . Introduction Power Matrix Matrix Computation 2 / 28 Linear System Least square . Summary Annoucements . Homework #3 . . . . . . . . . . . . . . . . . . . . • Homework 3 is due today • If you’re using Visual C++ and still have problems in using boost

  3. . . . . . . . library, you can ask for another extension . Homework #4 . . . . . . . . Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 . . . Matrix Computation . . . . . . . . . . . Introduction Power Homework #3 Matrix 2 / 28 Least square . Annoucements Summary Linear System . . . . . . . . . . . . . . . . . . . . • Homework 3 is due today • If you’re using Visual C++ and still have problems in using boost • Homework 4 is out • Floyd-Warshall algorithm • Note that some key information was not covered in the class. • Fair/biased coint HMM

  4. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang Last lecture - Conditional independence in graphical models Summary . Least square Linear System . Matrix . . . . . . . . . . . 3 / 28 Power Introduction . . . . . . . . . . . . . . . . . . . '()!+ " !" '()#*!+ " #" '()$*#+ " '()&*#+ " '()%*#+ " $" %" &" • Pr ( A , C , D , E | B ) = Pr ( A | B ) Pr ( C | B ) Pr ( D | B ) Pr ( E | B )

  5. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang dependency), A is independent of all the other nodes. Markov Blanket Summary . Least square Linear System . 4 / 28 Matrix Power Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • If conditioned on the variables in the gray area (variables with direct • A ⊥ ( U − A − π A ) | π A

  6. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang . Hidden Markov Models Summary . Least square Linear System 5 / 28 . . Matrix . Power Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . !" ()*# " # $ # % # & # - $"# - %$# !" - &/&0"1# ! "# ! $# ! %# ! &# +,-,*+# 3 !" /' " 1 # 3 !$ /' $ 1 # 3 !% /' % 1 # 3 !& /' & 1 # !" ' "# ' $# ' %# ' &# .-,-# 2 #

  7. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang . Conditional dependency in forward-backward algorithms Summary . Least square Linear System 6 / 28 Matrix Power Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • Forward : ( q t , o t ) ⊥ o − t | q t − 1 . • Backward : o t +1 ⊥ o + t +1 | q t +1 . !" !" "#$ % " % "&$ % !" !" ! "#$% ! "% ! "&$% !" !" ' "#$% ' "% ' "&$%

  8. . . February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang Viterbi algorithm - example Summary . Least square Linear System Matrix Computation Matrix Power Introduction . . . . . . . . . . . 7 / 28 . . . . . . . . . . . . . . . . . . . • When observations were (walk, shop, clean) • Similar to Dijkstra’s or Manhattan tourist algorithm

  9. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang Today’s lecture Summary . Least square Linear System . 8 / 28 . . Power . Introduction . . . . . . . Matrix . . . . . . . . . . . . . . . . . . . . • Calculating Power • Linear algebra 101 • Using Eigen library for linear algebra • Implementing a simple linear regression

  10. . . . . . . . . . . . . . . . . . Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 . . Problem Matrix Computation . . . . . . . . . . . Introduction . Matrix Power 9 / 28 . Linear System Least square Calculating power Summary . . . . . . . . . . . . . . . . . . . • Computing a n , where a ∈ R and n ∈ N . • How many multiplications would be needed? Function slowPower() double slowPower(double a, int n) { double x = a; for(int i=1; i < n; ++i) { x *= a; } return x; }

  11. . . February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang . . . . . . . . . More efficient computation of power Summary . Least square Power . . . . . . . . . . . Introduction 10 / 28 Linear System Matrix Matrix Computation . . . . . . . . . . . . . . . . . . . Function fastPower() double fastPower(double a, int n) { if ( n == 1 ) { return a; } else { double x = fastPower(a,n/2); if ( n % 2 == 0 ) { return x * x; } else { return x * x * a; } } }

  12. . . . . . . . . . Running examples . . . . . . . . Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 . . 11 / 28 . . Matrix Power Introduction . . . . . . . . . . Linear System Least square . Summary Computational time Matrix Computation . . . . . . . . . . . . . . . . . . . main() int main(int argc, char** argv) { double a = 1.0000001; int n = 1000000000; clock_t t1 = clock(); double x = slowPower(a,n); clock_t t2 = clock(); double y = fastPower(a,n); clock_t t3 = clock(); std::cout << "slowPower ans = " << x << ", sec = " << (double)(t2-t1)/CLOCKS_PER_SEC << std::endl; std::cout << "fastPower ans = " << y << ", sec = " << (double)(t3-t2)/CLOCKS_PER_SEC << std::endl; } slowPower ans = 2.6881e+43, sec = 1.88659 fastPower ans = 2.6881e+43, sec = 3e-06

  13. . Matrix Computation February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang computation could change by clever algorithms Summary . Least square Linear System . 12 / 28 . Power . Introduction . . . . . . . Matrix . . . . . . . . . . . . . . . . . . . . . Summary - fastPower() • Θ( log n ) complexity compared to Θ( n ) complexity of slowPower() • Similar to binary search vs linear search • Good example to illustrate how the efficiency of numerical

  14. . . . Why Matrix matters? . . . . . Summary . . a statistical method the efficiency by orders of magnitude Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 Programming with Matrix . . Introduction . . . . . . . . . . . Least square 13 / 28 Power Matrix Matrix Computation Linear System . . . . . . . . . . . . . . . . . . . • Many statistical models can be well represented as matrix operations • Linear regression • Logistic regression • Mixed models • Efficient matrix computation can make difference in the practicality of • Understanding C++ implementation of matrix operation can expedite

  15. boost supports C++ interface for BLAS Using a third-party library, Eigen package Using BLAS/LAPACK library Low-level Fortran/C API ATLAS implementation for gcc, MKL library for intel compiler (with multithread support) Used in many statistical packages including R Not user-friendly interface use. . Summary A convenient C++ interface Reasonably fast performance Supports most functions BLAS/LAPACK provides Hyun Min Kang Biostatistics 615/815 - Lecture 13 February 17th, 2011 . Ways to Matrix programmming . Least square . . . . . . . . . . . Introduction Power Matrix Matrix Computation Linear System 14 / 28 . . . . . . . . . . . . . . . . . . . • Implementing Matrix libraries on your own • Implementation can well fit to specific need • Need to pay for implementation overhead • Computational efficiency may not be excellent for large matrices

  16. Using a third-party library, Eigen package . Linear System February 17th, 2011 Biostatistics 615/815 - Lecture 13 Hyun Min Kang Supports most functions BLAS/LAPACK provides Reasonably fast performance A convenient C++ interface multithread support) . Summary . Least square Ways to Matrix programmming 14 / 28 Power Matrix Computation Matrix . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . • Implementing Matrix libraries on your own • Implementation can well fit to specific need • Need to pay for implementation overhead • Computational efficiency may not be excellent for large matrices • Using BLAS/LAPACK library • Low-level Fortran/C API • ATLAS implementation for gcc, MKL library for intel compiler (with • Used in many statistical packages including R • Not user-friendly interface use. • boost supports C++ interface for BLAS

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend