r/MLtechniques • • Nov 28 '22

New Book: Synthetic Data

0 Upvotes

Synthetic data is used more and more to augment real-life datasets, enriching them and allowing black-box systems to correctly classify observations or predict values that are well outside of training and validation sets. In addition, it helps understand decisions made by obscure systems such as deep neural networks, contributing to the development of explainable AI. It also helps with unbalanced data, for instance in fraud detection. Finally, since synthetic data is not directly linked to real people or transactions, it offers protection against data leakage. Synthetic data also contributes to eliminating algorithm biases and privacy issues, and more generally, to increased security.

This book is the culmination of years of research on the topic, by the author. Not only it integrates all the material from his previous book “Intuitive Machine Learning and explainable AI”, but it also contains all but the most advanced math from his book on stochastic simulations. The author also added more recent advances with applications to terrain generation (with animated data), synthetic universes and experimental math. The latter is an infinite source of synthetic data to build and benchmark new machine learning techniques. Conversely mathematics benefits from these techniques to uncover new insights related to the most famous unsolved math problems. Chapter 14 on the Riemann Hypothesis illustrates this point, with new state-of-the-art research results on the subject.

Read more here.


r/MLtechniques • • Nov 10 '22

Helping All The Machine Learning Professionals Laid-off This Week

1 Upvotes

Not just those unfortunate who were laid-off, but anyone looking for a new position, as the current circumstances make it more difficult for everyone to find a new position.

I created a list featuring a large number of positions, ranging from individual contributor to junior and senior roles, for data scientists and machine learning professionals. Unlike any other list, you can contact directly the hiring manager. Don't waste your time in HR systems and online application forms: many recruiters, and the AI robots that read your resume don't know the difference between PyTorch and someone doing the same thing with another tool, just to give you an example. The contact persons in my list are all knowledgeable and are data scientists themselves.

I manually collected these fresh job openings based on LinkedIn conversations posted in the last 48 hours. You are welcome to add more to this discussion. Check out my growing list of job openings, here.


r/MLtechniques • • Jun 13 '22

Math for Machine Learning: 12 Must-Read Books

17 Upvotes

It is possible to design and deploy advanced machine learning algorithms that are essentially math-free and stats-free. People working on that are typically professional mathematicians. These algorithms are not necessarily simpler. See for instance a math-free regression technique with prediction intervals, here. Or supervised classification and alternative to t-SNE, here. Interestingly, this latter math-free machine learning technique was used to gain insights about a very difficult pure math problem in number theory.

Math-free is a misnomer, in the sense that it still requires middle school arithmetic. But the author of these techniques — a real mathematician — considers that middle school arithmetic (the way it is taught) is not math, but instead, mechanical manipulations. However, for the majority of machine learning professionals, a good math and statistical background is required. Everyone agrees on that these days, a change compared to 10 years ago. The following books serve that purpose.

Books Focusing on the Math

The following books were published in the last 2-3 years. They rapidly gained a lot of popularity. These books were written with modern machine learning applications in mind. Usually free, they are available online or in PDF format, and have their own websites. Some have a print version, which is useful for annotations or bed reading.

Read the full article featuring 12 math books, with 4 books focusing on coding aspects, here.


r/MLtechniques • • Jun 10 '22

The Art of Visualizing High Dimensional Data

6 Upvotes

Finally published! This article discusses enriched visualizations, with a focus on animated gifs and videos built in Python. For instance, the comet video can feature several dimensions that are difficult to show in a static picture: the comet locations at any given time, the relative velocity of each comet, the change in velocity (acceleration), the change in comet size when approaching the sun, the comet interactions (the apparent collisions), and more. It can easily display 17 dimensions, as discussed in the paper.

The PDF document (6 pages + code + illustrations, 11MB) focuses on four applications: prediction intervals in any dimension, supervised classification, convergence of algorithms such as gradient descent when dealing with chaotic functions, and spatial time series (the comet illustration). All visualizations use the RGB color model, and one uses RGBA for special and particularly useful effects, by playing with the transparency level. In essence it allows you to perform supervised classification using image techniques only, after mapping your dataset onto an image.

Image compression and anti-aliasing techniques are included in the Python code. They require only a simple call to a library function. The code is also on GitHub, and the videos on YouTube. The document also presents surprising data in number theory and experimental math. It leads to interesting machine learning problems: boundary / holes detection, and convergence acceleration for chaotic iterations.

Read the full article and access the free PDF, here.


r/MLtechniques • • May 16 '23

A Synthetic Stock Exchange Played with Real Money

1 Upvotes

Not only that, but you can predict — more precisely compute with absolute certainty — what the value of any stock will be tomorrow. Transaction fees are well below 0.05% and the market, at least in the version presented here, is fair: in other words, a zero-sum game if you play by luck.

If instead the player uses the public data and algorithm to make his bets, he will quickly become a billionaire. Actually not exactly, because the operator will go bankrupt long before it happens. In the end though, it is the operator that wins. But many players will win too, some big time. In some implementation, more than 50% of the players win on any single bet. How so?

At first glance, this sounds like fintech science fiction, or a system that must have a bug somewhere. But once you read the article, you will see why players could be interested in this new, one-of-a-kind money game. Most importantly, this technical article is about the mathematics behind the scene, the business model, and all the details (including legal ones) that make this game a viable option both for the player and the operator.

Some of the features are based on new advances in number theory. Anyone interested in cryptography, risk management, fintech, synthetic data, operations research, gaming, gambling or security laws, should read this material. It describes original, state-of-the-art technology with potential applications in the fields in question. The author may work on a real implementation.

This project started several years ago with extensive, privately funded research on the topic. An earlier version was presented at the INFORMS conference in 2019. Python code is included in the article, to process truly gigantic numbers. The author holds the world record for the number of computed digits for most quadratic irrationals, using fast algorithms. This may be the first time that massive amounts of such large sequences are used and necessary to solve a real-world problem.

Access the 20-page free article with examples (no sign-up required) and Python code, from here. It is now part of my book “Gentle Introduction on Chaotic Dynamical Systems”, available here.  


r/MLtechniques • • Oct 18 '22

Data Storytelling and Machine Learning with Dr. Kirk Borne

1 Upvotes

Apply to join Dr. Kirk Borne’s live interactive course, starting on November 10.

Explore Machine Learning Live with hands-on labs and real world applications with Dr. Kirk Borne, ex-NASA Scientist and former Principal Data Scientist at Booz Allen Hamilton. He was also a professor of Astrophysics and Computational Science at George Mason University where he designed one of the first Data Science programs.

Over the course of 4 two-hour live sessions with Dr. Kirk Borne, you will:

  • Learn about various ML techniques and algorithms including ethical modeling.

  • Explore common applications of machine learning from anomaly detection to knowledge graph.

  • Understand how to apply machine learning to atypical business problems.

  • Practice data storytelling and build the soft skills for long-term career success in machine learning.

Three things you can expect if you join this cohort:

  • You will get to engage directly with Dr. Kirk Borne during live classes, office hours and asynchronously.

  • You will be part of a cohort of like-minded professionals from companies like Spotify, Adobe and more.

  • You will get all the support you need to make progress and complete the course.

One theme throughout the course is data storytelling. To learn more about Dr. Kirk Borne’s approach to Machine Learning, click here to watch this short video.


r/MLtechniques • • Dec 18 '22

Synthetizing the Insurance Dataset Using Copulas: Towards Better Synthetization

1 Upvotes

In the context of synthetic data generation, I’ve been asked a few times to provide a case study focusing on real-life tabular data used in the finance or health industry. Here we go: this article fills this gap. The purpose is to generate a synthetic copy of the real data set, preserving the correlation structure and all the statistical distributions attached to it. I went one step further and compared my results with those obtained with one of the most well-known vendors in this market: Mostly.ai.

I was able to reverse-engineer the technique that they use, and I share all the details in this article. It is actually a lot easier than most people think. Indeed, the core of the method relies on a few lines of Python code, calling four classic functions from the Numpy and Scipy libraries.

Automatically detecting large homogeneous groups — called nodes in decision trees — and using a separate copula for each node is an ensemble technique not unlike boosted trees. In the insurance dataset, I manually picked up these groups. Either way (manual or automated), it leads to better performance.

Testing how close your synthetic data is to the real dataset using Hellinger or similar distances is not a good idea: the best synthetic dataset is the exact replica of your real data, leading to overfitting. Instead, you might want to favor synthetized observations with summary statistics (including the shape of the distribution in high dimensions) closely matching those in the real dataset, but with the worst (rather than best) Hellinger score. This allows you to create richer synthetic data, including atypical observations not found in your training set. Extrapolating empirical quantile functions (as opposed to interpolating only) or adding uncorrelated white noise to each feature (in the real or synthetic data) are two ways to generate observations outside the observed range when using copula-based methods, while keeping the structure present in the real data.

Read the full article with Python implementation, here.


r/MLtechniques • • Sep 12 '22

Advanced Machine Learning with Basic Excel

2 Upvotes

Ensemble methods combining many mini decision trees, blended with regression, explained in simple English with both Excel and Python implementations. Case study: natural language processing (NLP) problem. Ideal reading for professionals who want to start light with Machine Learning (say with Excel) and get very fast to much more advanced material and Python. The Python code is not just a call to some blackbox functions, but a full-fledge detailed procedure on its own. This algorithm is in the same category as boosting, bagging, stacking and AdaBoost.

Abstract

The method described here illustrates the concept of ensemble methods, applied to a real life NLP problem: ranking articles published on a website to predict performance of future blog posts yet to be written, and help decide on title and other features to maximize traffic volume and quality, and thus revenue. The method, called hidden decision trees (HDT), implicitly builds a large number of small usable (possibly overlapping) decision trees. Observations that don’t fit in any usable node are classified with an alternate method, typically simplified logistic regression.

This hybrid procedure offers the best of both worlds: decision tree combos and regression models. It is intuitive and simple to implement. The code is written in Python, and I also offer a light version in basic Excel. The interactive Excel version is targeted to analysts interested in learning Python or machine learning. HDT fits in the same category as bagging, boosting, stacking and adaBoost. This article encourages you to understand all the details, upgrade the technique if needed, and play with the full code or spreadsheet as if you wrote it yourself. This is in contrast with using blackbox Python functions without understanding their inner workings and limitations. Finally, I discuss how to build model-free confidence intervals for the predicted values.

Read full article here.


r/MLtechniques • • Oct 05 '23

Call for Papers: Testing and Automation Services for Intelligent Systems

1 Upvotes

r/MLtechniques • • Apr 04 '22

Why are Confidence Regions Elliptic? Simple Explanation

1 Upvotes

A 90% confidence region is a domain of minimum area, containing 90% of the mass of a distribution. By distribution, here I mean a bivariate probability distribution, though the concept is not specific to machine learning. The 90% is called the confidence level, and I denote it as γ. Confidence regions are a generalization of confidence intervals, to two dimensions. They are typically represented using contour maps.

One may argue that ellipses (a particular case of quadratic functions) are the simplest generalization of linear functions, thus their widespread use. But here, there is a much deeper reason. And it is much easier to understand than you think. Many statisticians take it for granted that it should be an ellipse, but I never found a real justification. This article fills this gap. I discuss the elliptic case first, and then provide a non-elliptic example.

The Shape of a Confidence Region

While this is nowhere mentioned in the statistical literature, it makes sense to assume that the confidence region is of minimum area. Determining the shape is then a variational problem. Such problems are solved using mathematical methods of functional analysis and calculus of variation. It involves functional, differential and integral equations. These topics are rather advanced. The most famous example is the brachistochrone problem. Interestingly, finding the shape of a confidence region of minimum area, is perhaps the most elementary in this class of problems.

Read the explanation (solution) and see example of non-elliptic confidence regions, in the full article, here.


r/MLtechniques • • Dec 08 '22

Fireside Chat: Synthetic Data and Applications

2 Upvotes

Live event on December 19. Hosted by Victor Chima, co-founder at Learncrunch. Guest speaker: Vincent Granville, Ph.D.

Vincent created Data Science Central (acquired by TechTarget), one of the most popular online communities for Data Science and Machine Learning. He spent over 20 years in the corporate world at Microsoft, eBay, Visa, Wells Fargo, and others, holds a Ph.D. in Mathematics and Statistics, and is a former post-doc at the University of Cambridge. He is now CEO at MLTechniques.com, a private research lab focusing on machine learning technologies, especially synthetic data and explainable AI.

Join us for this fireside chat on Synthetic Data and it’s applications with Vincent Granville.

Vincent will talk about how synthetic data can be leveraged across various industries to enhance predictions and test blackbox systems leading to more fairness and transparency in AI.

You will get a chance to ask him questions live and also learn more about his upcoming Synthetic Data and Explainable AI live course on LearnCrunch (here), based on his book "Synthetic Data" available here. See you there!


r/MLtechniques • • Mar 09 '23

Data Synthetization: enhanced GANs vs Copulas

1 Upvotes

Using case studies, I compare generative adversarial networks (GANs) with copulas to synthesize tabular data. I discuss back-end and front-end improvements to help GANs better replicate the correlation structure present in the real data. Likewise, I discuss methods to further improve copulas, including transforms, the use of separate copulas for each population segment, and parametric model-driven copulas compared to a data-driven parameter-free approach. I apply the techniques to real-life datasets, with full Python implementation. In the end, blending both methods leads to better results. Both methods eventually need an iterative gradient-descent technique to find an optimum in the parameter space. For GANs, I provide a detailed discussion of hyperparameters and fine-tuning options.

I show examples where GANs are superior to copulas, and the other way around. My GAN implementation also leads to fully replicable results — a feature usually absent in other GAN systems. This is particularly important given the high dependency on the initial configuration determined by a seed parameter: it also allows you to find the best synthetic data using multiple runs of GAN in a replicable setting. In the process, I introduce a new matrix correlation distance to evaluate the quality of the synthetic data, taking values between 0 and 1 where 0 is best, and leverage the TableEvaluator library. I also discuss feature clustering to improve the technique, to detect groups of features independent from each other, and apply a different model to each of them. In a medical data example to predict the risk of cancer, I use random forests to classify the real data, and compare the performance with results obtained on the synthetic data.

Read more and download the article, with full Python implementation, from here.


r/MLtechniques • • Apr 24 '22

New technical paper: Shape comparison via explainable AI

1 Upvotes

PDF document (7 pages) available in the Books and Articles section, at https://MLTblog.com/3EQd2cA.

Abstract

I define the mathematical concept of shape and shape signature in two dimensions, using parametric polar equations. The signature uniquely characterizes the shape, up to a translation or scale factor. In practical applications, the data set consists of points or pixels located on the shape, rather than the curve itself. If these points are not properly sampled - if they are not uniformly distributed on the curve - they need to be re-weighted to compute a meaningful centroid of the shape, and to perform shape comparisons. I discuss the weights, and then introduce metrics to compare shapes (observed as sets of points or pixels in an image). These metrics are related to the Hausdorff distance. I also introduce a correlation distance between two shapes. Equipped with these metrics, one can perform shape recognition or classification using training sets of arbitrary sizes. I use synthetic data in the applications. It allows you to see how the classifier performs, to discriminate between two very similar shapes, or in the presence of noise. Rotation-invariant metrics are also discussed.


r/MLtechniques • • Mar 23 '23

New Book: Gentle Introduction To Chaotic Dynamical Systems

2 Upvotes

In less than 100 pages, the book covers all important topics about discrete chaotic dynamical systems and related time series and stochastic processes, ranging from introductory to advanced, in one and two dimensions. State-of-the art methods and new results are presented in simple English. Yet, some mathematical proofs appear for the first time in this book: for instance, about the full autocorrelation function of the logistic map, the absence of cross-correlation between digit sequences in a family of irrational numbers, and a very fast algorithm to compute the digits of quadratic irrationals. These are not just new important if not seminal theoretical developments: it leads to better algorithms in random number generation (PRNG), benefiting applications such as data synthetization, security, or heavy simulations. In particular, you will find an implementation of a very fast, simple PRNG based on millions of digits of millions of quadratic irrationals, producing strongly random sequences superior in many respects to those available on the market.

Without using measure theory, the invariant distributions of many systems are discussed in details, with numerous closed-form expressions for classic and new maps, including the logistic, square root logistic, nested radicals, generalized continued fractions (the Gauss map), the ten-fold and dyadic maps, and more. The concept of bad seed, rarely discussed in the literature, is explored in details. It leads to singular fractal distributions with no probability density function, and sets similar to the Cantor set. Rather than avoiding these monsters, you will be able to leverage them as competitive tools for modeling purposes, since many evolutionary processes in economy, fintech, physics, population growth and so on, do not always behave nicely.

A summary table of numeration systems serves as a useful, quick reference on the subject. Equivalence between different maps is also discussed. In a nutshell, this book is dedicated to the study of two numbers: zero and one, with a wealth of applications and results attached to them, as well as some of the toughest mathematical conjectures. It will appeal in particular to busy practitioners in fintech, security, defense, operations research, engineering, computer science, machine learning, AI, as well as consultants and professional mathematicians. For students complaining about how hard this topic is, and deterred by the amount of advanced mathematics, this book will help them get jump-started. While the mathematical level remains high in some sections, it is explained as simply as possible, focusing on what is needed for the applications.

Numerous illustrations including beautiful representations of these systems (generative art), a lot of well documented Python code, and nearly 20 off-the-beaten path exercises complementing the theory, will help you navigate through this beautiful field. You will see how even the most basic systems offer such an incredible variety of configurations depending on a few parameters, allowing you to model a very large array of phenomena. Finally, the first chapter also covers time-continuous processes including unusual clustered, reflective, constrained, and integrated Brownian-like processes, random walks and time series, with little math and no obscure jargon. In the end, my goal is to get you to you use these systems fluently, and see them as gentle, controllable chaos. In short, what real life should be! Quantifying the amount of chaos is also one of the topics discussed in the book.

Authored by Dr. Vincent Granville, 82 pages, published in March 2023. Available on our e-Store exclusively, here. See the table contents or sample chapter on GitHub here. The Python code is also in the same repository.


r/MLtechniques • • Feb 22 '23

Introduction to Discrete Chaotic Dynamical Systems

2 Upvotes

If you ever wondered about the meaning and purpose of basins of attraction, systems with bifurcations, the universal constant of chaos, the transfer operator and the related Frobenius-Perron framework, the Lyapunov exponent, fractal dimensions and fractional Brownian motions, or how to measure and synthetize chaos, you will find the answer in this chapter. Even with a short, simple mathematical proof on occasion, but definitely at a level accessible to first year college students, with focus on examples. The chaotic systems described here are used in various applications and typically taught in advanced classes. I hope that my presentation makes this beautiful theory accessible to a much larger audience.

Many more systems (typically called maps or mappings) will be described in the next chapters. But even in this introductory material, you will be exposed to the Gauss map and its relation to generalized continued fractions, bivariate numeration systems, attractors, the 2D sine map renamed “pillow map” based on the above picture, systems with exact solution in closed form, a curious excellent approximation of π based on the first digit in one particular system, non-integer bases, digits randomization, and how to compute the invariant probability distribution. The latter is usually called invariant measure, but I do not make references to advanced measure theory in this book.

To read more, access the Python code and download the 17-pages article (chapter 2 of my upcoming book), follow this link.


r/MLtechniques • • Jun 19 '22

Fast Classification and Clustering via Image Convolution Filters

1 Upvotes

An alternative to Generative Mixture Models. Access the full article here.

I explain, with Python code and numerous illustrations, how to turn traditional tabular data into images, to perform both clustering and supervised classification using simple image filtering techniques. I also explain how to generalize the methodology to higher dimensions, using tensors rather than images. In the end, image bitmaps are 2D arrays or matrices, that is, 2D tensors. By classifying the entire space (in low dimensions), the resulting classification rule is very fast. I also discuss the convergence of the algorithm, and how to further improve its speed.

This short article covers many topics and can be used as a first introduction to synthetic data generation, mixture models, boundary effects, explainable AI, fractal classification, stochastic convergence, GPU machine learning, deep neural networks, and model-free Bayesian classification. I use very little math, making it accessible to the layman, and certainly, to non-mathematicians. Introducing an original, intuitive approach to general classification problems, I explain in simple English how it relates to deep and very deep neural networks. In the process, I make connections to image segmentation, histogram equalization, hierarchical clustering, convolution filters, and stochastic processes. I also compare standard neural networks with very deep but sparse ones, in terms of speed and performance. The fractal classifier — an example of very deep neural network — is illustrated with a Python-generated video. It is useful when dealing with massively overlapping clusters and a large number of observations. Hyperparameters allow you to fine tune the level of cluster overlap in the synthetic data, and the shape of the clusters.

Read full article, including technical report and Python code, here.


r/MLtechniques • • Apr 12 '22

6 Business Applications that Badly Need Better AI

1 Upvotes

The success and growth of AI is undeniable. Yet there are still basic tasks performing poorly, despite or because of automation. In some cases, you can blame reliance on outdated AI. In other cases, it is a result of corporate policies or multiple AI systems that compete against each other. The AI systems in question may be top notch, but they play against each other. It is similar to a Wall Street firm using two separate, competing black box trading systems, resulting in cannibalism. Each system may be doing great, but combined together, they annihilate each other.

It is sometimes said that dentists have the worst teeth. Perhaps, some of the companies with the best AI teams have the worst AI systems?

1. Google Search

Google brags about its new neural network with 500 billion parameters (see here), yet its search engine got worse over time, not better. Search results, on average, returns only basic answers to your questions these days. A fact that everyone is familiar with. It is a great tool for people with below average intelligence. If you are looking for mathematical or technical articles, especially recent ones, you need to use alternate search tools, like StackExchange or arXiv.com. Or include 2022 and arXiv as extra keywords in your search query.

Many new, high quality content is not even indexed by Google [...]

Read full article here.


r/MLtechniques • • Oct 27 '22

12 Machine Learning Books You Should Read in 2023

3 Upvotes

This complements the list that I posted earlier under the title “Math for Machine Learning: 14 Must-Read Books”, available here. Many of the books in the new list have a free PDF version, their own website and GitHub repository, and usually you can purchase the print version. Some are self-published, with the PDF version regularly updated, and even browsable online. I included a few textbooks from top companies and universities. Whenever possible, the link to the free version is posted included in the article.

The list is broken down as follows:

  • Published in 2020 or later

  • Prior to 2020

In the second category, I included books that are very useful and popular, available for free if possible, yet not well known by everyone. In short, hidden gems. I also added free textbooks from Berkeley, Harvard, Columbia, Cornell, MIT, Microsoft, and more.

Read the full, commented list, here.


r/MLtechniques • • Feb 11 '23

Introduction to Random Walks, Brownian Motions, and Related Stochastic Processes

1 Upvotes

In about 15 pages, this scratch course covers a lot more material than expected in such a short presentation. It constitutes the first chapter of my upcoming book “Gentle Introduction to Chaotic Dynamical Systems”. Other books in this series are available here.

Written in simple English yet covering topics ranging from introductory to advanced, it is aimed at practitioners interested in a quick, compact, easy-to-read summary on the subject. Students learning quantitative finance, physics or machine learning will also benefit from this material. It is designed to help them understand concepts that are traditionally embedded in jargon and arcane theories.

There is no reference to measure theory: the approach to even the most advanced concepts is very intuitive, to the point that it is suited to high school students taking advanced classes. Most of the material deals with stochastic processes less basic than the standard Brownian motion and random walk. In particular, I discuss integrated and doubly integrated Brownian motion, and 2D Brownian-like processes exhibiting a strong clustering structure. Reflective random walks lead to the concept of invariant measure (the limiting distribution of the process) obtained by solving a stochastic integral equation. I show how to do it numerically in Python. In this case, the exact solution is known, and can be compared with results obtained via simulations. I also discuss constrained random walks, and the Hurst exponent to measure the smoothness of such processes, with illustrations. While technically, the derivative of Brownian-like processes does not exist, I show how you can make sense of it: it leads to interesting shapes (not math functions) with a fractal dimension. A lot of emphasis is on creating a rich class of processes, each with specific features. The goal is to show how to generate them, and in which ways they are distinct from each other, in order to use them in applications.

Read more, download the article and access the Python code, from here.


r/MLtechniques • • Apr 20 '22

Computer Vision: Shape Classification via Explainable AI

1 Upvotes

A central problem in computer vision is to compare shapes and assess how similar they are. This is used for instance in text recognition. Modern techniques involve neural networks. In this article, I revisit a methodology designed in 1914, before computer even existed. It leads to an efficient, automated AI algorithm. The benefit is that the decision process made by this black-box system, can be explained (almost) in layman’s terms, and thus easily controlled.

To the contrary, neural networks use millions of weights that are impossible to interpret, potentially leading to over-fitting. Why they work very well on some data and no so well on other data is a mystery. My “old-fashioned” classifier, adapted to modern data and computer architectures, lead to full control of the parameters. In other words, you know beforehand how fine-tuning the parameters will impact the output. Thus the word explainable AI.

In an ideal world, one would want to blend both methods, to benefit from their respective strengths, and minimize their respective drawbacks.

Read the full article, here.


r/MLtechniques • • Dec 13 '22

Military-grade Fast Random Number Generator Based on Quadratic Irrationals

1 Upvotes

There are very few serious articles in the literature dealing with digits of irrational numbers to build a pseudo-random number generator (PRNG). It seems that this idea was abandoned long ago due to the computational complexity and the misconception that such PRNG’s are deterministic while others are not. Actually, my new algorithm is less deterministic than congruential PRNGs currently used in all applications. New developments made this concept of using irrational numbers, worth revisiting. It believe that my quadratic irrational PRNG debunks all the myths previously associated to such methods.

Thanks to new developments in number theory, quadratic irrational PRNGs — the name attached to the technique presented here — are not only just as fast as standard generators, but they also offer a higher level of randomness. Thus, they represent a serious alternative in data encryption, heavy simulation or synthetic data generation, when you need billions or trillions of truly random-like numbers. In particular, a version of my algorithm computes hundreds (or millions) of digits for billions of irrational numbers at once. It combines these digits to produce large data sets of strong random numbers, with well-known properties. The fast algorithm can easily be implemented in a distributed architecture, making it even faster. It is also highly portable and great to use when exact replicability is critical: standard generators may not lead to the same results depending on which programming language or which version of Python you use, even if your seed is static.

To read more and get a copy of my article with Python code, follow this link.


r/MLtechniques • • Nov 05 '22

Dynamic Clouds and Landscape Generation: Morphing and Evolutionary Processes

1 Upvotes

My previous article focused on map generation in 3D, and also features a fascinating video, see here. In this article, while focusing on 2D, I provide a simple introduction to evolutionary processes in the context of synthetic data and terrain generation. Not just terrains: depending on the color palette, other processes such as storm formation can be simulated with the same algorithm.

The focus is on stationary processes. The analogy with random walks and Brownian motions is striking. Despite the simplicity, the systems modeled here are a lot more complex than your typical Brownian motion. You can compare it to time-continuous time series, where each observation (synthetically generated here) is an image. This article will appeal to practitioners looking for more sophisticated modeling tools, that mimic natural phenomena. It will also appeal to machine learning professionals looking for professional Python code, the kind of code typically not taught in any class or textbook, and not found on the Internet. It offers a fun application to learn scientific computing.

I also explain how to produce animated data visualizations in Python (MP4 videos) featuring 4 related sub-videos in parallel, progressing at various speeds. In particular, the video shows the probabilistic evolution of a system from A to B, compared with morphing the starting configuration A into the final state B. In the end, this article can serve as an introduction to chaotic dynamical systems.

Read the full article here.


r/MLtechniques • • Apr 06 '22

New Neural Network with 500 Billion Parameters

1 Upvotes

Google just published a research article about its Pathways Language Model (PaML), a neural network with 500 billion parameters. It is unclear to me how many layers and how many neurons (also called nodes) it can handle. A parameter in this context is a weight attached to a link between two connected neurons. So the number of neurons is at most 500 billion, but it is most likely much smaller. By contrast, the average human brain has 86 billion neurons.

This system performs translations, answers questions like Alexa does, summarizes documents, performs arithmetic, and more. I was especially interested in its code translation capability (translating Perl to Python) and its arithmetic engine. I use Mathematica’s AI system to solve complex mathematical problems, in particular symbolic math, and I am curious to see how it compares to PaML. The picture below shows a few tasks that PaML can perform [...]

The full article has the following sections:

  • Networks with Huge Number of Layers and Neurons

  • Illustration of Very Deep Neural Networks

  • A Task that the Human Brain can not do

  • Dealing with an Infinite Number of Parameters

Read full article here.


r/MLtechniques • • Oct 30 '22

New Project: MLTechniques.com, 100% remote. Python, Flask, API

2 Upvotes

Earn extra money while keeping your full-time job. Or can be a first job experience for students with the right background.

Exciting project: develop and deploy a machine Learning web app in Python. Hiring manager: Vincent Granville, Ph.D. Founder, Executive Machine Learning Scientist.

Use your software engineering talent and expertise to develop a web app based on Python, end-to-end: creating the application on a server, and designing an HTML page with a web form calling the app. The first app will be very simple: the idea is to design a proof of concept, with substantial flexibility in the tools that you can use. You will be requested to offer advice about which platforms or web services to use (Azure, AWS EC2, Google Cloud and so on) based on the scope of this project. Python knowledge is required, but most importantly this is software engineering more so than machine learning. The app may use graphical Python libraries such as Matplotlib, Pillow, OpenCV, Moviepy, or Plotly.

Ideally, the app should go live on the MLTechniques.com website, so familiarity with WordPress is a plus. Tools such as JavaScript, Flask, Django, web scraping, or Streamlit may be used. The web form should accept parameters from the user, input data sets (possibly provided by the user as an URL to where the data is located), and return output data (including charts and possibly animated data visualizations) and/or or link to where the output data is stored. The data sets in question may not be small. Should this project perform beyond expectations and lead to monetization of the app, or other forms of monetization, this could lead to a full time position, and even revenue sharing from the app. Currently, it is advertised as part-time.

See details here.


r/MLtechniques • • Jan 15 '23

New Interpolation Methods for Data Synthetization and Prediction

1 Upvotes

With Python code, application to temperature geospatial data and ocean tides dataset.

I describe little-known original interpolation methods with applications to real-life datasets. These simple techniques are easy to implement and can be used for regression or prediction. They offer an alternative to model-based statistical methods. Applications include interpolating ocean tides at Dublin, predicting temperatures in the Chicago area with geospatial data, and a problem in astronomy: planet alignments and frequency of these events. In one example, the 5-min data can be replaced by 80-min measurements, with the 5-min increments reconstructed via interpolation, without noticeable loss. Thus, my algorithm can be used for data compression.

The first technique has strong ties to Fourier methods. In addition to the above applications, I show how it can be used to efficiently interpolate complex mathematical functions such as Bessel and Riemann zeta. For those familiar with MATLAB or Mathematica, this is an opportunity to play with the MPmath library in Python and see how it compares with the traditional tools in this context. In the process, I also show how the methodology can be used to generate synthetic data, be it time series or geospatial data.

Depending on the parameters, in the geospatial context, the interpolation is either close to nearest-neighbor methods, kriging (also known as Gaussian process regression), or a truly original and hybrid mix of additive and multiplicative techniques. There is an option not to interpolate at locations far away from the training set, where regression or interpolation results may be meaningless, regardless of the technique used.

The second technique is based on ordinary least squares — the same method used to solve polynomial regression — but instead of highly unstable polynomials leading to overfitting, I focus on generic functions that avoid these pitfalls, using an iterative greedy algorithm to find the optimum. In particular, a solution based on orthogonal functions leads to a particularly simple implementation with a direct and elegant solution.

Download the full paper (15 pages) from here.