Advances in Machine Learning Research

During the last twenty years, gradient-based methods have been primarily focused on the Feed Forward Artificial Neural Network learning field. They are the derivatives of Backpropagation method with various deficiencies. Some of these include an inability to: cluster and reduce noise, quantify data quality information, redundant learning data elimination. Other potential areas for improvement have been identified; including, random initialization of values of free parameters, dynamic learning from new data as it becomes available, explanation of states and settings in hidden layers of learned ANN, among other. This chapter deals with the contemporary, non-gradient approach to ANN learning, which is not based on gradual reduction of remaining learning error anymore and it tries to eliminate most of the mentioned deficiencies. Introduction includes a chronological description of some methods, which deal with solutions of mentioned problems: Initializing Neural Networks using Decision Trees (Arunava Banerjee, 1994), DistAl: An inter-pattern distance-based constructive learning algorithm (Jihoon Yang, 1998), Geometrical synthesis of multilayer feedforward neural networks or Multi-Layer Perceptron (Rita Delogu, 2006) and Bipropagation – a new way of MLP learning (Bojan Ploj, 2009).We continue with the description of a new learning method – Border Pairs Method (BPM), which in comparison with the gradient methods carries numerous advantages or eliminates most of the predecessor’s deficiencies. The BMP implements and uses border pairs – learning patterns pairs in the input space, which are located close to the class border. The number of boundary pairs gives us some information about the complexity of the learning process. Boundary pairs are also the perfect basis for the noise reduction. We determine that performing a noise reduction of the border pairs is sufficient. By dividing the input space, the homogenous areas (clusters) are established. For every linear segment of border we assign one neuron in the first layer. The MLP learning begins in the first layer by adapting individual neurons. Neurons on the first layers are saturated, so we get a binary code on the output of the first layer – the code is unified for all members of the same cluster. Logical operations based on the data from the first layer are executed in the following layers. Testing showed that such learning is reliable, it is not subject to overfitting, and is appropriate for on-line learning and susceptible to concept drift in the process of learning (forgetting and additional learning). Advances in Machine Learning Research. Available from: https://…250_Advances_in_Machine_Learning_Research [accessed Jul 3, 2017].

Modeling documents with Generative Adversarial Networks

Modeling documents with Generative Adversarial Networks

Introduction to Pointer Networks

Pointer networks are a variation of the sequence-to-sequence model with attention. Instead of translating one sequence into another, they yield a succession of pointers to the elements of the input series. The most basic use of this is ordering the elements of a variable-length sequence. Basic seq2seq is an LSTM encoder coupled with an LSTM decoder. It’s most often heard of in the context of machine translation: given a sentence in one language, the encoder turns it into a fixed-size representation. Decoder transforms this into a sentence again, possibly of different length than the source. For example, “como estas?” – two words – would be translated to “how are you?” – three words. The model gives better results when augmented with attention. Practically it means that instead of processing the input from start to finish, the decoder can look back and forth over input. Specifically, it has access to encoder states from each step, not just the last one. Consider how it may help with Spanish, in which adjectives go before nouns: “neural network” becomes “red neuronal”. In technical terms, attention (at least this particular kind, content-based attention) boils down to dot products and weighted averages. In short, a weighted average of encoder states becomes the decoder state. Attention is just the distribution of weights.

Zero to One – Ton of Awe-Inspiring Deep Learning Demos with Code for Beginners

Someone here said they wanted deep learning examples that they can just download and run. No Math. No Theory. No Books. It’s difficult to find deep learning examples that are open source and that also run first try without stepping through dependency hell, so try this: Below are 10 models I have downloaded and started running on my MacBook Pro or AWS in under 10 minutes. All ran several days to several months ago?—?just download and go. They finish in between 5s (pre-trained neural networks) and several hours (GPU-intensive neural network training) time. But you’ve got 5 seconds, right?

Weighted Effect Coding: New publication in the R Journal

Weighted effect coding is a technique for dummy coding that can have attractive properties, particularly when analysing observational data. In a new publication in the R Journal we explain the rationale of weighted effect coding, introduce the ‘wec’ package, and provide examples that include interactions. The attractive property of applying weighted effect coding to categorical (‘factor’) variables is that each category represents the deviation of that category from the sample mean. This is unlike the more commonly used treatment coding where each a specific category has to be selected as a reference. Weighted effect coding is a generalized form of effect coding that applies to both balanced and unbalanced data. A form of weighted effect coding was already formulated in 1972 by Sweeney and Ulveling, but it seems to never have found its place in statistical repertoires. Weighted effect coding was not implemented in mainstream statistical software. In an ongoing project, we have now further developed weighted effect coding to also apply to interactions (with both categorical and continuous variables), and provide procedures for mainstream statistical software. For R, we developed the ‘wec’ package, and procedures for STATA and SPSS are available as well. A key innovation in our article in the R Journal is the formulation of interactions between a categorical variable with a continuous variable. This is visualised in the Figure above. The benefit of estimating such an interaction with weighted effect coding is that upon entering the interaction terms the estimate for the continous variable (as well as the ‘main effects’ for the categorical variable) does not change. The ‘main’ continous term reflects the average effect in the sample, and the interaction terms represent the deviation of the effect size for each category.

How to create visualizations with iPlots package in R

iPlots is a package which provides interactive statistical graphics, written in Java. You can find many interesting plots such as histograms, barcharts, scatterplots, boxplots, fluctuation diagrams, parallel coordinates plots and spineplots. The amazing part is that all of these plots support querying, linked highlighting, color brushing, and interactive changing of parameters. Furthermore, iPlots includes an API for managing plots and adding user-defined objects, such as lines or polygons to a plot.

Shiny chat in few lines of code

We live in a society heavily reliant upon communication, networking and information exchange. Think about all the chat apps that have recently popped out: WhatsApp, Messenger, Skype, Viber, Slack (not to mention Snapchat or Telegram). They have engrained themselves into our daily lives. You’d be hard pressed to find someone who doesn’t use at least one of these apps on a regular basis; with some using all of them! This leads to the obvious conclusion that written communication has become an integral part of our lives. You may be thinking that, from a software developers perspective, creating communication apps is difficult, tedious and time consuming. I’m going to convince you otherwise. We’re going to build a shiny chat app in no more than 15 minutes and less than 100 lines of R code!

R 3.4.1 “Single Candle” released

The R core team announced today the release of R 3.4.1 (codename: Single Candle). This release fixes a few minor bugs reported after the release of R 3.4.0, including an issue sometimes encountered when attempting to install packages on Windows, and problems displaying functions including Unicode characters (like ‘???’) in the Windows GUI. The other fixes are mostly relevant to packages developers and those building R from source, and you can see the full list in the announcement linked below. At the time of writing, Windows builds are already available at the main CRAN cloud mirror, and the Debian builds are out, but Mac builds aren’t there quite yet (unless you want to build from source). Binaries for all platforms should propagate across the mirror network over the next couple of days.

Peering into Neural Networks

Neural networks, which learn to perform computational tasks by analyzing large sets of training data, are responsible for today’s best-performing artificial intelligence systems, from speech recognition systems, to automatic translators, to self-driving cars. But neural nets are black boxes. Once they’ve been trained, even their designers rarely have any idea what they’re doing — what data elements they’re processing and how. Two years ago, a team of computer-vision researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) described a method for peering into the black box of a neural net trained to identify visual scenes. The method provided some interesting insights, but it required data to be sent to human reviewers recruited through Amazon’s Mechanical Turk crowdsourcing service. At this year’s Computer Vision and Pattern Recognition conference, CSAIL researchers will present a fully automated version of the same system. Where the previous paper reported the analysis of one type of neural network trained to perform one task, the new paper reports the analysis of four types of neural networks trained to perform more than 20 tasks, including recognizing scenes and objects, colorizing grey images, and solving puzzles. Some of the new networks are so large that analyzing any one of them would have been cost-prohibitive under the old method.