Corinna Cortes

Corinna Cortes

Corinna Cortes (born 31 March 1961) is a Danish computer scientist known for her contributions to machine learning. She is a Vice President at Google Research in New York City. Cortes is an ACM Fellow and a recipient of the Paris Kanellakis Award for her work on theoretical foundations of support vector machines. == Early life and education == Corinna Cortes was born in 1961 in Denmark. Cortes received her Master of Science degree in physics from University of Copenhagen in 1989. She received her PhD in computer science from the University of Rochester in 1993 for research supervised by Randal C. Nelson. == Career and research == Cortes joined AT&T Bell Labs as a researcher in 1993. Since 2003, she has served as Vice President of Google Research, New York City, and since 2011, as adjunct professor at the UCPH Department of Computer Science. She is serves as an editorial board member of the journal Machine Learning. Cortes' research covers a wide range of topics in machine learning, including support vector machines (SVM) and data mining. SVM is one of the most frequently used algorithms in machine learning, which is used in many practical applications, including medical diagnosis and weather forecasting. At AT&T, Cortes was a contributor to the design of Hancock programming language. === Awards and honours === In 2008, she jointly with Vladimir Vapnik received the Paris Kanellakis Award for the development of a highly effective algorithm for supervised learning known as support vector machines (SVM). She was named an ACM Fellow in 2023 for theoretical and practical contributions to machine learning, industrial leadership and service to the field. == Personal life == Corinna has two children and is also a competitive runner.

Wide-column store

A wide-column store (or extensible record store) is a type of NoSQL database. It uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table. A wide-column store can be interpreted as a two-dimensional key–value store. Google's Bigtable is one of the prototypical examples of a wide-column store. == Wide-column stores versus columnar databases == Wide-column stores such as Bigtable and Apache Cassandra are not column stores in the original sense of the term, since their two-level structures do not use a columnar data layout. In genuine column stores, a columnar data layout is adopted such that each column is stored separately on disk. Wide-column stores do often support the notion of column families that are stored separately. However, each such column family typically contains multiple columns that are used together, similar to traditional relational database tables. Within a given column family, all data is stored in a row-by-row fashion, such that the columns for a given row are stored together, rather than each column being stored separately. Wide-column stores that support column families are also known as column family databases. == Notable examples == Notable wide-column stores include: Apache Accumulo Apache Cassandra Apache HBase Bigtable DataStax Enterprise (uses Apache Cassandra) DataStax Astra DB (uses Apache Cassandra) Hypertable Azure Tables ScyllaDB

Stephen Wolfram

Stephen Wolfram ( WUUL-frəm; born 29 August 1959) is a British-American computer scientist, physicist, and businessman. He is known for his work in computer algebra and theoretical physics. In 2012, he was named a fellow of the American Mathematical Society. As a businessman, Wolfram is the founder and CEO of the software company Wolfram Research, where he works as chief designer of Mathematica and the Wolfram Alpha answer engine. == Early life == === Family === Stephen Wolfram was born in London in 1959 to Hugo and Sybil Wolfram, both German Jewish refugees to the United Kingdom. His maternal grandmother was British psychoanalyst Kate Friedlander. Wolfram's father, Hugo Wolfram, was a textile manufacturer and served as managing director of the Lurex Company—makers of the fabric Lurex. Wolfram's mother, Sybil Wolfram, was a Fellow and Tutor in Philosophy at Lady Margaret Hall at University of Oxford from 1964 to 1993. Wolfram is married to a mathematician. They have four children together. === Education === Wolfram was educated at Eton College, but left prematurely in 1976. As a young child, Wolfram had difficulties learning arithmetic. He entered St. John's College, Oxford, at age 17 and left in 1978 without graduating to attend the California Institute of Technology the following year, where he received a PhD in particle physics in 1980. Wolfram's thesis committee was composed of Richard Feynman, Peter Goldreich, Frank J. Sciulli, and Steven Frautschi, and chaired by Richard D. Field. == Early career == Wolfram, at the age of 15, began research in applied quantum field theory and particle physics and published scientific papers in peer-reviewed scientific journals; by the time he left Oxford, he had published ten such papers. Following his PhD, Wolfram joined the faculty at Caltech and became the youngest recipient of a MacArthur Fellowship in 1981, at age 21. == Later career == === Complex systems and cellular automata === In 1983, Wolfram left for the School of Natural Sciences of the Institute for Advanced Study in Princeton. By that time, he was no longer interested in particle physics. Instead, he began pursuing investigations into cellular automata, mainly with computer simulations. He produced a series of papers investigating the class of elementary cellular automata, conceiving the Wolfram code, a naming system for one-dimensional cellular automata, and a classification scheme for the complexity of their behaviour. He conjectured that the Rule 110 cellular automaton might be Turing complete, which a research assistant to Wolfram, Matthew Cook, later proved correct. Wolfram sued Cook and temporarily blocked publication of the work on Rule 110 for allegedly violating a non-disclosure agreement until Wolfram could publish the work in his controversial book A New Kind of Science. Wolfram's cellular-automata work came to be cited in more than 10,000 papers. In the mid-1980s, Wolfram worked on simulations of physical processes (such as turbulent fluid flow) with cellular automata on the Connection Machine alongside Richard Feynman and helped initiate the field of complex systems. In 1984, he was a participant in the Founding Workshops of the Santa Fe Institute, along with Nobel laureates Murray Gell-Mann, Manfred Eigen, and Philip Warren Anderson, and future laureate Frank Wilczek. In 1986, he founded the Center for Complex Systems Research (CCSR) at the University of Illinois Urbana–Champaign. In 1987, he founded the journal Complex Systems. === Symbolic Manipulation Program === Wolfram led the development of the computer algebra system SMP (Symbolic Manipulation Program) in the Caltech physics department during 1979–1981. A dispute with the administration over the intellectual property rights regarding SMP—patents, copyright, and faculty involvement in commercial ventures—eventually led him to resign from Caltech. SMP was further developed and marketed commercially by Inference Corp. of Los Angeles during 1983–1988. === Mathematica === In 1986, Wolfram left the Institute for Advanced Study for the University of Illinois Urbana–Champaign, where he had founded their Center for Complex Systems Research, and started to develop the computer algebra system Mathematica, which was released on 23 June 1988, when he left academia. In 1987, he founded Wolfram Research, which continues to develop and market the program. === A New Kind of Science === From 1992 to 2002, Wolfram worked on his controversial book A New Kind of Science, which presents an empirical study of simple computational systems. Additionally, it argues that for fundamental reasons these types of systems, rather than traditional mathematics, are needed to model and understand complexity in nature. Wolfram's conclusion is that the universe is discrete in its nature, and runs on fundamental laws that can be described as simple programs. He predicts that a realization of this within scientific communities will have a revolutionary influence on physics, chemistry, biology, and most other scientific areas, hence the book's title. The book was met with skepticism and criticism that Wolfram took credit for the work of others and made conclusions without evidence to support them. === Wolfram Alpha computational knowledge engine === In March 2009, Wolfram announced Wolfram Alpha, an answer engine. Wolfram Alpha launched in May 2009, and a paid-for version with extra features launched in February 2012 that was met with criticism for its high price, which later dropped from $50 to $2. The engine is based on natural language processing and a large library of rules-based algorithms. The application programming interface allows other applications to extend and enhance Wolfram Alpha. === Touchpress === In 2010, Wolfram co-founded Touchpress with Theodore Gray, Max Whitby, and John Cromie. The company specialised in creating in-depth premium apps and games covering a wide range of educational subjects designed for children, parents, students, and educators. Touchpress published more than 100 apps. The company is no longer active. === Wolfram Language === In March 2014, at the annual South by Southwest (SXSW) event, Wolfram officially announced the Wolfram Language as a new general multi-paradigm programming language, though it was previously available through Mathematica and not an entirely new programming language. The documentation for the language was pre-released in October 2013 to coincide with the bundling of Mathematica and the Wolfram Language on every Raspberry Pi computer with some controversy because of the proprietary nature of the Wolfram Language. While the Wolfram Language has existed for over 30 years as the primary programming language used in Mathematica, it was not officially named until 2014, and is not widely used. === Wolfram Physics Project === In April 2020, Wolfram announced the "Wolfram Physics Project" as an effort to reduce and explain all the laws of physics within a paradigm of a hypergraph that is transformed by minimal rewriting rules that obey the Church–Rosser property. The effort is a continuation of the ideas he originally described in A New Kind of Science. Wolfram claims that "From an extremely simple model, we're able to reproduce special relativity, general relativity and the core results of quantum mechanics." Physicists are generally unimpressed with Wolfram's claim, and say his results are non-quantitative and arbitrary. == Personal interests and activities == Wolfram has a log of personal analytics, including emails received and sent, keystrokes made, meetings and events attended, recordings of phone calls, and even physical movement dating back to the 1980s. In the preface of A New Kind of Science, he noted that he recorded over 100 million keystrokes and 100 mouse miles. He has said that personal analytics "can give us a whole new dimension to experiencing our lives." Wolfram was a scientific consultant for the 2016 film Arrival. He and his son Christopher Wolfram wrote some of the code featured on screen, such as the code in graphics depicting an analysis of the alien logograms, for which they used the Wolfram Language.

Lillian Lee (computer scientist)

Lillian Lee is a computer scientist whose research involves natural language processing, sentiment analysis, and computational social science. She is a professor of computer science and information science at Cornell University, and co-editor-in-chief of the journal Transactions of the Association for Computational Linguistics. == Education == Lee graduated from Cornell University in 1993 with an undergraduate degree in math and science. She completed her Ph.D. at Harvard University in 1997. Her dissertation, Similarity-Based Approaches to Natural Language Processing, was supervised by Stuart M. Shieber. == Career == Lee has been a member of the Cornell faculty since 1997. == Recognition == Lee has been a fellow of the Association for the Advancement of Artificial Intelligence since 2013, and of the Association for Computational Linguistics since 2017. Lee was elected as an ACM Fellow in 2018 for "contributions to natural language processing, sentiment analysis, and computational social science".

Supervised learning

In machine learning, supervised learning (SL) is a type of machine learning paradigm where an algorithm learns to map input data to a specific output based on example input-output pairs. This process involves training a statistical model using labeled data, meaning each piece of input data is provided with the correct output. The term "supervised" refers to the role of a teacher or supervisor who provides this training data, guiding the algorithm towards correct predictions. For instance, if you want a model to identify cats in images, supervised learning would involve feeding it many images of cats (inputs) that are explicitly labeled "cat" (outputs). The goal of supervised learning is for the trained model to accurately predict the output for new, unseen data. This requires the algorithm to effectively generalize from the training examples, a quality measured by its generalization error. Supervised learning is commonly used for tasks like classification (predicting a category, e.g., spam or not spam) and regression (predicting a continuous value, e.g., house prices). == Steps to follow == To solve a given problem of supervised learning, the following steps must be performed: Determine the type of training samples. Before doing anything else, the user should decide what kind of data is to be used as a training set. In the case of handwriting analysis, for example, this might be a single handwritten character, an entire handwritten word, an entire sentence of handwriting, or a full paragraph of handwriting. Gather a training set. The training set needs to be representative of the real-world use of the function. Thus, a set of input objects is gathered together with corresponding outputs, either from human experts or from measurements. Determine the input feature representation of the learned function. The accuracy of the learned function depends strongly on how the input object is represented. Typically, the input object is transformed into a feature vector, which contains a number of features that are descriptive of the object. The number of features should not be too large, because of the curse of dimensionality; but should contain enough information to accurately predict the output. Determine the structure of the learned function and corresponding learning algorithm. For example, one may choose to use support-vector machines or decision trees. Complete the design. Run the learning algorithm on the gathered training set. Some supervised learning algorithms require the user to determine certain control parameters. These parameters may be adjusted by optimizing performance on a subset (called a validation set) of the training set, or via cross-validation. Evaluate the accuracy of the learned function. After parameter adjustment and learning, the performance of the resulting function should be measured on a test set that is separate from the training set. == Algorithm choice == A wide range of supervised learning algorithms are available, each with its strengths and weaknesses. There is no single learning algorithm that works best on all supervised learning problems (see the No free lunch theorem). There are four major issues to consider in supervised learning: === Bias–variance tradeoff === A first issue is the tradeoff between bias and variance. Imagine that we have available several different, but equally good, training data sets. A learning algorithm is biased for a particular input x {\displaystyle x} if, when trained on each of these data sets, it is systematically incorrect when predicting the correct output for x {\displaystyle x} . A learning algorithm has high variance for a particular input x {\displaystyle x} if it predicts different output values when trained on different training sets. The prediction error of a learned classifier is related to the sum of the bias and the variance of the learning algorithm. Generally, there is a tradeoff between bias and variance. A learning algorithm with low bias must be "flexible" so that it can fit the data well. But if the learning algorithm is too flexible, it will fit each training data set differently, and hence have high variance. A key aspect of many supervised learning methods is that they are able to adjust this tradeoff between bias and variance (either automatically or by providing a bias/variance parameter that the user can adjust). === Function complexity and amount of training data === The second issue is of the amount of training data available relative to the complexity of the "true" function (classifier or regression function). If the true function is simple, then an "inflexible" learning algorithm with high bias and low variance will be able to learn it from a small amount of data. But if the true function is highly complex (e.g., because it involves complex interactions among many different input features and behaves differently in different parts of the input space), then the function will only be able to learn with a large amount of training data paired with a "flexible" learning algorithm with low bias and high variance. === Dimensionality of the input space === A third issue is the dimensionality of the input space. If the input feature vectors have large dimensions, learning the function can be difficult even if the true function only depends on a small number of those features. This is because the many "extra" dimensions can confuse the learning algorithm and cause it to have high variance. Hence, input data of large dimensions typically requires tuning the classifier to have low variance and high bias. In practice, if the engineer can manually remove irrelevant features from the input data, it will likely improve the accuracy of the learned function. In addition, there are many algorithms for feature selection that seek to identify the relevant features and discard the irrelevant ones. This is an instance of the more general strategy of dimensionality reduction, which seeks to map the input data into a lower-dimensional space prior to running the supervised learning algorithm. === Noise in the output values === A fourth issue is the degree of noise in the desired output values (the supervisory target variables). If the desired output values are often incorrect (because of human error or sensor errors), then the learning algorithm should not attempt to find a function that exactly matches the training examples. Attempting to fit the data too carefully leads to overfitting. You can overfit even when there are no measurement errors (stochastic noise) if the function you are trying to learn is too complex for your learning model. In such a situation, the part of the target function that cannot be modeled "corrupts" your training data – this phenomenon has been called deterministic noise. When either type of noise is present, it is better to go with a higher bias, lower variance estimator. In practice, there are several approaches to alleviate noise in the output values such as early stopping to prevent overfitting as well as detecting and removing the noisy training examples prior to training the supervised learning algorithm. There are several algorithms that identify noisy training examples and removing the suspected noisy training examples prior to training has decreased generalization error with statistical significance. === Other factors to consider === Other factors to consider when choosing and applying a learning algorithm include the following: Heterogeneity of the data. If the feature vectors include features of many different kinds (discrete, discrete ordered, counts, continuous values), some algorithms are easier to apply than others. Many algorithms, including support-vector machines, linear regression, logistic regression, neural networks, and nearest neighbor methods, require that the input features be numerical and scaled to similar ranges (e.g., to the [-1,1] interval). Methods that employ a distance function, such as nearest neighbor methods and support-vector machines with Gaussian kernels, are particularly sensitive to this. An advantage of decision trees is that they easily handle heterogeneous data. Redundancy in the data. If the input features contain redundant information (e.g., highly correlated features), some learning algorithms (e.g., linear regression, logistic regression, and distance-based methods) will perform poorly because of numerical instabilities. These problems can often be solved by imposing some form of regularization. Presence of interactions and non-linearities. If each of the features makes an independent contribution to the output, then algorithms based on linear functions (e.g., linear regression, logistic regression, support-vector machines, naive Bayes) and distance functions (e.g., nearest neighbor methods, support-vector machines with Gaussian kernels) generally perform well. However, if there are complex interactions among features, then algorithms such as decision trees and neural networks work better, becaus

Database index

A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure. Indexes are used to quickly locate data without having to search every row in a database table every time said table is accessed. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random lookups and efficient access of ordered records. An index is a copy of selected columns of data, from a table, that is designed to enable very efficient search. An index normally includes a "key" or direct link to the original row of data from which it was copied, to allow the complete row to be retrieved efficiently. Some databases extend the power of indexing by letting developers create indexes on column values that have been transformed by functions or expressions. For example, an index could be created on upper(last_name), which would only store the upper-case versions of the last_name field in the index. Another option sometimes supported is the use of partial index, where index entries are created only for those records that satisfy some conditional expression. A further aspect of flexibility is to permit indexing on user-defined functions, as well as expressions formed from an assortment of built-in functions. == Usage == === Support for fast lookup === Most database software includes indexing technology that enables sub-linear time lookup to improve performance, as linear search is inefficient for large databases. Suppose a database contains N data items and one must be retrieved based on the value of one of the fields. A simple implementation retrieves and examines each item according to the test. If there is only one matching item, this can stop when it finds that single item, but if there are multiple matches, it must test everything. This means that the number of operations in the average case is O(N) or linear time. Since databases may contain many objects, and since lookup is a common operation, it is often desirable to improve performance. An index is any data structure that improves the performance of lookup. There are many different data structures used for this purpose. There are complex design trade-offs involving lookup performance, index size, and index-update performance. Many index designs exhibit logarithmic (O(log(N))) lookup performance and in some applications it is possible to achieve flat (O(1)) performance. === Policing the database constraints === Indexes are used to police database constraints, such as UNIQUE, EXCLUSION, PRIMARY KEY and FOREIGN KEY. An index may be declared as UNIQUE, which creates an implicit constraint on the underlying table. Database systems usually implicitly create an index on a set of columns declared PRIMARY KEY, and some are capable of using an already-existing index to police this constraint. Many database systems require that both referencing and referenced sets of columns in a FOREIGN KEY constraint are indexed, thus improving performance of inserts, updates and deletes to the tables participating in the constraint. Some database systems support an EXCLUSION constraint that ensures that, for a newly inserted or updated record, a certain predicate holds for no other record. This can be used to implement a UNIQUE constraint (with equality predicate) or more complex constraints, like ensuring that no overlapping time ranges or no intersecting geometry objects would be stored in the table. An index supporting fast searching for records satisfying the predicate is required to police such a constraint. == Index architecture and indexing methods == === Non-clustered === The data is present in arbitrary order, but the logical ordering is specified by the index. The data rows may be spread throughout the table regardless of the value of the indexed column or expression. The non-clustered index tree contains the index keys in sorted order, with the leaf level of the index containing the pointer to the record (page and the row number in the data page in page-organized engines; row offset in file-organized engines). In a non-clustered index, The physical order of the rows is not the same as the index order. The indexed columns are typically non-primary key columns used in JOIN, WHERE, and ORDER BY clauses. There can be more than one non-clustered index on a database table. === Clustered === Clustering alters the data block into a certain distinct order to match the index, resulting in the row data being stored in order. Therefore, only one clustered index can be created on a given database table. Clustered indexes can greatly increase overall speed of retrieval, but usually only where the data is accessed sequentially in the same or reverse order of the clustered index, or when a range of items is selected. Since the physical records are in this sort order on disk, the next row item in the sequence is immediately before or after the last one, and so fewer data block reads are required. The primary feature of a clustered index is therefore the ordering of the physical data rows in accordance with the index blocks that point to them. Some databases separate the data and index blocks into separate files, others put two completely different data blocks within the same physical file(s). === Cluster === When multiple databases and multiple tables are joined, it is called a cluster (not to be confused with clustered index described previously). The records for the tables sharing the value of a cluster key shall be stored together in the same or nearby data blocks. This may improve the joins of these tables on the cluster key, since the matching records are stored together and less I/O is required to locate them. The cluster configuration defines the data layout in the tables that are parts of the cluster. A cluster can be keyed with a B-tree index or a hash table. The data block where the table record is stored is defined by the value of the cluster key. == Column order == The order that the index definition defines the columns in is important. It is possible to retrieve a set of row identifiers using only the first indexed column. However, it is not possible or efficient (on most databases) to retrieve the set of row identifiers using only the second or greater indexed column. For example, in a phone book organized by city first, then by last name, and then by first name, in a particular city, one can easily extract the list of all phone numbers. However, it would be very tedious to find all the phone numbers for a particular last name. One would have to look within each city's section for the entries with that last name. Some databases can do this, others just won't use the index. In the phone book example with a composite index created on the columns (city, last_name, first_name), if we search by giving exact values for all the three fields, search time is minimal—but if we provide the values for city and first_name only, the search uses only the city field to retrieve all matched records. Then a sequential lookup checks the matching with first_name. So, to improve the performance, one must ensure that the index is created on the order of search columns. == Applications and limitations == Indexes are useful for many applications but come with some limitations. Consider the following SQL statement: SELECT first_name FROM people WHERE last_name = 'Smith';. To process this statement without an index the database software must look at the last_name column on every row in the table (this is known as a full table scan). With an index the database simply follows the index data structure (typically a B-tree) until the Smith entry has been found; this is much less computationally expensive than a full table scan. Consider this SQL statement: SELECT email_address FROM customers WHERE email_address LIKE '%@wikipedia.org';. This query would yield an email address for every customer whose email address ends with "@wikipedia.org", but even if the email_address column has been indexed the database must perform a full index scan. This is because the index is built with the assumption that words go from left to right. With a wildcard at the beginning of the search-term, the database software is unable to use the underlying index data structure (in other words, the WHERE-clause is not sargable). This problem can be solved through the addition of another index created on reverse(email_address) and a SQL query like this: SELECT email_address FROM customers WHERE reverse(email_address) LIKE reverse('%@wikipedia.org');. This puts the wild-card at the right-most part of the query (now gro.aidepikiw@%), which the index on reverse(email_address) can satisfy. When the wildcard characters are used on both sides of the search word as %wikipedia.org%, the index available on this field is not used. Rather only a sequential search is performed, which takes ⁠ O ( N ) {\displaystyle

Linguistics Research Center at UT Austin

The Linguistics Research Center (LRC) at the University of Texas is a center for computational linguistics research & development. It was directed by Prof. Winfred Lehmann until his death in 2007, and subsequently by Dr. Jonathan Slocum. Since its founding, virtually all projects at the LRC have involved processing natural language texts with the aid of computers. The principal activities of the Center at present focus on Indo-European languages and comprise historical study, lexicography, and web-based teaching; staff members engage in several independent but often complementary projects in these fields using a variety of software, almost all of it developed in-house. == History == The LRC was founded by Winfred Lehmann in 1961. In the early days, research efforts at the LRC concentrated on machine translation (MT) -- the translation of texts from one human language to another with the aid of computers, very developed nowadays in the field of language industry—funded by the USAF and other sponsors. The LRC concentrated on German English translation, though a copy of the Russian Master Dictionary was deposited at the LRC after the ALPAC report. After a general hiatus ca. 1975-78, new funding led to the development by Jonathan Slocum and others of a new system with the same name (the METAL MT system), but with new sets of tools for linguists and vastly greater success, resulting in the delivery a production prototype then later a full-fledged commercial MT system. MT R&D continued at the LRC, with funding by various sponsors, until well into the 1990s. From its early years to the present, the LRC has mounted a number of smaller projects resulting in the publication of significant works relating to Indo-European languages and/or their common ancestor, Proto-Indo-European. The hallmark of this work has been the use of computers to transcribe texts and prepare them for publication. A prominent example of the LRC using computers to prepare texts for print publication is the book by Winfred P. Lehmann, A Gothic Etymological Dictionary (Leiden: Brill, 1986). The final print-ready version was produced with the aid of a laser printer (exotic new technology, in those days) using, for the various languages included in the entries, approximately 500 special characters—many of them designed at the Center. This was the first major etymological dictionary for Indo-European languages to be produced with the aid of computers. Current LRC projects have concentrated on transcribing early Indo-European texts, developing language lessons based on them, and publishing on the web these and other materials related to the study of Indo-European languages, of their common ancestor Proto-Indo-European, and of historical linguistics more generally. == Alumni == Winfred Lehmann Rolf A. Stachowitz Jonathan Slocum Winfield S. Bennett John White