{"id":255615,"date":"2016-06-25T03:04:54","date_gmt":"2016-06-25T10:04:54","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&#038;p=255615"},"modified":"2018-10-16T20:20:14","modified_gmt":"2018-10-17T03:20:14","slug":"streaming-pca-matching-matrix-bernstein-near-optimal-finite-sample-guarantees-ojas-algorithm","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/streaming-pca-matching-matrix-bernstein-near-optimal-finite-sample-guarantees-ojas-algorithm\/","title":{"rendered":"Streaming PCA: Matching Matrix Bernstein and Near-Optimal Finite Sample Guarantees for Oja&#8217;s Algorithm"},"content":{"rendered":"<blockquote class=\"abstract mathjax\"><p>This work provides improved guarantees for streaming principle component analysis (PCA). Given <span id=\"MathJax-Element-1-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-1\" class=\"math\"><span id=\"MathJax-Span-2\" class=\"mrow\"><span id=\"MathJax-Span-3\" class=\"msubsup\"><span id=\"MathJax-Span-4\" class=\"mi\">A<\/span><span id=\"MathJax-Span-5\" class=\"mn\">1<\/span><\/span><span id=\"MathJax-Span-6\" class=\"mo\">,<\/span><span id=\"MathJax-Span-7\" class=\"mo\">\u2026<\/span><span id=\"MathJax-Span-8\" class=\"mo\">,<\/span><span id=\"MathJax-Span-9\" class=\"msubsup\"><span id=\"MathJax-Span-10\" class=\"mi\">A<\/span><span id=\"MathJax-Span-11\" class=\"mi\">n<\/span><\/span><span id=\"MathJax-Span-12\" class=\"mo\">\u2208<\/span><span id=\"MathJax-Span-13\" class=\"msubsup\"><span id=\"MathJax-Span-14\" class=\"texatom\"><span id=\"MathJax-Span-15\" class=\"mrow\"><span id=\"MathJax-Span-16\" class=\"mi\">R<\/span><\/span><\/span><span id=\"MathJax-Span-17\" class=\"texatom\"><span id=\"MathJax-Span-18\" class=\"mrow\"><span id=\"MathJax-Span-19\" class=\"mi\">d<\/span><span id=\"MathJax-Span-20\" class=\"mo\">\u00d7<\/span><span id=\"MathJax-Span-21\" class=\"mi\">d<\/span><\/span><\/span><\/span><\/span><\/span><\/span> sampled independently from distributions satisfying <span id=\"MathJax-Element-2-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-22\" class=\"math\"><span id=\"MathJax-Span-23\" class=\"mrow\"><span id=\"MathJax-Span-24\" class=\"texatom\"><span id=\"MathJax-Span-25\" class=\"mrow\"><span id=\"MathJax-Span-26\" class=\"mi\">E<\/span><\/span><\/span><span id=\"MathJax-Span-27\" class=\"mo\">[<\/span><span id=\"MathJax-Span-28\" class=\"msubsup\"><span id=\"MathJax-Span-29\" class=\"mi\">A<\/span><span id=\"MathJax-Span-30\" class=\"mi\">i<\/span><\/span><span id=\"MathJax-Span-31\" class=\"mo\">]<\/span><span id=\"MathJax-Span-32\" class=\"mo\">=<\/span><span id=\"MathJax-Span-33\" class=\"mi\">\u03a3<\/span><\/span><\/span><\/span> for <span id=\"MathJax-Element-3-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-34\" class=\"math\"><span id=\"MathJax-Span-35\" class=\"mrow\"><span id=\"MathJax-Span-36\" class=\"mi\">\u03a3<\/span><span id=\"MathJax-Span-37\" class=\"mo\">\u2ab0<\/span><span id=\"MathJax-Span-38\" class=\"texatom\"><span id=\"MathJax-Span-39\" class=\"mrow\"><span id=\"MathJax-Span-40\" class=\"mn\">0<\/span><\/span><\/span><\/span><\/span><\/span>, this work provides an <span id=\"MathJax-Element-4-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-41\" class=\"math\"><span id=\"MathJax-Span-42\" class=\"mrow\"><span id=\"MathJax-Span-43\" class=\"mi\">O<\/span><span id=\"MathJax-Span-44\" class=\"mo\">(<\/span><span id=\"MathJax-Span-45\" class=\"mi\">d<\/span><span id=\"MathJax-Span-46\" class=\"mo\">)<\/span><\/span><\/span><\/span>-space linear-time single-pass streaming algorithm for estimating the top eigenvector of <span id=\"MathJax-Element-5-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-47\" class=\"math\"><span id=\"MathJax-Span-48\" class=\"mrow\"><span id=\"MathJax-Span-49\" class=\"mi\">\u03a3<\/span><\/span><\/span><\/span>. The algorithm nearly matches (and in certain cases improves upon) the accuracy obtained by the standard batch method that computes top eigenvector of the empirical covariance <span id=\"MathJax-Element-6-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-50\" class=\"math\"><span id=\"MathJax-Span-51\" class=\"mrow\"><span id=\"MathJax-Span-52\" class=\"mfrac\"><span id=\"MathJax-Span-53\" class=\"mn\">1<\/span><span id=\"MathJax-Span-54\" class=\"mi\">n<\/span><\/span><span id=\"MathJax-Span-55\" class=\"munderover\"><span id=\"MathJax-Span-56\" class=\"mo\">\u2211<\/span><span id=\"MathJax-Span-57\" class=\"texatom\"><span id=\"MathJax-Span-58\" class=\"mrow\"><span id=\"MathJax-Span-59\" class=\"mi\">i<\/span><span id=\"MathJax-Span-60\" class=\"mo\">\u2208<\/span><span id=\"MathJax-Span-61\" class=\"mo\">[<\/span><span id=\"MathJax-Span-62\" class=\"mi\">n<\/span><span id=\"MathJax-Span-63\" class=\"mo\">]<\/span><\/span><\/span><\/span><span id=\"MathJax-Span-64\" class=\"msubsup\"><span id=\"MathJax-Span-65\" class=\"mi\">A<\/span><span id=\"MathJax-Span-66\" class=\"mi\">i<\/span><\/span><\/span><\/span><\/span> as analyzed by the matrix Bernstein inequality. Moreover, to achieve constant accuracy, our algorithm improves upon the best previous known sample complexities of streaming algorithms by either a multiplicative factor of <span id=\"MathJax-Element-7-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-67\" class=\"math\"><span id=\"MathJax-Span-68\" class=\"mrow\"><span id=\"MathJax-Span-69\" class=\"mi\">O<\/span><span id=\"MathJax-Span-70\" class=\"mo\">(<\/span><span id=\"MathJax-Span-71\" class=\"mi\">d<\/span><span id=\"MathJax-Span-72\" class=\"mo\">)<\/span><\/span><\/span><\/span> or <span id=\"MathJax-Element-8-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-73\" class=\"math\"><span id=\"MathJax-Span-74\" class=\"mrow\"><span id=\"MathJax-Span-75\" class=\"mn\">1<\/span><span id=\"MathJax-Span-76\" class=\"texatom\"><span id=\"MathJax-Span-77\" class=\"mrow\"><span id=\"MathJax-Span-78\" class=\"mo\">\/<\/span><\/span><\/span><span id=\"MathJax-Span-79\" class=\"texatom\"><span id=\"MathJax-Span-80\" class=\"mrow\"><span id=\"MathJax-Span-81\" class=\"mi\">g<\/span><span id=\"MathJax-Span-82\" class=\"mi\">a<\/span><span id=\"MathJax-Span-83\" class=\"mi\">p<\/span><\/span><\/span><\/span><\/span><\/span> where <span id=\"MathJax-Element-9-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-84\" class=\"math\"><span id=\"MathJax-Span-85\" class=\"mrow\"><span id=\"MathJax-Span-86\" class=\"texatom\"><span id=\"MathJax-Span-87\" class=\"mrow\"><span id=\"MathJax-Span-88\" class=\"mi\">g<\/span><span id=\"MathJax-Span-89\" class=\"mi\">a<\/span><span id=\"MathJax-Span-90\" class=\"mi\">p<\/span><\/span><\/span><\/span><\/span><\/span> is the relative distance between the top two eigenvalues of <span id=\"MathJax-Element-10-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-91\" class=\"math\"><span id=\"MathJax-Span-92\" class=\"mrow\"><span id=\"MathJax-Span-93\" class=\"mi\">\u03a3<\/span><\/span><\/span><\/span>.<br \/>\nThese results are achieved through a novel analysis of the classic Oja&#8217;s algorithm, one of the oldest and most popular algorithms for streaming PCA. In particular, this work shows that simply picking a random initial point <span id=\"MathJax-Element-11-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-94\" class=\"math\"><span id=\"MathJax-Span-95\" class=\"mrow\"><span id=\"MathJax-Span-96\" class=\"msubsup\"><span id=\"MathJax-Span-97\" class=\"mi\">w<\/span><span id=\"MathJax-Span-98\" class=\"mn\">0<\/span><\/span><\/span><\/span><\/span> and applying the update rule <span id=\"MathJax-Element-12-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-99\" class=\"math\"><span id=\"MathJax-Span-100\" class=\"mrow\"><span id=\"MathJax-Span-101\" class=\"msubsup\"><span id=\"MathJax-Span-102\" class=\"mi\">w<\/span><span id=\"MathJax-Span-103\" class=\"texatom\"><span id=\"MathJax-Span-104\" class=\"mrow\"><span id=\"MathJax-Span-105\" class=\"mi\">i<\/span><span id=\"MathJax-Span-106\" class=\"mo\">+<\/span><span id=\"MathJax-Span-107\" class=\"mn\">1<\/span><\/span><\/span><\/span><span id=\"MathJax-Span-108\" class=\"mo\">=<\/span><span id=\"MathJax-Span-109\" class=\"msubsup\"><span id=\"MathJax-Span-110\" class=\"mi\">w<\/span><span id=\"MathJax-Span-111\" class=\"mi\">i<\/span><\/span><span id=\"MathJax-Span-112\" class=\"mo\">+<\/span><span id=\"MathJax-Span-113\" class=\"msubsup\"><span id=\"MathJax-Span-114\" class=\"mi\">\u03b7<\/span><span id=\"MathJax-Span-115\" class=\"mi\">i<\/span><\/span><span id=\"MathJax-Span-116\" class=\"msubsup\"><span id=\"MathJax-Span-117\" class=\"mi\">A<\/span><span id=\"MathJax-Span-118\" class=\"mi\">i<\/span><\/span><span id=\"MathJax-Span-119\" class=\"msubsup\"><span id=\"MathJax-Span-120\" class=\"mi\">w<\/span><span id=\"MathJax-Span-121\" class=\"mi\">i<\/span><\/span><\/span><\/span><\/span> suffices to accurately estimate the top eigenvector, with a suitable choice of <span id=\"MathJax-Element-13-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-122\" class=\"math\"><span id=\"MathJax-Span-123\" class=\"mrow\"><span id=\"MathJax-Span-124\" class=\"msubsup\"><span id=\"MathJax-Span-125\" class=\"mi\">\u03b7<\/span><span id=\"MathJax-Span-126\" class=\"mi\">i<\/span><\/span><\/span><\/span><\/span>. We believe our result sheds light on how to efficiently perform streaming PCA both in theory and in practice and we hope that our analysis may serve as the basis for analyzing many variants and extensions of streaming PCA.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>This work provides improved guarantees for streaming principle component analysis (PCA). Given A1,\u2026,An\u2208Rd\u00d7d sampled independently from distributions satisfying E[Ai]=\u03a3 for \u03a3\u2ab00, this work provides an O(d)-space linear-time single-pass streaming algorithm for estimating the top eigenvector of \u03a3. The algorithm nearly matches (and in certain cases improves upon) the accuracy obtained by the standard batch method [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":null,"msr_publishername":"","msr_publisher_other":"","msr_booktitle":"Proceedings of The 29th Conference on Learning Theory (COLT)","msr_chapter":"","msr_edition":"Proceedings of The 29th Conference on Learning Theory (COLT)","msr_editors":"","msr_how_published":"","msr_isbn":"","msr_issue":"","msr_journal":"","msr_number":"","msr_organization":"","msr_pages_string":"","msr_page_range_start":"","msr_page_range_end":"","msr_series":"","msr_volume":"","msr_copyright":"","msr_conference_name":"Proceedings of The 29th Conference on Learning Theory (COLT)","msr_doi":"","msr_arxiv_id":"","msr_s2_paper_id":"","msr_mag_id":"","msr_pubmed_id":"","msr_other_authors":"","msr_other_contributors":"","msr_speaker":"","msr_award":"","msr_affiliation":"","msr_institution":"","msr_host":"","msr_version":"","msr_duration":"","msr_original_fields_of_study":"","msr_release_tracker_id":"","msr_s2_match_type":"","msr_citation_count_updated":"","msr_published_date":"2016-06-25","msr_highlight_text":"","msr_notes":"","msr_longbiography":"","msr_publicationurl":"http:\/\/arxiv.org\/abs\/1602.06929","msr_external_url":"","msr_secondary_video_url":"","msr_conference_url":"","msr_journal_url":"","msr_s2_pdf_url":"","msr_year":0,"msr_citation_count":0,"msr_influential_citations":0,"msr_reference_count":0,"msr_s2_match_confidence":0,"msr_microsoftintellectualproperty":true,"msr_s2_open_access":false,"msr_s2_author_ids":[],"msr_pub_ids":[],"msr_hide_image_in_river":0,"footnotes":""},"msr-research-highlight":[],"research-area":[13561,13556],"msr-publication-type":[193716],"msr-publisher":[],"msr-focus-area":[],"msr-locale":[268875],"msr-post-option":[],"msr-field-of-study":[],"msr-conference":[],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-255615","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-algorithms","msr-research-area-artificial-intelligence","msr-locale-en_us"],"msr_publishername":"","msr_edition":"Proceedings of The 29th Conference on Learning Theory (COLT)","msr_affiliation":"","msr_published_date":"2016-06-25","msr_host":"","msr_duration":"","msr_version":"","msr_speaker":"","msr_other_contributors":"","msr_booktitle":"Proceedings of The 29th Conference on Learning Theory (COLT)","msr_pages_string":"","msr_chapter":"","msr_isbn":"","msr_journal":"","msr_volume":"","msr_number":"","msr_editors":"","msr_series":"","msr_issue":"","msr_organization":"","msr_how_published":"","msr_notes":"","msr_highlight_text":"","msr_release_tracker_id":"","msr_original_fields_of_study":"","msr_download_urls":"","msr_external_url":"","msr_secondary_video_url":"","msr_longbiography":"","msr_microsoftintellectualproperty":1,"msr_main_download":"255636","msr_publicationurl":"http:\/\/arxiv.org\/abs\/1602.06929","msr_doi":"","msr_publication_uploader":[{"type":"file","title":"JJKNS16_COLT","viewUrl":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/07\/JJKNS16_COLT.pdf","id":255636,"label_id":0},{"type":"url","title":"http:\/\/arxiv.org\/abs\/1602.06929","viewUrl":false,"id":false,"label_id":0}],"msr_related_uploader":"","msr_citation_count":0,"msr_citation_count_updated":"","msr_s2_paper_id":"","msr_influential_citations":0,"msr_reference_count":0,"msr_arxiv_id":"","msr_s2_author_ids":[],"msr_s2_open_access":false,"msr_s2_pdf_url":null,"msr_attachments":[{"id":0,"url":"http:\/\/arxiv.org\/abs\/1602.06929"}],"msr-author-ordering":[{"type":"user_nicename","value":"prajain","user_id":33278,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=prajain"},{"type":"text","value":"Chi Jin","user_id":0,"rest_url":false},{"type":"text","value":"Sham Kakade","user_id":0,"rest_url":false},{"type":"text","value":"Praneeth Netrapalli","user_id":0,"rest_url":false},{"type":"text","value":"Aaron Sidford","user_id":0,"rest_url":false}],"msr_impact_theme":[],"msr_research_lab":[199562],"msr_event":[],"msr_group":[144924,144938,144940],"msr_project":[171330],"publication":[],"video":[],"msr-tool":[],"msr_publication_type":"inproceedings","related_content":{"projects":[{"ID":171330,"post_title":"Provable Non-convex Optimization for Machine Learning Problems","post_name":"provable-non-convex-optimization-for-machine-learning-problems","post_type":"msr-project","post_date":"2014-04-04 06:19:02","post_modified":"2019-11-18 10:38:44","post_status":"publish","permalink":"https:\/\/www.microsoft.com\/en-us\/research\/project\/provable-non-convex-optimization-for-machine-learning-problems\/","post_excerpt":"We explore theoretical properties of simple non-convex optimization methods for problems that feature prominently in several important areas such as recommendation systems, compressive sensing, computer vision etc.","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171330"}]}}]},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/255615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-research-item"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/255615\/revisions"}],"predecessor-version":[{"id":526899,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/255615\/revisions\/526899"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=255615"}],"wp:term":[{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=255615"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=255615"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=255615"},{"taxonomy":"msr-publisher","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publisher?post=255615"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=255615"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=255615"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=255615"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=255615"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=255615"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=255615"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=255615"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=255615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}