AI Assistant X

AI Assistant X — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Hyperparameter (machine learning)

    Hyperparameter (machine learning)

    In machine learning, a hyperparameter is a parameter that can be set in order to define any configurable part of a model's learning process. Hyperparameters can be classified as either model hyperparameters (such as the topology and size of a neural network) or algorithm hyperparameters (such as the learning rate and the batch size of an optimizer). These are named hyperparameters in contrast to parameters, which are characteristics that the model learns from the data. Hyperparameters are not required by every model or algorithm. Some simple algorithms such as ordinary least squares regression require none. However, the LASSO algorithm, for example, adds a regularization hyperparameter to ordinary least squares which must be set before training. Even models and algorithms without a strict requirement to define hyperparameters may not produce meaningful results if these are not carefully chosen. However, optimal values for hyperparameters are not always easy to predict. Some hyperparameters may have no meaningful effect, or one important variable may be conditional upon the value of another. Often a separate process of hyperparameter tuning is needed to find a suitable combination for the data and task. As well as improving model performance, hyperparameters can be used by researchers to introduce robustness and reproducibility into their work, especially if it uses models that incorporate random number generation. == Considerations == The time required to train and test a model can depend upon the choice of its hyperparameters. A hyperparameter is usually of continuous or integer type, leading to mixed-type optimization problems. The existence of some hyperparameters is conditional upon the value of others, e.g. the size of each hidden layer in a neural network can be conditional upon the number of layers. === Difficulty-learnable parameters === The objective function is typically non-differentiable with respect to hyperparameters. As a result, in most instances, hyperparameters cannot be learned using gradient-based optimization methods (such as gradient descent), which are commonly employed to learn model parameters. These hyperparameters are those parameters describing a model representation that cannot be learned by common optimization methods, but nonetheless affect the loss function. An example would be the tolerance hyperparameter for errors in support vector machines. === Untrainable parameters === Sometimes, hyperparameters cannot be learned from the training data because they aggressively increase the capacity of a model and can push the loss function to an undesired minimum (overfitting to the data), as opposed to correctly mapping the richness of the structure in the data. For example, if we treat the degree of a polynomial equation fitting a regression model as a trainable parameter, the degree would increase until the model perfectly fit the data, yielding low training error, but poor generalization performance. === Tunability === Most performance variation can be attributed to just a few hyperparameters. The tunability of an algorithm, hyperparameter, or interacting hyperparameters is a measure of how much performance can be gained by tuning it. For an LSTM, while the learning rate followed by the network size are its most crucial hyperparameters, batching and momentum have no significant effect on its performance. Although some research has advocated the use of mini-batch sizes in the thousands, other work has found the best performance with mini-batch sizes between 2 and 32. === Robustness === An inherent stochasticity in learning directly implies that the empirical hyperparameter performance is not necessarily its true performance. Methods that are not robust to simple changes in hyperparameters, random seeds, or even different implementations of the same algorithm cannot be integrated into mission critical control systems without significant simplification and robustification. Reinforcement learning algorithms, in particular, require measuring their performance over a large number of random seeds, and also measuring their sensitivity to choices of hyperparameters. Their evaluation with a small number of random seeds does not capture performance adequately due to high variance. Some reinforcement learning methods, e.g. DDPG (Deep Deterministic Policy Gradient), are more sensitive to hyperparameter choices than others. == Optimization == Hyperparameter optimization finds a tuple of hyperparameters that yields an optimal model which minimizes a predefined loss function on given test data. The objective function takes a tuple of hyperparameters and returns the associated loss. Typically these methods are not gradient based, and instead apply concepts from derivative-free optimization or black box optimization. == Reproducibility == Apart from tuning hyperparameters, machine learning involves storing and organizing the parameters and results, and making sure they are reproducible. In the absence of a robust infrastructure for this purpose, research code often evolves quickly and compromises essential aspects like bookkeeping and reproducibility. Online collaboration platforms for machine learning go further by allowing scientists to automatically share, organize and discuss experiments, data, and algorithms. Reproducibility can be particularly difficult for deep learning models. For example, research has shown that deep learning models depend very heavily even on the random seed selection of the random number generator.

    Read more →
  • Boris Katz

    Boris Katz

    Boris Gershevich Katz (Russian: Борис Гершевич Кац; born October 5, 1947) is a principal American research scientist (computer scientist) at the MIT Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology in Cambridge and head of the Laboratory's InfoLab Group. His research interests include natural language processing and understanding, machine learning and intelligent information access. His brother Victor Kac is a mathematician at MIT. He was able to get out of the USSR with the help of U.S. Senator Ted Kennedy, before the end of the Cold War. Over the last several decades, Boris Katz has been developing the START natural language system that allows the user to access various types of information using English. == Biography == Boris Katz was born on October 5, 1947, in Chișinău in the family of Hersh Katz (died 1976) and Hayki (Klara) Landman (born 1921, Lipcani, Briceni District - died 2006, Cambridge, Middlesex County), who moved from Lipcani, a town located in the northern Bessarabian, to Chișinău before the war. He graduated from Moscow State University and in November 1978, he left for the United States thanks to the personal intervention of Senator Edward M. Kennedy. He defended his thesis as a candidate of physical and mathematical sciences in 1975 under the supervision of Evgenii M. Landis. He currently lives in Boston and heads the InfoLabresearch team at the Laboratory of Informatics and Artificial Intelligence at the Massachusetts Institute of Technology. Boris Katz is the creator of the START information processing system (since 1993 - on the Internet), the author of several works in the field of processing, generation and perception of natural languages, machine learning, and accelerated access to multimedia information. == Family == Brothers - Victor Gershevich Katz, American mathematician, professor at the Massachusetts Institute of Technology; Mikhail Gershevich Katz, Israeli mathematician, graduate of Harvard and Columbia (Ph.D., 1984) universities, professor at Bar-Ilan University, author of the monograph "Systolic Geometry and Topology" (Mathematical Surveys and Monographs, vol. 137. American Mathematical Society: Providence, 2007). Daughter - Luba Katz, a bioinformatics scientist (her husband is Alan Jasanoff, a neuroimaging scientist, a professor at MIT, the son of Harvard University professors Jay Jasanoff and Sheila Jasanoff). == Past works == A Knowledge Entry System for Subject Matter Experts: The goal of SHAKEN project is to enable subject matter experts, without any assistance from AI technologists, to assemble the models of processes and mechanisms so that questions about them can be answered by declarative inference and simulation. Exploiting lexical regularities in designing natural language systems Word sense disambiguation for information retrieval HIKE (HPKB integrated knowledge environment)- a query interface and integrated knowledge environment for HPKB Quantitative evaluation of passage retrieval algorithms for question answering Sticky notes for the semantic web Question answering from the web using knowledge annotation and knowledge mining techniques The role of context in question answering systems

    Read more →
  • Deepset

    Deepset

    deepset is an enterprise software vendor that provides developers with the tools to build production-ready Artificial Intelligence (AI) and natural language processing (NLP) systems, using architectures such as agents, retrieval augmented generation (RAG) and multimodal AI. It was founded in 2018 in Berlin by Milos Rusic, Malte Pietsch, and Timo Möller. deepset authored and maintains the open source software Haystack and its commercial SaaS and self-hosted (VPC, on-prem, air gapped) offering, Haystack Enterprise Platform. (formerly known as deepset Cloud and deepset AI Platform) == History == In June 2018, Milos Rusic, Malte Pietsch, and Timo Möller co-founded deepset in Berlin, Germany. In the same year, the company served first customers who wanted to implement NLP services by tailoring BERT language models to their domain. In July 2019, the company released the initial version of the open source software FARM. In November 2019, the company released the initial version of the open source software Haystack. Throughout 2020 and 2021 deepset published several applied research papers at EMNLP, COLING and ACL, the leading conferences in the area of NLP. In 2020, the research contributions comprised German language models named GBERT and GELECTRA, and a question answering dataset addressing the COVID-19 pandemic called COVID-QA, which was created in collaboration with Intel and has been annotated by biomedical experts. In 2021, the research contributions comprised German models and datasets for question answering and passage retrieval named GermanQuAD and GermanDPR, a semantic answer similarity metric, and an approach for multimodal retrieval of texts and tables to enable question answering on tabular data. Haystack contains implementations of all three contributions, enabling the use of the research through the open source framework. In November 2021, the development of the FARM framework was discontinued and its main features were integrated into the Haystack framework. In April 2022, the company announced its commercial SaaS offering deepset Cloud, which was rebranded in 2025 as Haystack Enterprise Platform supporting SaaS and on-premise deployment options. As of August 2023, the most popular finetuned language model created by deepset was downloaded more than 52 million times. In 2024, deepset was named a Gartner Cool Vendor in AI Engineering. In 2025, deepset was recognized for its growth by WirtschaftsWoche and Sifted and shared partnership integrations and announcements with Meta Llama Stack, MongoDB, NVIDIA, Amazon Web Services (AWS), and PwC. As of September 2025, the Haystack open source AI orchestration framework has more than 24,000 GitHub stars. == Products and applications == Haystack is an open source Python AI Orchestration framework for building custom AI agents and applications with large language models. With its modular building block components, software developers and AI engineers can implement pipelines to build and customize various AI architectures over large document and multimodal data collections, such as agents, retrieval augmented generation (RAG), intelligent document processing (IDP), text-to-SQL as well as document retrieval, semantic search, text generation, question answering, or summarization. Haystack emphasizes context engineering, an approach to AI system design that focuses on explicit control over how contextual information is retrieved, structured, routed to language models, and evaluated after generation. This allows developers to build AI systems with transparent data flow, tool usage, and configurable reasoning processes. Haystack integrates with 90+ model and technology providers including Hugging Face Transformers, Elasticsearch, OpenSearch, OpenAI, Cohere, Anthropic, Mistral and others. Developers can extend these integrations with their own custom components. The framework has an active community on Discord with more than 4k members and GitHub, where so far more than 300 people have contributed to its continuous development, and engage on Meetup. Thousands of organizations use the framework, including public sector leaders like the European Commission and Global 500 enterprises like Airbus, Intel, NVIDIA, Lufthansa, Netflix, Apple, Infineon, Alcatel-Lucent Enterprise, BetterUp, Etalab, Sooth.ai, and Lego. On top of the Haystack open source framework, deepset offers two enterprise offerings to organizations. Haystack Enterprise Starter provides enterprise support on the open source framework from the Haystack engineering team as well as a private GitHub repository with production use case templates and Kubernetes deployment guides. The Haystack Enterprise Platform supports customers at building scalable AI applications by covering the entire process of prototyping, experimentation, deployment, monitoring, and governance. It is built on the Haystack open source framework and is available for hosting in the cloud and self-hosted via VPC, on-premise, or air gapped environments. deepset's enterprise tools are used by organizations including The European Commission, The Economist, Oxford University Press, the German Federal Ministry of Research, Technology, and Space (BMFTR), Manz Verlag, and the German Armed Forces. FARM was an earlier framework for adapting representation models. One of its core concepts was the implementation of adaptive models, which comprised language models and an arbitrary number of prediction heads. FARM supported domain-adaptation and finetuning of these models with advanced options, for example gradient accumulation, cross-validation or automatic mixed-precision training. Its main features were integrated into Haystack in November 2021, and its development was discontinued at that time. == Funding == On August 9, 2023, deepset announced a Series B investment round of $30 million led by Balderton Capital and including participation from existing investors GV, System.One, Lunar Ventures and Harpoon Ventures. On April 28, 2022, deepset announced a Series A investment round of $14 million led by GV, with the participation of Harpoon Ventures, Acequia Capital and a team of experienced commercial open source software and machine learning founders, such as Alex Ratner (Snorkel AI), Mustafa Suleyman (Deepmind), Spencer Kimball (Cockroach Labs), Jeff Hammerbacher (Cloudera) and Emil Eifrem (Neo4j). A previous pre-seed investment round of $1.6 million on March 8, 2021, was led by System.One and Lunar Ventures, who also participated in the subsequent Series A round.

    Read more →
  • Project Bergamot

    Project Bergamot

    Project Bergamot is a joint project between several European universities and Mozilla for the development of machine translation software based on artificial neural networks, which is intended for local execution on end-user devices. The software library that was created and the associated language models were made available to the general public as Free Software. Execution requires a x86 CPU with SSE4.1 instruction set extensions. In 2022, Devin Coldewey of TechCrunch judged the translation quality to be "more than adequate", but considered Firefox Translations to be not yet fully mature. == Usage == Mozilla used the Bergamot Translator to expand its web browser Firefox with a feature for translating web pages, which was previously considered an important gap in Firefox' feature set. It is often compared to the much older corresponding feature in Google Chrome, which utilizes a cloud-based background service. In contrast, Firefox Translations does not require any data to leave the user's computer, resulting in advantages in terms of data protection, availability and possibly response times. There is just the installation of a new language model that needs to take place the first time a new language is encountered. Greater independence from large technology companies and their interests is also mentioned as an important advantage. Mozilla thus strengthened its position as an alternative software vendor with a particular focus on data protection and security. Mozilla followed up with the similar feature of speech recognition for spoken user input, based on whisperfile. On the other hand, slow translation times have been observed, especially on older devices. Also, Firefox Translations initially supported far fewer language pairs than other major translation services and is only gradually adding new models. On that matter, the training pipeline is also made available to interested parties to enable the creation of missing language models. TranslateLocally is a Firefox-independent translation software based on the Bergamot Translator. It is also available as an (Electron-based) standalone application or as an extension for Chromium-based web browsers. == History == Mozilla had already tried to get a (cloud-based) web content translation feature into Firefox a few years before Project Bergamot, but had failed because of the financial challenge. Microsoft had already delivered offline capabilities for its translation software in 2018. Google soon followed suit, Apple two years later. The software is based on the free translation framework Marian, which the University of Edinburgh had previously developed in cooperation with Microsoft, and is itself based on the Nematus toolkit that was presented in 2017. Under the leadership of the University of Edinburgh, a development consortium was formed with the Mozilla Corporation and the additional European universities of Prague, Sheffield and Tartu. In 2018, it was able to get 3 million euros of funding from the EU's Horizon 2020 programme. Firefox Translations was initially provided as an add-on. A first functional demonstration prototype was presented in October 2019. Beta version 117 had the feature integrated directly into the browser, the official release was in version 118 from September 2023. Both the add-on module and as part of Firefox, the code and the models are subject to the version 2 of the Mozilla Public License. Since 2022, the EU-funded HPLT project creates new language models. It involves additional partners, including the universities of Helsinki, Turku, Oslo and other partners from Spain, Norway and the Czech Republic.

    Read more →
  • Oracle Cloud Platform

    Oracle Cloud Platform

    Oracle Cloud Platform refers to a Platform as a Service (PaaS) offerings by Oracle Corporation as part of Oracle Cloud Infrastructure. These offerings are used to build, deploy, integrate and extend applications in the cloud. The offerings support a variety of programming languages, databases, tools and frameworks including Oracle-specific, open source and third-party software and systems. == Deployment models == Oracle Cloud Platform offers public, private and hybrid cloud deployment models. == Architecture == Oracle Cloud Platform provides both Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). The infrastructure is offered through a global network of Oracle managed data centers. Oracle deploys their cloud in Regions. Inside each Region are at least three fault-independent Availability Domains. Each of these Availability Domains contains an independent data center with power, thermal and network isolation. Oracle Cloud is generally available in North America, EMEA, APAC and Japan with announced South America and US Govt. regions coming soon.

    Read more →
  • Corpus language

    Corpus language

    A corpus language is a language that has no living speakers but for which numerous records produced by its native speakers survive. Examples of corpus languages are Ancient Greek, Latin, the Egyptian language, Old English, Old Norse, Elamite, and Sanskrit. Some corpus languages, such as Ancient Greek and Latin, left very large corpora and therefore can be fully reconstructed, even though some details of pronunciation may be unclear. Such languages can be used even today, as is the case with Sanskrit and Latin. Other languages have such limited corpora that some important words—e.g., some pronouns—are lacking in the corpora. Examples of these are Ugaritic and Gothic. Languages attested only by a few words, often names, and a few phrases, are called Trümmersprache (literally "rubble languages") in German linguistics. These can be reconstructed only in a very limited way, and often their genetic relationship to other languages remains unclear. Examples are Dalmatian, Etruscan, also known as Rasenna, Dadanitic, a Semitic language that may be close to classical Arabic, Lombardic, Burgundian, Vandalic, and Oscan, Umbrian, and Faliscan, all Italic languages that were related to Latin. Corpus languages are studied using the methods of corpus linguistics, but corpus linguistics can also be used (and is commonly used) for the study of the writings and other records of living languages. Not all extinct languages are corpus languages, since there are many extinct languages in which few or no writings or other records survive, as is the case in the vast majority of languages that have ever existed.

    Read more →
  • AI Chatbots Reviews: What Actually Works in 2026

    AI Chatbots Reviews: What Actually Works in 2026

    Comparing the best AI chatbot? An AI chatbot is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI chatbot slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Pushpak Bhattacharyya

    Pushpak Bhattacharyya

    Pushpak Bhattacharyya (3 July 1962 – 5 October 2025) was an Indian computer scientist and professor in the Department of Computer Science and Engineering at the IIT Bombay. He served as the Director of the IIT Patna from 2015 to 2021. He was a past President of the Association for Computational Linguistics (2016–17), and held the Vijay and Sita Vashee Chair Professorship at IIT Bombay. Bhattacharyya led the Natural Language Processing (NLP) research group at the Centre for Indian Language Technology (CFILT) at IIT Bombay until his death. At the inauguration of the Nilekani Centre at AI4Bharat, IIT Madras, Nandan Nilekani, Co-founder and Non-Executive Chairman of Infosys, referred to Bhattacharyya as the "Godfather of Indian NLP". == Early life and education == Bhattacharyya was born in Shillong in 1962. He completed his schooling at Jail Road Boys' High School, Shillong. He obtained a B.Tech. in Computer Science from the IIT Kharagpur, followed by an M.Tech. from the IIT Kanpur, and a Ph.D. in Computer Science from IIT Bombay in 1994. == Research == Bhattacharyya’s research areas includes Natural language processing, Artificial intelligence, Machine learning, Psycholinguistics, Eye tracking, and Information retrieval. He made contributions to the development of multilingual lexical databases such as IndoWordNet and other projects related to machine translation and computational linguistics. He authored and co-authored multiple academic works, including Investigations in Computational Sarcasm (with Aditya Joshi), Cognitively Inspired Natural Language Processing: An Investigation Based on Eye Tracking (with Abhijit Mishra), and Machine Translation and Transliteration of Low Resource Related Languages (with Anoop Kunchukuttan). Over his career, Bhattacharyya published more than 350 research papers in journals and conference proceedings and supervised over 300 undergraduate, master’s, and doctoral students. His projects often addressed computational challenges for Indian languages, such as developing wordnets, building translation systems for low-resource languages, and studying cognitive aspects of language processing. He also led government- and industry-funded research initiatives supported by organizations including IBM, Microsoft, Yahoo, and the United Nations. == Death == Bhattacharyya died on 5 October 2025, at the age of 63. == Awards == Patwardhan Award, IIT Bombay, for Technology Development VNMM Award, IIT Roorkee, for Technology Development Fellow, Indian National Academy of Engineering Eminent Engineer Award, Institution of Engineers (India)

    Read more →
  • Universal portfolio algorithm

    Universal portfolio algorithm

    The universal portfolio algorithm is a portfolio selection algorithm from the field of machine learning and information theory. The algorithm learns adaptively from historical data and maximizes log-optimal growth rate in the long run, per the Kelly criterion. It was introduced by the late Stanford University information theorist Thomas M. Cover. The algorithm rebalances the portfolio at the beginning of each trading period. At the beginning of the first trading period it starts with a naive diversification. In the following trading periods the portfolio composition depends on the historical total return of all possible constant-rebalanced portfolios. The universal portfolio algorithm is the predecessor of the various online portfolio selection methodologies.

    Read more →
  • How to Choose an AI Writing Assistant

    How to Choose an AI Writing Assistant

    Comparing the best AI writing assistant? An AI writing assistant is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI writing assistant slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

    Read more →
  • AI Pair Programmers: Free vs Paid (2026)

    AI Pair Programmers: Free vs Paid (2026)

    Trying to pick the best AI pair programmer? An AI pair programmer is software that uses machine learning to help you get more done — it scales effortlessly from a single task to thousands. The best picks balance beginner-friendly simplicity with the depth power users need, and they ship updates often. Whether you are a beginner or a pro, the right AI pair programmer slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

    Read more →
  • Supervised learning

    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

    Read more →
  • Halite AI Programming Competition

    Halite AI Programming Competition

    Halite is an open-source computer programming contest developed by the hedge fund/tech firm Two Sigma in partnership with a team at Cornell Tech. Programmers can see the game environment and learn everything they need to know about the game. Participants are asked to build bots in whichever language they choose to compete on a two-dimensional virtual battle field. == History == Benjamin Spector and Michael Truell created the first Halite competition in 2016, before partnering with Two Sigma later that year. === Halite I === Halite I asked participants to conquer territory on a grid. It launched in November 2016 and ended in February 2017. Halite I attracted about 1,500 players. === Halite II === Halite II was similar to Halite I, but with a space-war theme. It ran from October 2017 until January 2018. The second installment of the competition attracted about 6,000 individual players from more than 100 countries. Among the participants were professors, physicists and NASA engineers, as well as high school and university students. === Halite III === Halite III launched in mid-October 2018. It ran from October 2018 to January 2019, with an ocean themed playing field. Players were asked to collect and manage Halite, an energy resource. By the end of the competition, Halite III included more than 4000 players and 460 organizations. === Halite IV === Halite IV was hosted by Kaggle, and launched in mid-June 2020.

    Read more →
  • Deepset

    Deepset

    deepset is an enterprise software vendor that provides developers with the tools to build production-ready Artificial Intelligence (AI) and natural language processing (NLP) systems, using architectures such as agents, retrieval augmented generation (RAG) and multimodal AI. It was founded in 2018 in Berlin by Milos Rusic, Malte Pietsch, and Timo Möller. deepset authored and maintains the open source software Haystack and its commercial SaaS and self-hosted (VPC, on-prem, air gapped) offering, Haystack Enterprise Platform. (formerly known as deepset Cloud and deepset AI Platform) == History == In June 2018, Milos Rusic, Malte Pietsch, and Timo Möller co-founded deepset in Berlin, Germany. In the same year, the company served first customers who wanted to implement NLP services by tailoring BERT language models to their domain. In July 2019, the company released the initial version of the open source software FARM. In November 2019, the company released the initial version of the open source software Haystack. Throughout 2020 and 2021 deepset published several applied research papers at EMNLP, COLING and ACL, the leading conferences in the area of NLP. In 2020, the research contributions comprised German language models named GBERT and GELECTRA, and a question answering dataset addressing the COVID-19 pandemic called COVID-QA, which was created in collaboration with Intel and has been annotated by biomedical experts. In 2021, the research contributions comprised German models and datasets for question answering and passage retrieval named GermanQuAD and GermanDPR, a semantic answer similarity metric, and an approach for multimodal retrieval of texts and tables to enable question answering on tabular data. Haystack contains implementations of all three contributions, enabling the use of the research through the open source framework. In November 2021, the development of the FARM framework was discontinued and its main features were integrated into the Haystack framework. In April 2022, the company announced its commercial SaaS offering deepset Cloud, which was rebranded in 2025 as Haystack Enterprise Platform supporting SaaS and on-premise deployment options. As of August 2023, the most popular finetuned language model created by deepset was downloaded more than 52 million times. In 2024, deepset was named a Gartner Cool Vendor in AI Engineering. In 2025, deepset was recognized for its growth by WirtschaftsWoche and Sifted and shared partnership integrations and announcements with Meta Llama Stack, MongoDB, NVIDIA, Amazon Web Services (AWS), and PwC. As of September 2025, the Haystack open source AI orchestration framework has more than 24,000 GitHub stars. == Products and applications == Haystack is an open source Python AI Orchestration framework for building custom AI agents and applications with large language models. With its modular building block components, software developers and AI engineers can implement pipelines to build and customize various AI architectures over large document and multimodal data collections, such as agents, retrieval augmented generation (RAG), intelligent document processing (IDP), text-to-SQL as well as document retrieval, semantic search, text generation, question answering, or summarization. Haystack emphasizes context engineering, an approach to AI system design that focuses on explicit control over how contextual information is retrieved, structured, routed to language models, and evaluated after generation. This allows developers to build AI systems with transparent data flow, tool usage, and configurable reasoning processes. Haystack integrates with 90+ model and technology providers including Hugging Face Transformers, Elasticsearch, OpenSearch, OpenAI, Cohere, Anthropic, Mistral and others. Developers can extend these integrations with their own custom components. The framework has an active community on Discord with more than 4k members and GitHub, where so far more than 300 people have contributed to its continuous development, and engage on Meetup. Thousands of organizations use the framework, including public sector leaders like the European Commission and Global 500 enterprises like Airbus, Intel, NVIDIA, Lufthansa, Netflix, Apple, Infineon, Alcatel-Lucent Enterprise, BetterUp, Etalab, Sooth.ai, and Lego. On top of the Haystack open source framework, deepset offers two enterprise offerings to organizations. Haystack Enterprise Starter provides enterprise support on the open source framework from the Haystack engineering team as well as a private GitHub repository with production use case templates and Kubernetes deployment guides. The Haystack Enterprise Platform supports customers at building scalable AI applications by covering the entire process of prototyping, experimentation, deployment, monitoring, and governance. It is built on the Haystack open source framework and is available for hosting in the cloud and self-hosted via VPC, on-premise, or air gapped environments. deepset's enterprise tools are used by organizations including The European Commission, The Economist, Oxford University Press, the German Federal Ministry of Research, Technology, and Space (BMFTR), Manz Verlag, and the German Armed Forces. FARM was an earlier framework for adapting representation models. One of its core concepts was the implementation of adaptive models, which comprised language models and an arbitrary number of prediction heads. FARM supported domain-adaptation and finetuning of these models with advanced options, for example gradient accumulation, cross-validation or automatic mixed-precision training. Its main features were integrated into Haystack in November 2021, and its development was discontinued at that time. == Funding == On August 9, 2023, deepset announced a Series B investment round of $30 million led by Balderton Capital and including participation from existing investors GV, System.One, Lunar Ventures and Harpoon Ventures. On April 28, 2022, deepset announced a Series A investment round of $14 million led by GV, with the participation of Harpoon Ventures, Acequia Capital and a team of experienced commercial open source software and machine learning founders, such as Alex Ratner (Snorkel AI), Mustafa Suleyman (Deepmind), Spencer Kimball (Cockroach Labs), Jeff Hammerbacher (Cloudera) and Emil Eifrem (Neo4j). A previous pre-seed investment round of $1.6 million on March 8, 2021, was led by System.One and Lunar Ventures, who also participated in the subsequent Series A round.

    Read more →
  • Thompson's construction

    Thompson's construction

    In computer science, Thompson's construction algorithm, also called the McNaughton–Yamada–Thompson algorithm, is a method of transforming a regular expression into an equivalent nondeterministic finite automaton (NFA). This NFA can be used to match strings against the regular expression. This algorithm is credited to Ken Thompson. Regular expressions and nondeterministic finite automata are two representations of formal languages. For instance, text processing utilities use regular expressions to describe advanced search patterns, but NFAs are better suited for execution on a computer. Hence, this algorithm is of practical interest, since it can compile regular expressions into NFAs. From a theoretical point of view, this algorithm is a part of the proof that they both accept exactly the same languages, that is, the regular languages. An NFA can be made deterministic by the powerset construction and then be minimized to get an optimal automaton corresponding to the given regular expression. However, an NFA may also be interpreted directly. To decide whether two given regular expressions describe the same language, each can be converted into an equivalent minimal deterministic finite automaton via Thompson's construction, powerset construction, and DFA minimization. If, and only if, the resulting automata agree up to renaming of states, the regular expressions' languages agree. == The algorithm == The algorithm works recursively by splitting an expression into its constituent subexpressions, from which the NFA will be constructed using a set of rules. More precisely, from a regular expression E, the obtained automaton A with the transition function Δ respects the following properties: A has exactly one initial state q0, which is not accessible from any other state. That is, for any state q and any letter a, Δ ( q , a ) {\displaystyle \Delta (q,a)} does not contain q0. A has exactly one final state qf, which is not co-accessible from any other state. That is, for any letter a, Δ ( q f , a ) = ∅ {\displaystyle \Delta (q_{f},a)=\emptyset } . Let c be the number of concatenation of the regular expression E and let s be the number of symbols apart from parentheses — that is, |, , a and ε. Then, the number of states of A is 2s − c (linear in the size of E). The number of transitions leaving any state is at most two. Since an NFA of m states and at most e transitions from each state can match a string of length n in time O(emn), a Thompson NFA can do pattern matching in linear time, assuming a fixed-size alphabet. === Rules === The following rules are depicted according to Aho et al. (2007), p. 122. In what follows, N(s) and N(t) are the NFA of the subexpressions s and t, respectively. The empty-expression ε is converted to A symbol a of the input alphabet is converted to The union expression s|t is converted to State q goes via ε either to the initial state of N(s) or N(t). Their final states become intermediate states of the whole NFA and merge via two ε-transitions into the final state of the NFA. The concatenation expression st is converted to The initial state of N(s) is the initial state of the whole NFA. The final state of N(s) becomes the initial state of N(t). The final state of N(t) is the final state of the whole NFA. The Kleene star expression s is converted to An ε-transition connects initial and final state of the NFA with the sub-NFA N(s) in between. Another ε-transition from the inner final to the inner initial state of N(s) allows for repetition of expression s according to the star operator. The parenthesized expression (s) is converted to N(s) itself. With these rules, using the empty expression and symbol rules as base cases, it is possible to prove with structural induction that any regular expression may be converted into an equivalent NFA. == Example == Two examples are now given, a small informal one with the result, and a bigger with a step by step application of the algorithm. === Small Example === The picture below shows the result of Thompson's construction on (ε|ab). The purple oval corresponds to a, the teal oval corresponds to a, the green oval corresponds to b, the orange oval corresponds to ab, and the blue oval corresponds to ε. === Application of the algorithm === As an example, the picture shows the result of Thompson's construction algorithm on the regular expression (0|(1(01(00)0)1)) that denotes the set of binary numbers that are multiples of 3: { ε, "0", "00", "11", "000", "011", "110", "0000", "0011", "0110", "1001", "1100", "1111", "00000", ... }. The upper right part shows the logical structure (syntax tree) of the expression, with "." denoting concatenation (assumed to have variable arity); subexpressions are named a-q for reference purposes. The left part shows the nondeterministic finite automaton resulting from Thompson's algorithm, with the entry and exit state of each subexpression colored in magenta and cyan, respectively. An ε as transition label is omitted for clarity — unlabelled transitions are in fact ε transitions. The entry and exit state corresponding to the root expression q is the start and accept state of the automaton, respectively. The algorithm's steps are as follows: An equivalent minimal deterministic automaton is shown below. == Relation to other algorithms == Thompson's is one of several algorithms for constructing NFAs from regular expressions; an earlier algorithm was given by McNaughton and Yamada. Converse to Thompson's construction, Kleene's algorithm transforms a finite automaton into a regular expression. Glushkov's construction algorithm is similar to Thompson's construction, once the ε-transitions are removed. == Use in string pattern matching == Regular expressions are often used to specify patterns that software is then asked to match. Generating an NFA by Thompson's construction, and using an appropriate algorithm to simulate it, it is possible to create pattern-matching software with performance that is ⁠ O ( m n ) {\displaystyle O(mn)} ⁠, where m is the length of the regular expression and n is the length of the string being matched. This is much better than is achieved by many popular programming-language implementations; however, it is restricted to purely regular expressions and does not support patterns for non-regular languages like backreferences.

    Read more →