Modern Deep Learning for Tabular Data Novel Approaches to Common Modeling Problems Andre Ye Zian Wang Modern Deep Learning for Tabular Data: Novel Approaches to Common Modeling Problems Andre Ye Zian Wang Seattle, WA, USA Redmond, WA, USA ISBN-13 (pbk): 978-1-4842-8691-3 ISBN-13 (electronic): 978-1-4842-8692-0 https://doi.org/10.1007/978-1-4842-8692-0 Copyright © 2023 by Andre Ye and Zian Wang This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Celestin Suresh John Development Editor: Laura Berendson Coordinating Editor: Mark Powers Cover designed by eStudioCalamar Cover image by Joshua Oluwagbemiga on Unsplash (www.unsplash.com) Distributed to the book trade worldwide by Apress Media, LLC, 1 New York Plaza, New York, NY 10004, U.S.A. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www. springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected]; for reprint, paperback, or audio rights, please e-mail [email protected]. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub (https://github.com/Apress). For more detailed information, please visit http://www. apress.com/source-code. Printed on acid-free paper To the skeptics and the adventurers alike Table of Contents About the Authors ��������������������������������������������������������������������������������������������������xiii About the Technical Reviewer ���������������������������������������������������������������������������������xv Acknowledgments �������������������������������������������������������������������������������������������������xvii Foreword 1 �������������������������������������������������������������������������������������������������������������xix Foreword 2 �������������������������������������������������������������������������������������������������������������xxi Introduction ����������������������������������������������������������������������������������������������������������xxiii ■ Part I: Machine Learning and Tabular Data ����������������������������������������1 ■ Chapter 1: Classical Machine Learning Principles and Methods ��������������������������3 Fundamental Principles of Modeling ��������������������������������������������������������������������������������4 What Is Modeling? ����������������������������������������������������������������������������������������������������������������������������������4 Modes of Learning ����������������������������������������������������������������������������������������������������������������������������������5 Quantitative Representations of Data: Regression and Classification ����������������������������������������������������8 The Machine Learning Data Cycle: Training, Validation, and Test Sets ���������������������������������������������������9 Bias-Variance Trade-Off ������������������������������������������������������������������������������������������������������������������������19 Feature Space and the Curse of Dimensionality �����������������������������������������������������������������������������������22 Optimization and Gradient Descent ������������������������������������������������������������������������������������������������������31 Metrics and Evaluation ���������������������������������������������������������������������������������������������������38 Mean Absolute Error �����������������������������������������������������������������������������������������������������������������������������38 Mean Squared Error (MSE) �������������������������������������������������������������������������������������������������������������������40 Confusion Matrix�����������������������������������������������������������������������������������������������������������������������������������42 Accuracy �����������������������������������������������������������������������������������������������������������������������������������������������43 v ■ Table of ConTenTs Precision �����������������������������������������������������������������������������������������������������������������������������������������������43 Recall ����������������������������������������������������������������������������������������������������������������������������������������������������44 F1 Score �����������������������������������������������������������������������������������������������������������������������������������������������45 Area Under the Receiver Operating Characteristics Curve (ROC-AUC) �������������������������������������������������46 Algorithms ����������������������������������������������������������������������������������������������������������������������49 K-Nearest Neighbors ����������������������������������������������������������������������������������������������������������������������������50 Linear Regression ���������������������������������������������������������������������������������������������������������������������������������57 Logistic Regression ������������������������������������������������������������������������������������������������������������������������������66 Decision Trees ��������������������������������������������������������������������������������������������������������������������������������������73 Gradient Boosting ���������������������������������������������������������������������������������������������������������������������������������83 Summary of Algorithms ������������������������������������������������������������������������������������������������������������������������90 Thinking Past Classical Machine Learning ���������������������������������������������������������������������90 Key Points ����������������������������������������������������������������������������������������������������������������������93 ■ Chapter 2: Data Preparation and Engineering �����������������������������������������������������95 Data Storage and Manipulation ��������������������������������������������������������������������������������������96 TensorFlow Datasets ����������������������������������������������������������������������������������������������������������������������������96 Creating a TensorFlow Dataset �������������������������������������������������������������������������������������������������������������97 TensorFlow Sequence Datasets ������������������������������������������������������������������������������������������������������������98 Handling Large Datasets ��������������������������������������������������������������������������������������������������������������������100 Data Encoding ��������������������������������������������������������������������������������������������������������������104 Discrete Data ��������������������������������������������������������������������������������������������������������������������������������������104 Continuous Data ���������������������������������������������������������������������������������������������������������������������������������119 Text Data ���������������������������������������������������������������������������������������������������������������������������������������������126 Time Data �������������������������������������������������������������������������������������������������������������������������������������������141 Geographical Data ������������������������������������������������������������������������������������������������������������������������������144 Feature Extraction ��������������������������������������������������������������������������������������������������������145 Single- and Multi-feature Transformations �����������������������������������������������������������������������������������������145 Principal Component Analysis ������������������������������������������������������������������������������������������������������������151 t-SNE ��������������������������������������������������������������������������������������������������������������������������������������������������156 Linear Discriminant Analysis ��������������������������������������������������������������������������������������������������������������159 vi ■ Table of ConTenTs Statistics-Based Engineering �������������������������������������������������������������������������������������������������������������161 Feature Selection ���������������������������������������������������������������������������������������������������������163 Information Gain ���������������������������������������������������������������������������������������������������������������������������������163 Variance Threshold �����������������������������������������������������������������������������������������������������������������������������165 High-Correlation Method ��������������������������������������������������������������������������������������������������������������������167 Recursive Feature Elimination ������������������������������������������������������������������������������������������������������������170 Permutation Importance ���������������������������������������������������������������������������������������������������������������������173 LASSO Coefficient Selection ���������������������������������������������������������������������������������������������������������������175 Key Points ��������������������������������������������������������������������������������������������������������������������177 ■ Part II: Applied Deep Learning Architectures ���������������������������������181 ■ Chapter 3: Neural Networks and Tabular Data ��������������������������������������������������183 What Exactly Are Neural Networks? �����������������������������������������������������������������������������183 Neural Network Theory ������������������������������������������������������������������������������������������������185 Starting with a Single Neuron ������������������������������������������������������������������������������������������������������������185 Feed-Forward Operation ���������������������������������������������������������������������������������������������������������������������186 Introduction to Keras ����������������������������������������������������������������������������������������������������189 Modeling with Keras ���������������������������������������������������������������������������������������������������������������������������189 Loss Functions �������������������������������������������������������������������������������������������������������������197 Math Behind Feed-Forward Operation �������������������������������������������������������������������������201 Activation Functions ���������������������������������������������������������������������������������������������������������������������������203 The Math Behind Neural Network Learning �����������������������������������������������������������������212 Gradient Descent in Neural Networks ������������������������������������������������������������������������������������������������212 The Backpropagation Algorithm ���������������������������������������������������������������������������������������������������������213 Optimizers ��������������������������������������������������������������������������������������������������������������������216 Mini-batch Stochastic Gradient Descent (SGD) and Momentum ��������������������������������������������������������216 Nesterov Accelerated Gradient (NAG) �������������������������������������������������������������������������������������������������218 Adaptive Moment Estimation (Adam) �������������������������������������������������������������������������������������������������219 A Deeper Dive into Keras ����������������������������������������������������������������������������������������������221 Training Callbacks and Validation �������������������������������������������������������������������������������������������������������222 vii ■ Table of ConTenTs Batch Normalization and Dropout �������������������������������������������������������������������������������������������������������225 The Keras Functional API ��������������������������������������������������������������������������������������������������������������������230 The Universal Approximation Theorem �������������������������������������������������������������������������242 Selected Research �������������������������������������������������������������������������������������������������������246 Simple Modifications to Improve Tabular Neural Networks ����������������������������������������������������������������246 Wide and Deep Learning ��������������������������������������������������������������������������������������������������������������������250 Self-Normalizing Neural Networks �����������������������������������������������������������������������������������������������������253 Regularization Learning Networks �����������������������������������������������������������������������������������������������������254 Key Points ��������������������������������������������������������������������������������������������������������������������257 ■ Chapter 4: Applying Convolutional Structures to Tabular Data �������������������������259 Convolutional Neural Network Theory ��������������������������������������������������������������������������260 Why Do We Need Convolutions? ���������������������������������������������������������������������������������������������������������260 The Convolution Operation �����������������������������������������������������������������������������������������������������������������268 The Pooling Operation ������������������������������������������������������������������������������������������������������������������������292 Base CNN Architectures ����������������������������������������������������������������������������������������������������������������������311 Multimodal Image and Tabular Models ������������������������������������������������������������������������326 1 D Convolutions for Tabular Data ���������������������������������������������������������������������������������339 2 D Convolutions for Tabular Data ���������������������������������������������������������������������������������356 DeepInsight �����������������������������������������������������������������������������������������������������������������������������������������358 IGTD (Image Generation for Tabular Data) ������������������������������������������������������������������������������������������367 Key Points ��������������������������������������������������������������������������������������������������������������������378 ■ Chapter 5: Applying Recurrent Structures to Tabular Data �������������������������������379 Recurrent Models Theory ���������������������������������������������������������������������������������������������379 Why Are Recurrent Models Necessary?����������������������������������������������������������������������������������������������379 Recurrent Neurons and Memory Cells ������������������������������������������������������������������������������������������������381 LSTMs and Exploding Gradients ���������������������������������������������������������������������������������������������������������388 Gated Recurrent Units (GRUs) �������������������������������������������������������������������������������������������������������������392 Bidirectionality ������������������������������������������������������������������������������������������������������������������������������������396 Introduction to Recurrent Layers in Keras ��������������������������������������������������������������������397 viii ■ Table of ConTenTs Return Sequences and Return State ��������������������������������������������������������������������������������������������������400 Standard Recurrent Model Applications �����������������������������������������������������������������������403 Natural Language �������������������������������������������������������������������������������������������������������������������������������403 Time Series �����������������������������������������������������������������������������������������������������������������������������������������409 Multimodal Recurrent Modeling ���������������������������������������������������������������������������������������������������������416 Direct Tabular Recurrent Modeling �������������������������������������������������������������������������������424 A Novel Modeling Paradigm ���������������������������������������������������������������������������������������������������������������424 Optimizing the Sequence ��������������������������������������������������������������������������������������������������������������������425 Optimizing the Initial Memory State(s) �����������������������������������������������������������������������������������������������436 Further Resources ��������������������������������������������������������������������������������������������������������448 Key Points ��������������������������������������������������������������������������������������������������������������������448 ■ Chapter 6: Applying Attention to Tabular Data ��������������������������������������������������451 Attention Mechanism Theory����������������������������������������������������������������������������������������451 The Attention Mechanism �������������������������������������������������������������������������������������������������������������������452 The Transformer Architecture �������������������������������������������������������������������������������������������������������������457 BERT and Pretraining Language Models���������������������������������������������������������������������������������������������461 Taking a Step Back �����������������������������������������������������������������������������������������������������������������������������464 Working with Attention �������������������������������������������������������������������������������������������������467 Simple Custom Bahdanau Attention ���������������������������������������������������������������������������������������������������467 Native Keras Attention ������������������������������������������������������������������������������������������������������������������������472 Attention in Sequence-to-Sequence Tasks �����������������������������������������������������������������������������������������481 Improving Natural Language Models with Attention���������������������������������������������������������������������������485 Direct Tabular Attention Modeling ��������������������������������������������������������������������������������496 Attention-Based Tabular Modeling Research ���������������������������������������������������������������500 TabTransformer �����������������������������������������������������������������������������������������������������������������������������������500 TabNet�������������������������������������������������������������������������������������������������������������������������������������������������514 SAINT ��������������������������������������������������������������������������������������������������������������������������������������������������531 ARM-Net ���������������������������������������������������������������������������������������������������������������������������������������������542 Key Points ��������������������������������������������������������������������������������������������������������������������546 ix ■ Table of ConTenTs ■ Chapter 7: Tree-Based Deep Learning Approaches �������������������������������������������549 Tree-Structured Neural Networks ��������������������������������������������������������������������������������549 Deep Neural Decision Trees ����������������������������������������������������������������������������������������������������������������550 Soft Decision Tree Regressors ������������������������������������������������������������������������������������������������������������556 NODE���������������������������������������������������������������������������������������������������������������������������������������������������561 Tree-Based Neural Network Initialization �������������������������������������������������������������������������������������������564 Net-DNF ����������������������������������������������������������������������������������������������������������������������������������������������574 Boosting and Stacking Neural Networks ����������������������������������������������������������������������579 GrowNet ����������������������������������������������������������������������������������������������������������������������������������������������579 XBNet ��������������������������������������������������������������������������������������������������������������������������������������������������584 Distillation ��������������������������������������������������������������������������������������������������������������������591 DeepGBM ��������������������������������������������������������������������������������������������������������������������������������������������591 Key Points ��������������������������������������������������������������������������������������������������������������������597 ■ Part III: Deep Learning Design and Tools ����������������������������������������599 ■ Chapter 8: Autoencoders �����������������������������������������������������������������������������������601 The Concept of the Autoencoder ����������������������������������������������������������������������������������601 Vanilla Autoencoders ����������������������������������������������������������������������������������������������������606 Autoencoders for Pretraining ���������������������������������������������������������������������������������������631 Multitask Autoencoders ������������������������������������������������������������������������������������������������640 Sparse Autoencoders ���������������������������������������������������������������������������������������������������653 Denoising and Reparative Autoencoders ����������������������������������������������������������������������664 Key Points ��������������������������������������������������������������������������������������������������������������������680 ■ Chapter 9: Data Generation �������������������������������������������������������������������������������681 Variational Autoencoders����������������������������������������������������������������������������������������������681 Theory �������������������������������������������������������������������������������������������������������������������������������������������������682 Implementation �����������������������������������������������������������������������������������������������������������������������������������687 Generative Adversarial Networks ���������������������������������������������������������������������������������697 Theory �������������������������������������������������������������������������������������������������������������������������������������������������697 x