MATLAB Array Manipulation Tips and Tricks

Total Page:16

File Type:pdf, Size:1020Kb

MATLAB Array Manipulation Tips and Tricks MATLAB array manipulation tips and tricks Peter J. Acklam E-mail: [email protected] URL: http://home.online.no/~pjacklam 14th August 2002 Abstract This document is intended to be a compilation of tips and tricks mainly related to efficient ways of performing low-level array manipulation in MATLAB. Here, “manipu- lation” means replicating and rotating arrays or parts of arrays, inserting, extracting, permuting and shifting elements, generating combinations and permutations of ele- ments, run-length encoding and decoding, multiplying and dividing arrays and calcu- lating distance matrics and so forth. A few other issues regarding how to write fast MATLAB code are also covered. I'd like to thank the following people (in alphabetical order) for their suggestions, spotting typos and other contributions they have made. Ken Doniger and Dr. Denis Gilbert Copyright © 2000–2002 Peter J. Acklam. All rights reserved. Any material in this document may be reproduced or duplicated for personal or educational use. MATLAB is a trademark of The MathWorks, Inc. (http://www.mathworks.com). TEX is a trademark of the American Mathematical Society (http://www.ams.org). Adobe PostScript and Adobe Acrobat Reader are trademarks of Adobe Systems Incorporated (http://www.adobe.com). The TEX source was written with the GNU Emacs text editor. The GNU Emacs home page is http://www.gnu.org/software/emacs/emacs.html. The TEX source was formatted with AMS-LATEX to produce a DVI (device independent) file. The PS (PostScript) version was created from the DVI file with dvips by Tomas Rokicki. The PDF (Portable Document Format) version was created from the PS file with ps2pdf, a part of Aladdin Ghostscript by Aladdin Enterprises. The PS and PDF version may be viewed and printed with software available at the Ghostscript, Ghostview and GSview Home Page, http://www.cs.wisc.edu/~ghost/index.html. The PDF version may also be viewed and printed with Adobe Acrobat Reader, which is available at http://www.adobe.com/products/acrobat/readstep.html. CONTENTS 2 Contents 1 Introduction 4 1.1 The motivation for writing this document . 4 1.2 Who this document is for . 5 1.3 Credit where credit is due . 5 1.4 Errors and feedback . 5 1.5 Vectorization . 5 2 Operators, functions and special characters 6 2.1 Operators . 6 2.2 Built-in functions . 7 2.3 M-file functions . 7 3 Basic array properties 8 3.1 Size . 8 3.1.1 Size along a specific dimension . 8 3.1.2 Size along multiple dimension . 8 3.2 Dimensions . 9 3.2.1 Number of dimensions . 9 3.2.2 Singleton dimensions . 9 3.3 Number of elements . 9 4 Array indices and subscripts 9 5 Creating vectors, matrices and arrays 9 5.1 Creating a constant array . 9 5.1.1 When the class is determined by the scalar to replicate . 9 5.1.2 When the class is stored in a string variable . 10 5.2 Special vectors . 11 5.2.1 Uniformly spaced elements . 11 6 Shifting 11 6.1 Vectors . 11 6.2 Matrices and arrays . 11 7 Replicating elements and arrays 12 7.1 Creating a constant array . 12 7.2 Replicating elements in vectors . 12 7.2.1 Replicate each element a constant number of times . 12 7.2.2 Replicate each element a variable number of times . 12 7.3 Using KRON for replicating elements . 12 7.3.1 KRON with an matrix of ones . 12 7.3.2 KRON with an identity matrix . 13 8 Reshaping arrays 13 8.1 Subdividing 2D matrix . 13 8.1.1 Create 4D array . 14 8.1.2 Create 3D array (columns first) . 14 8.1.3 Create 3D array (rows first) . 14 8.1.4 Create 2D matrix (columns first, column output) . 15 CONTENTS 3 8.1.5 Create 2D matrix (columns first, row output) . 15 8.1.6 Create 2D matrix (rows first, column output) . 16 8.1.7 Create 2D matrix (rows first, row output) . 16 8.2 Stacking and unstacking pages . 17 9 Rotating matrices and arrays 17 9.1 Rotating 2D matrices . 17 9.2 Rotating ND arrays . 17 9.3 Rotating ND arrays around an arbitrary axis . 18 9.4 Block-rotating 2D matrices . 19 9.4.1 “Inner” vs “outer” block rotation . 19 9.4.2 “Inner” block rotation 90 degrees counterclockwise . 20 9.4.3 “Inner” block rotation 180 degrees . 21 9.4.4 “Inner” block rotation 90 degrees clockwise . 22 9.4.5 “Outer” block rotation 90 degrees counterclockwise . 23 9.4.6 “Outer” block rotation 180 degrees . 24 9.4.7 “Outer” block rotation 90 degrees clockwise . 25 9.5 Blocktransposing a 2D matrix . 25 9.5.1 “Inner” blocktransposing . 25 9.5.2 “Outer” blocktransposing . 26 10 Multiply arrays 26 10.1 Multiply each 2D slice with the same matrix (element-by-element) . 26 10.2 Multiply each 2D slice with the same matrix (left) . 26 10.3 Multiply each 2D slice with the same matrix (right) . 26 10.4 Multiply matrix with every element of a vector . 27 10.5 Multiply each 2D slice with corresponding element of a vector . 28 10.6 Outer product of all rows in a matrix . 28 10.7 Keeping only diagonal elements of multiplication . 28 10.8 Products involving the Kronecker product . 29 11 Divide arrays 29 11.1 Divide each 2D slice with the same matrix (element-by-element) . 29 11.2 Divide each 2D slice with the same matrix (left) . 29 11.3 Divide each 2D slice with the same matrix (right) . 30 12 Calculating distances 30 12.1 Euclidean distance . 30 12.2 Distance between two points . 30 12.3 Euclidean distance vector . 31 12.4 Euclidean distance matrix . 31 12.5 Special case when both matrices are identical . 31 12.6 Mahalanobis distance . 32 13 Statistics, probability and combinatorics 33 13.1 Discrete uniform sampling with replacement . 33 13.2 Discrete weighted sampling with replacement . 33 13.3 Discrete uniform sampling without replacement . 33 13.4 Combinations . 33 13.4.1 Counting combinations . 34 1 INTRODUCTION 4 13.4.2 Generating combinations . 34 13.5 Permutations . 34 13.5.1 Counting permutations . 34 13.5.2 Generating permutations . 34 14 Types of arrays 35 14.1 Numeric array . 35 14.2 Real array . 35 14.3 Identify real or purely imaginary elements . 35 14.4 Array of negative, non-negative or positive values . 36 14.5 Array of integers . 36 14.6 Scalar . 36 14.7 Vector . 36 14.8 Matrix . 37 14.9 Array slice . 37 15 Logical operators and comparisons 37 15.1 List of logical operators . 37 15.2 Rules for logical operators . 37 15.3 Quick tests before slow ones . 38 16 Miscellaneous 38 16.1 Accessing elements on the diagonal . 38 16.2 Creating index vector from index limits . 39 16.3 Matrix with different incremental runs . 40 16.4 Finding indices . 41 16.4.1 First non-zero element in each column . 41 16.4.2 First non-zero element in each row . ..
Recommended publications
  • Immanants of Totally Positive Matrices Are Nonnegative
    IMMANANTS OF TOTALLY POSITIVE MATRICES ARE NONNEGATIVE JOHN R. STEMBRIDGE Introduction Let Mn{k) denote the algebra of n x n matrices over some field k of characteristic zero. For each A>valued function / on the symmetric group Sn, we may define a corresponding matrix function on Mn(k) in which (fljji—• > X\w )&i (i)'"a ( )' (U weSn If/ is an irreducible character of Sn, these functions are known as immanants; if/ is an irreducible character of some subgroup G of Sn (extended trivially to all of Sn by defining /(vv) = 0 for w$G), these are known as generalized matrix functions. Note that the determinant and permanent are obtained by choosing / to be the sign character and trivial character of Sn, respectively. We should point out that it is more traditional to use /(vv) in (1) where we have used /(W1). This change can be undone by transposing the matrix. If/ happens to be a character, then /(w-1) = x(w), so the generalized matrix function we have indexed by / is the complex conjugate of the traditional one. Since the characters of Sn are real (and integral), it follows that there is no difference between our indexing of immanants and the traditional one. It is convenient to associate with each AeMn(k) the following element of the group algebra kSn: [A]:= £ flliW(1)...flBiW(B)-w~\ In terms of this notation, the matrix function defined by (1) can be described more simply as A\—+x\Ai\, provided that we extend / linearly to kSn. Note that if we had used w in place of vv"1 here and in (1), then the restriction of [•] to the group of permutation matrices would have been an anti-homomorphism, rather than a homomorphism.
    [Show full text]
  • Some Classes of Hadamard Matrices with Constant Diagonal
    BULL. AUSTRAL. MATH. SOC. O5BO5. 05B20 VOL. 7 (1972), 233-249. • Some classes of Hadamard matrices with constant diagonal Jennifer Wallis and Albert Leon Whiteman The concepts of circulant and backcircul-ant matrices are generalized to obtain incidence matrices of subsets of finite additive abelian groups. These results are then used to show the existence of skew-Hadamard matrices of order 8(1*f+l) when / is odd and 8/ + 1 is a prime power. This shows the existence of skew-Hadamard matrices of orders 296, 592, 118U, l6kO, 2280, 2368 which were previously unknown. A construction is given for regular symmetric Hadamard matrices with constant diagonal of order M2m+l) when a symmetric conference matrix of order km + 2 exists and there are Szekeres difference sets, X and J , of size m satisfying x € X =» -x £ X , y £ Y ~ -y d X . Suppose V is a finite abelian group with v elements, written in additive notation. A difference set D with parameters (v, k, X) is a subset of V with k elements and such that in the totality of all the possible differences of elements from D each non-zero element of V occurs X times. If V is the set of integers modulo V then D is called a cyclic difference set: these are extensively discussed in Baumert [/]. A circulant matrix B = [b. •) of order v satisfies b. = b . (j'-i+l reduced modulo v ), while B is back-circulant if its elements Received 3 May 1972. The authors wish to thank Dr VI.D. Wallis for helpful discussions and for pointing out the regularity in Theorem 16.
    [Show full text]
  • An Infinite Dimensional Birkhoff's Theorem and LOCC-Convertibility
    An infinite dimensional Birkhoff's Theorem and LOCC-convertibility Daiki Asakura Graduate School of Information Systems, The University of Electro-Communications, Tokyo, Japan August 29, 2016 Preliminary and Notation[1/13] Birkhoff's Theorem (: matrix analysis(math)) & in infinite dimensinaol Hilbert space LOCC-convertibility (: quantum information ) Notation H, K : separable Hilbert spaces. (Unless specified otherwise dim = 1) j i; jϕi 2 H ⊗ K : unit vectors. P1 P1 majorization: for σ = a jx ihx j, ρ = b jy ihy j 2 S(H), P Pn=1 n n n n=1 n n n ≺ () n # ≤ n # 8 2 N σ ρ i=1 ai i=1 bi ; n . def j i ! j i () 9 2 N [ f1g 9 H f gn 9 ϕ n , POVM on Mi i=1 and a set of LOCC def K f gn unitary on Ui i=1 s.t. Xn j ih j ⊗ j ih j ∗ ⊗ ∗ ϕ ϕ = (Mi Ui ) (Mi Ui ); in C1(H): i=1 H jj · jj "in C1(H)" means the convergence in Banach space (C1( ); 1) when n = 1. LOCC-convertibility[2/13] Theorem(Nielsen, 1999)[1][2, S12.5.1] : the case dim H, dim K < 1 j i ! jϕi () TrK j ih j ≺ TrK jϕihϕj LOCC Theorem(Owari et al, 2008)[3] : the case of dim H, dim K = 1 j i ! jϕi =) TrK j ih j ≺ TrK jϕihϕj LOCC TrK j ih j ≺ TrK jϕihϕj =) j i ! jϕi ϵ−LOCC where " ! " means "with (for any small) ϵ error by LOCC". ϵ−LOCC TrK j ih j ≺ TrK jϕihϕj ) j i ! jϕi in infinite dimensional space has LOCC been open.
    [Show full text]
  • Alternating Sign Matrices and Polynomiography
    Alternating Sign Matrices and Polynomiography Bahman Kalantari Department of Computer Science Rutgers University, USA [email protected] Submitted: Apr 10, 2011; Accepted: Oct 15, 2011; Published: Oct 31, 2011 Mathematics Subject Classifications: 00A66, 15B35, 15B51, 30C15 Dedicated to Doron Zeilberger on the occasion of his sixtieth birthday Abstract To each permutation matrix we associate a complex permutation polynomial with roots at lattice points corresponding to the position of the ones. More generally, to an alternating sign matrix (ASM) we associate a complex alternating sign polynomial. On the one hand visualization of these polynomials through polynomiography, in a combinatorial fashion, provides for a rich source of algo- rithmic art-making, interdisciplinary teaching, and even leads to games. On the other hand, this combines a variety of concepts such as symmetry, counting and combinatorics, iteration functions and dynamical systems, giving rise to a source of research topics. More generally, we assign classes of polynomials to matrices in the Birkhoff and ASM polytopes. From the characterization of vertices of these polytopes, and by proving a symmetry-preserving property, we argue that polynomiography of ASMs form building blocks for approximate polynomiography for polynomials corresponding to any given member of these polytopes. To this end we offer an algorithm to express any member of the ASM polytope as a convex of combination of ASMs. In particular, we can give exact or approximate polynomiography for any Latin Square or Sudoku solution. We exhibit some images. Keywords: Alternating Sign Matrices, Polynomial Roots, Newton’s Method, Voronoi Diagram, Doubly Stochastic Matrices, Latin Squares, Linear Programming, Polynomiography 1 Introduction Polynomials are undoubtedly one of the most significant objects in all of mathematics and the sciences, particularly in combinatorics.
    [Show full text]
  • Counterfactual Explanations for Graph Neural Networks
    CF-GNNExplainer: Counterfactual Explanations for Graph Neural Networks Ana Lucic Maartje ter Hoeve Gabriele Tolomei University of Amsterdam University of Amsterdam Sapienza University of Rome Amsterdam, Netherlands Amsterdam, Netherlands Rome, Italy [email protected] [email protected] [email protected] Maarten de Rijke Fabrizio Silvestri University of Amsterdam Sapienza University of Rome Amsterdam, Netherlands Rome, Italy [email protected] [email protected] ABSTRACT that result in an alternative output response (i.e., prediction). If Given the increasing promise of Graph Neural Networks (GNNs) in the modifications recommended are also clearly actionable, this is real-world applications, several methods have been developed for referred to as achieving recourse [12, 28]. explaining their predictions. So far, these methods have primarily To motivate our problem, we consider an ML application for focused on generating subgraphs that are especially relevant for computational biology. Drug discovery is a task that involves gen- a particular prediction. However, such methods do not provide erating new molecules that can be used for medicinal purposes a clear opportunity for recourse: given a prediction, we want to [26, 33]. Given a candidate molecule, a GNN can predict if this understand how the prediction can be changed in order to achieve molecule has a certain property that would make it effective in a more desirable outcome. In this work, we propose a method for treating a particular disease [9, 19, 32]. If the GNN predicts it does generating counterfactual (CF) explanations for GNNs: the minimal not have this desirable property, CF explanations can help identify perturbation to the input (graph) data such that the prediction the minimal change one should make to this molecule, such that it changes.
    [Show full text]
  • The Pagerank Algorithm Is One Way of Ranking the Nodes in a Graph by Importance
    The PageRank 13 Algorithm Lab Objective: Many real-world systemsthe internet, transportation grids, social media, and so oncan be represented as graphs (networks). The PageRank algorithm is one way of ranking the nodes in a graph by importance. Though it is a relatively simple algorithm, the idea gave birth to the Google search engine in 1998 and has shaped much of the information age since then. In this lab we implement the PageRank algorithm with a few dierent approaches, then use it to rank the nodes of a few dierent networks. The PageRank Model The internet is a collection of webpages, each of which may have a hyperlink to any other page. One possible model for a set of n webpages is a directed graph, where each node represents a page and node j points to node i if page j links to page i. The corresponding adjacency matrix A satises Aij = 1 if node j links to node i and Aij = 0 otherwise. b c abcd a 2 0 0 0 0 3 b 6 1 0 1 0 7 A = 6 7 c 4 1 0 0 1 5 d 1 0 1 0 a d Figure 13.1: A directed unweighted graph with four nodes, together with its adjacency matrix. Note that the column for node b is all zeros, indicating that b is a sinka node that doesn't point to any other node. If n users start on random pages in the network and click on a link every 5 minutes, which page in the network will have the most views after an hour? Which will have the fewest? The goal of the PageRank algorithm is to solve this problem in general, therefore determining how important each webpage is.
    [Show full text]
  • A Riemannian Fletcher--Reeves Conjugate Gradient Method For
    A Riemannian Fletcher-Reeves Conjugate Gradient Method for Title Doubly Stochastic Inverse Eigenvalue Problems Author(s) Yao, T; Bai, Z; Zhao, Z; Ching, WK SIAM Journal on Matrix Analysis and Applications, 2016, v. 37 n. Citation 1, p. 215-234 Issued Date 2016 URL http://hdl.handle.net/10722/229223 SIAM Journal on Matrix Analysis and Applications. Copyright © Society for Industrial and Applied Mathematics.; This work is Rights licensed under a Creative Commons Attribution- NonCommercial-NoDerivatives 4.0 International License. SIAM J. MATRIX ANAL. APPL. c 2016 Society for Industrial and Applied Mathematics Vol. 37, No. 1, pp. 215–234 A RIEMANNIAN FLETCHER–REEVES CONJUGATE GRADIENT METHOD FOR DOUBLY STOCHASTIC INVERSE EIGENVALUE PROBLEMS∗ TENG-TENG YAO†, ZHENG-JIAN BAI‡,ZHIZHAO §, AND WAI-KI CHING¶ Abstract. We consider the inverse eigenvalue problem of reconstructing a doubly stochastic matrix from the given spectrum data. We reformulate this inverse problem as a constrained non- linear least squares problem over several matrix manifolds, which minimizes the distance between isospectral matrices and doubly stochastic matrices. Then a Riemannian Fletcher–Reeves conjugate gradient method is proposed for solving the constrained nonlinear least squares problem, and its global convergence is established. An extra gain is that a new Riemannian isospectral flow method is obtained. Our method is also extended to the case of prescribed entries. Finally, some numerical tests are reported to illustrate the efficiency of the proposed method. Key words. inverse eigenvalue problem, doubly stochastic matrix, Riemannian Fletcher–Reeves conjugate gradient method, Riemannian isospectral flow AMS subject classifications. 65F18, 65F15, 15A18, 65K05, 90C26, 90C48 DOI. 10.1137/15M1023051 1.
    [Show full text]
  • An Alternate Exposition of PCA Ronak Mehta
    An Alternate Exposition of PCA Ronak Mehta 1 Introduction The purpose of this note is to present the principle components analysis (PCA) method alongside two important background topics: the construction of the singular value decomposition (SVD) and the interpretation of the covariance matrix of a random variable. Surprisingly, students have typically not seen these topics before encountering PCA in a statistics or machine learning course. Here, our focus is to understand why the SVD of the data matrix solves the PCA problem, and to interpret each of its components exactly. That being said, this note is not meant to be a self- contained introduction to the topic. Important motivations, such the maximum total variance or minimum reconstruction error optimizations over subspaces are not covered. Instead, this can be considered a supplementary background review to read before jumping into other expositions of PCA. 2 Linear Algebra Review 2.1 Notation d n×d R is the set of real d-dimensional vectors, and R is the set of real n-by-d matrices. A vector d n×d x 2 R , is denoted as a bold lower case symbol, with its j-th element as xj. A matrix X 2 R is denoted as a bold upper case symbol, with the element at row i and column j as Xij, and xi· and x·j denoting the i-th row and j-th column respectively (the center dot might be dropped if it d×d is clear in context). The identity matrix Id 2 R is the matrix of ones on the diagonal and zeros d elsewhere.
    [Show full text]
  • Some Remarks on the Permanents of Circulant (0,1) Matrices
    University of Wollongong Research Online Faculty of Engineering and Information Faculty of Informatics - Papers (Archive) Sciences 1982 Some remarks on the permanents of circulant (0,1) matrices Peter Eades Cheryl E. Praeger Jennifer Seberry University of Wollongong, [email protected] Follow this and additional works at: https://ro.uow.edu.au/infopapers Part of the Physical Sciences and Mathematics Commons Recommended Citation Eades, Peter; Praeger, Cheryl E.; and Seberry, Jennifer: Some remarks on the permanents of circulant (0,1) matrices 1982. https://ro.uow.edu.au/infopapers/1010 Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected] Some remarks on the permanents of circulant (0,1) matrices Abstract Some permanents of circulant (0,1) matrices are computed. Three methods are used. First, the permanent of a Kronecker product is computed by directly counting diagonals. Secondly, Lagrange expansion is used to calculate a recurrence for a family of sparse circulants. Finally, a "complement expansion" method is used to calculate a recurrence for a permanent of a circulant with few zero entries. Also, a bound on the number of different permanents of circulant matrices with a given row sum is obtained. Disciplines Physical Sciences and Mathematics Publication Details Eades, P, Praeger, C and Seberry, J, Some remarks on the permanents of circulant (0,1) matrices, Utilitas Mathematica, 23, 1983, 145-159. This journal article is available at Research Online: https://ro.uow.edu.au/infopapers/1010 SOME REHARKS ON THE PERMANENTS OF CIRCULANT (0,1) MATRICES Peter Eades, Cheryl E.
    [Show full text]
  • Signal and System Analysis Fall 2021 Lab#2 – Matrix and Array in MATLAB
    EECS 360: Signal and System Analysis Fall 2021 Lab#2 – Matrix and Array in MATLAB Matrices are the basic elements of the MATLAB environment. A matrix is a two-dimensional array consisting of m rows and n columns. Special cases are column vectors (n = 1) and row vectors (m = 1). In this lab, we will illustrate how to create array and matrices and how to apply different operations on matrices. 1. ENTERING A VECTOR We define a matrix of dimension (n × m) as follows, where n stands for number of rows and m stands for number of columns. 1 2 . m 2 . n Rows ..... ..... n .... m Columns A vector is a special case of a matrix, where either number of rows or number of columns goes to 1. Row Vector: An array of dimension (1 × n) is called a row vector. Column Vector: An array of dimension (m × 1) is called a column vector. The elements of vectors in MATLAB are enclosed by square brackets and are separated by spaces or by commas. For example, in Matlab, you can define a Row Vector as: A = [1 2 3 4] or A = [1,2,3,4]. Column vectors are created in a similar way, however, semicolon (;) must separate the components of a column vector. For example, Column Vector: B= [1; 2; 3; 4] *** A row vector is converted to a column vector using the transpose operator and vice versa. The transpose operation is denoted by an apostrophe or a single quote (’). AB= ' or BA= ' PRACTICE 1: Create one row vector (1 5) and one column vector (5 1) and perform transpose operation to convert them from one type to another (i.e.
    [Show full text]
  • The Greedy Strategy in Optimizing the Perron Eigenvalue
    The greedy strategy for optimizing the Perron eigenvalue ∗ Aleksandar Cvetkovi´c, †Vladimir Yu. Protasov ‡ Abstract We address the problems of minimizing and of maximizing the spectral radius over a compact family of non-negative matrices. Those problems being hard in general can be efficiently solved for some special families. We consider the so-called prod- uct families, where each matrix is composed of rows chosen independently from given sets. A recently introduced greedy method works very fast. However, it is applicable mostly for strictly positive matrices. For sparse matrices, it often diverges and gives a wrong answer. We present the “selective greedy method” that works equally well for all non-negative product families, including sparse ones. For this method, we prove a quadratic rate of convergence and demonstrate its efficiency in numerical examples. The numerical examples are realised for two cases: finite uncertainty sets and poly- hedral uncertainty sets given by systems of linear inequalities. In dimensions up to 2000, the matrices with minimal/maximal spectral radii in product families are found within a few iterations. Applications to dynamical systems and to the graph theory are considered. Keywords: iterative optimization method, non-negative matrix, spectral radius, relax- ation algorithm, cycling, spectrum of a graph, quadratic convergence, dynamical system, stability AMS 2010 subject classification: 15B48, 90C26, 15A42 arXiv:1807.05099v2 [math.OC] 18 May 2020 1. Introduction The problem of minimizing or maximizing the spectral radius of a non-negative matrix over a general constrained set can be very hard. There are no efficient algorithms even for ∗The research is supported by the RSF grant 20-11-20169 †GSSI (L’Aquila, Italy), ‡University of L’Aquila (Italy), Moscow State University (Moscow, Russia), e-mail: [email protected] 1 solving this problem over a compact convex (say, polyhedral) set of positive matrices.
    [Show full text]
  • Ground Metric Learning
    Ground Metric Learning Marco Cuturi [email protected] David Avis [email protected] Graduate School of Informatics Kyoto University Editor: Gert Lanckriet Abstract Optimal transport distances have been used for more than a decade in machine learning to compare histograms of features. They have one parameter: the ground metric, which can be any metric between the features themselves. As is the case for all parameterized dis- tances, optimal transport distances can only prove useful in practice when this parameter is carefully chosen. To date, the only option available to practitioners to set the ground met- ric parameter was to rely on a priori knowledge of the features, which limited considerably the scope of application of optimal transport distances. We propose to lift this limitation and consider instead algorithms that can learn the ground metric using only a training set of labeled histograms. We call this approach ground metric learning. We formulate the problem of learning the ground metric as the minimization of the difference of two convex polyhedral functions over a convex set of metric matrices. We follow the presentation of our algorithms with promising experimental results which show that this approach is useful both for retrieval and binary/multiclass classification tasks. 1. Introduction We consider in this paper the problem of learning a distance for normalized histograms. Normalized histograms – finite-dimensional vectors with nonnegative coordinates whose sum is equal to 1 – arise frequently in natural language processing, computer vision, bioin- formatics and more generally areas involving complex datatypes. Objects of interest in such areas are usually simplified and are represented as a bag of smaller features.
    [Show full text]