0% found this document useful (0 votes)
18 views

Download Complete Synthetic Data for Deep Learning: Generate Synthetic Data for Decision Making and Applications with Python and R 1st Edition Necmi Gürsakal PDF for All Chapters

The document promotes the ebook 'Synthetic Data for Deep Learning: Generate Synthetic Data for Decision Making and Applications with Python and R' by Necmi Gürsakal and others, available for download on ebookmeta.com. It provides an overview of synthetic data, its importance, and applications across various fields such as finance, healthcare, and AI. Additionally, it lists other recommended ebooks related to synthetic data and machine learning.

Uploaded by

nnoukasse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Download Complete Synthetic Data for Deep Learning: Generate Synthetic Data for Decision Making and Applications with Python and R 1st Edition Necmi Gürsakal PDF for All Chapters

The document promotes the ebook 'Synthetic Data for Deep Learning: Generate Synthetic Data for Decision Making and Applications with Python and R' by Necmi Gürsakal and others, available for download on ebookmeta.com. It provides an overview of synthetic data, its importance, and applications across various fields such as finance, healthcare, and AI. Additionally, it lists other recommended ebooks related to synthetic data and machine learning.

Uploaded by

nnoukasse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Get the full ebook with Bonus Features for a Better Reading Experience on ebookmeta.

com

Synthetic Data for Deep Learning: Generate


Synthetic Data for Decision Making and
Applications with Python and R 1st Edition Necmi
Gürsakal
https://ebookmeta.com/product/synthetic-data-for-deep-
learning-generate-synthetic-data-for-decision-making-and-
applications-with-python-and-r-1st-edition-necmi-gursakal/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Synthetic Data for Deep Learning: Generate Synthetic Data


for Decision Making and Applications with Python and R 1st
Edition Necmi Gürsakal
https://ebookmeta.com/product/synthetic-data-for-deep-learning-
generate-synthetic-data-for-decision-making-and-applications-with-
python-and-r-1st-edition-necmi-gursakal/
ebookmeta.com

Practical Simulations for Machine Learning: Using


Synthetic Data for AI 1st Edition Paris Buttfield-Addison

https://ebookmeta.com/product/practical-simulations-for-machine-
learning-using-synthetic-data-for-ai-1st-edition-paris-buttfield-
addison/
ebookmeta.com

Accelerating AI with Synthetic Data First Edition Khaled


El Emam

https://ebookmeta.com/product/accelerating-ai-with-synthetic-data-
first-edition-khaled-el-emam/

ebookmeta.com

Leo s Catch A Curvy Younger Woman Older Alpha Man Enemies


to Lovers Halloween Instalove Short Romance Moonlight s
Magic Series Book 2 1st Edition Banks Tamrin
https://ebookmeta.com/product/leo-s-catch-a-curvy-younger-woman-older-
alpha-man-enemies-to-lovers-halloween-instalove-short-romance-
moonlight-s-magic-series-book-2-1st-edition-banks-tamrin/
ebookmeta.com
Why You Should Never Kiss Your Roommate 2nd Edition Erin
Nicholas

https://ebookmeta.com/product/why-you-should-never-kiss-your-
roommate-2nd-edition-erin-nicholas/

ebookmeta.com

Leonard Bernstein and His Young People s Concerts Alicia


Kopfstein-Penk

https://ebookmeta.com/product/leonard-bernstein-and-his-young-people-
s-concerts-alicia-kopfstein-penk/

ebookmeta.com

Big Bet Big Boys 5 1st Edition Cassie Mint

https://ebookmeta.com/product/big-bet-big-boys-5-1st-edition-cassie-
mint/

ebookmeta.com

History in a Post Truth World Theory and Praxis 1st


Edition Marius Gudonis (Editor)

https://ebookmeta.com/product/history-in-a-post-truth-world-theory-
and-praxis-1st-edition-marius-gudonis-editor/

ebookmeta.com

Moon Northern California Road Trips Drives along the Coast


Redwoods and Mountains with the Best Stops along the Way
2nd Edition Stuart Thornton Kayla Anderson
https://ebookmeta.com/product/moon-northern-california-road-trips-
drives-along-the-coast-redwoods-and-mountains-with-the-best-stops-
along-the-way-2nd-edition-stuart-thornton-kayla-anderson/
ebookmeta.com
National Geographic Traveler Germany 4th Edition Michael
Ivory

https://ebookmeta.com/product/national-geographic-traveler-
germany-4th-edition-michael-ivory/

ebookmeta.com
Synthetic Data for Deep
Learning
Generate Synthetic Data for Decision
Making and Applications with Python
and R

Necmi Gürsakal
Sadullah Çelik
Esma Birişçi
Synthetic Data for Deep Learning: Generate Synthetic Data for Decision Making and
Applications with Python and R
Necmi Gürsakal Sadullah Çelik
Bursa, Turkey Aydın, Turkey

Esma Birişçi
Bursa, Turkey

ISBN-13 (pbk): 978-1-4842-8586-2 ISBN-13 (electronic): 978-1-4842-8587-9


https://doi.org/10.1007/978-1-4842-8587-9

Copyright © 2022 by Necmi Gürsakal, Sadullah Çelik, and Esma Birişçi


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 Simon Lee 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 orders-ny@springer-sbm.com, 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 booktranslations@springernature.com; for reprint,
paperback, or audio rights, please e-mail bookpermissions@springernature.com.
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
This book is dedicated to our mothers.
Table of Contents
About the Authors���������������������������������������������������������������������������������������������������� ix

About the Technical Reviewer��������������������������������������������������������������������������������� xi


Preface������������������������������������������������������������������������������������������������������������������ xiii

Introduction�������������������������������������������������������������������������������������������������������������xv

Chapter 1: An Introduction to Synthetic Data����������������������������������������������������������� 1


What Synthetic Data is?���������������������������������������������������������������������������������������������������������������� 1
Why is Synthetic Data Important?������������������������������������������������������������������������������������������� 2
Synthetic Data for Data Science and Artificial Intelligence����������������������������������������������������� 3
Accuracy Problems����������������������������������������������������������������������������������������������������������������������� 4
The Lifecycle of Data��������������������������������������������������������������������������������������������������������������������� 5
Data Collection versus Privacy������������������������������������������������������������������������������������������������������ 7
Data Privacy and Synthetic Data��������������������������������������������������������������������������������������������� 8
Synthetic Data and Data Quality������������������������������������������������������������������������������������������������� 10
Aplications of Synthetic Data������������������������������������������������������������������������������������������������������ 10
Financial Services����������������������������������������������������������������������������������������������������������������� 11
Manufacturing����������������������������������������������������������������������������������������������������������������������� 12
Healthcare����������������������������������������������������������������������������������������������������������������������������� 14
Automotive���������������������������������������������������������������������������������������������������������������������������� 16
Robotics��������������������������������������������������������������������������������������������������������������������������������� 17
Security��������������������������������������������������������������������������������������������������������������������������������� 18
Social Media�������������������������������������������������������������������������������������������������������������������������� 19
Marketing������������������������������������������������������������������������������������������������������������������������������ 20
Natural Language Processing������������������������������������������������������������������������������������������������ 21

v
Table of Contents

Computer Vision�������������������������������������������������������������������������������������������������������������������� 22
Summary������������������������������������������������������������������������������������������������������������������������������������ 27
References���������������������������������������������������������������������������������������������������������������������������������� 27

Chapter 2: Foundations of Synthetic data�������������������������������������������������������������� 31


How to Generated Fair Synthetic Data?�������������������������������������������������������������������������������������� 31
Generating Synthetic Data in A Simple Way�������������������������������������������������������������������������������� 32
Using Video Games to Create Synthetic Data������������������������������������������������������������������������������ 37
The Synthetic-to-Real Domain Gap��������������������������������������������������������������������������������������������� 42
Bridging the Gap�������������������������������������������������������������������������������������������������������������������� 42
Is Real-World Experience Unavoidable?�������������������������������������������������������������������������������� 49
Pretraining����������������������������������������������������������������������������������������������������������������������������� 50
Reinforcement Learning�������������������������������������������������������������������������������������������������������� 51
Self-Supervised Learning������������������������������������������������������������������������������������������������������ 53
Summary������������������������������������������������������������������������������������������������������������������������������������ 54
References���������������������������������������������������������������������������������������������������������������������������������� 55

Chapter 3: Introduction to GANs����������������������������������������������������������������������������� 61


GANs������������������������������������������������������������������������������������������������������������������������������������������� 61
CTGAN������������������������������������������������������������������������������������������������������������������������������������ 63
SurfelGAN������������������������������������������������������������������������������������������������������������������������������ 64
Cycle GANs���������������������������������������������������������������������������������������������������������������������������� 65
SinGAN-Seg��������������������������������������������������������������������������������������������������������������������������� 66
MedGAN��������������������������������������������������������������������������������������������������������������������������������� 66
DCGAN����������������������������������������������������������������������������������������������������������������������������������� 67
WGAN������������������������������������������������������������������������������������������������������������������������������������� 68
SeqGAN���������������������������������������������������������������������������������������������������������������������������������� 69
Conditional GAN��������������������������������������������������������������������������������������������������������������������� 70
BigGAN���������������������������������������������������������������������������������������������������������������������������������� 71
Summary������������������������������������������������������������������������������������������������������������������������������������ 72
References���������������������������������������������������������������������������������������������������������������������������������� 72

vi
Table of Contents

Chapter 4: Synthetic Data Generation with R��������������������������������������������������������� 75


Basic Functions Used in Generating Synthetic Data������������������������������������������������������������������� 75
Creating a Value Vector from a Known Univariate Distribution���������������������������������������������� 77
Vector Generation from a Multi-Levels Categorical Variable������������������������������������������������� 78
Multivariate��������������������������������������������������������������������������������������������������������������������������� 78
Multivariate (with correlation)����������������������������������������������������������������������������������������������� 79
Generating an Artificial Neural Network Using Package “nnet” in R������������������������������������������ 84
Augmented Data�������������������������������������������������������������������������������������������������������������������� 90
Image Augmentation Using Torch Package��������������������������������������������������������������������������������� 97
Multivariate Imputation Via “mice” Package in R��������������������������������������������������������������������� 102
Generating Synthetic Data with the “conjurer” Package in R��������������������������������������������������� 114
Creat a Customer����������������������������������������������������������������������������������������������������������������� 115
Creat a Product�������������������������������������������������������������������������������������������������������������������� 117
Creating Transactions���������������������������������������������������������������������������������������������������������� 118
Generating Synthetic Data��������������������������������������������������������������������������������������������������� 119
Generating Synthetic Data with “Synthpop” Package In R������������������������������������������������������� 121
Copula��������������������������������������������������������������������������������������������������������������������������������� 145
t Copula������������������������������������������������������������������������������������������������������������������������������� 147
Normal Copula��������������������������������������������������������������������������������������������������������������������� 150
Gaussian Copula������������������������������������������������������������������������������������������������������������������ 153
Summary���������������������������������������������������������������������������������������������������������������������������������� 157
References�������������������������������������������������������������������������������������������������������������������������������� 157

Chapter 5: Synthetic Data Generation with Python���������������������������������������������� 159


Data Generation with Know Distribution����������������������������������������������������������������������������������� 159
Data with Date information������������������������������������������������������������������������������������������������� 163
Data with Internet information�������������������������������������������������������������������������������������������� 163
A more complex and comprehensive example�������������������������������������������������������������������� 163
Synthetic Data Generation in Regression Problem������������������������������������������������������������������� 164
Gaussian Noise Apply to Regression Model������������������������������������������������������������������������ 168

vii
Table of Contents

Friedman Functions and Symbolic Regression������������������������������������������������������������������������� 172


Make 3d Plot������������������������������������������������������������������������������������������������������������������������ 174
Make3d Plot������������������������������������������������������������������������������������������������������������������������� 177
Synthetic data generation for Classification and Clustering Problems������������������������������������� 182
Classification Problems������������������������������������������������������������������������������������������������������� 183
Clustering Problems������������������������������������������������������������������������������������������������������������ 194
Generation Tabular Synthetic Data by Applying GANs��������������������������������������������������������������� 203
Synthetic data Generation��������������������������������������������������������������������������������������������������� 205
Summary���������������������������������������������������������������������������������������������������������������������������������� 214
Reference���������������������������������������������������������������������������������������������������������������������������������� 214

Index��������������������������������������������������������������������������������������������������������������������� 215

viii
About the Authors
Necmi Gürsakal a statistics professor at Mudanya University
in Turkey, where he shares his experience and knowledge
with his students. Before that, he worked as a faculty member
at the Econometrics Department Bursa Uludağ University
for more than 40 years. Necmi has many published Turkish
books and English and Turkish articles on data science,
machine learning, artificial intelligence, social network
analysis, and big data. In addition, he has served as a
consultant to various business organizations.

Sadullah Çelik a mathematician, statistician, and data


scientist who completed his undergraduate and graduate
education in mathematics and his doctorate in statistics. He
has written Turkish and English numerous articles on big
data, data science, machine learning, multivariate statistics,
and network science. He developed his programming and
machine learning knowledge while writing his doctoral
thesis, Big Data and Its Applications in Statistics. He has
been working as a Research Assistant at Adnan Menderes
University Aydin, for more than 8 years and has extensive
knowledge and experience in big data, data science, machine
learning, and statistics, which he passes on to his students.

ix
About the Authors

Esma Birişçi a programmer, statistician, and operations


researcher with more than 15 years of experience in
computer program development and five years in teaching
students. She developed her programming ability while
studying for her bachelor degree, and knowledge of machine
learning during her master degree program. She completed
her thesis about data augmentation and supervised learning.
Esma transferred to Industrial Engineering and completed
her doctorate program on dynamic and stochastic nonlinear
programming. She studied large-scale optimization and life
cycle assessment, and developed a large-­scale food supply chain system application
using Python. She is currently working at Bursa Uludag University, Turkey, where she
transfers her knowledge to students. In this book, she is proud to be able to explain
Python’s powerful structure.

x
About the Technical Reviewer
Fatih Gökmenoğlu is a researcher focused on synthetic
data, computational intelligence, domain adaptation, and
active learning. He also likes reporting on the results of his
research.
His knowledge closely aligns with computer vision,
especially with deepfake technology. He studies both the
technology itself and ways of countering it.
When he’s not on the computer, you’ll likely find him
spending time with his little daughter, whose development
has many inspirations for his work on machine learning.

xi
Preface
In 2017, The Economist wrote, “The world’s most valuable resource is no longer oil,
but data,” and this becomes truer with every passing day. The gathering and analysis
of massive amounts of data drive the business world, public administration, and
science, giving leaders the information they need to make accurate, strategically-sound
decisions. Although some worry about the implications of this new “data economy,” it is
clear that data is here to stay. Those who can harness the power of data will be in a good
position to shape the future.
To use data ever more efficiently, machine and deep learning—forms of artificial
intelligence (AI)—continue to evolve. And every new development in how data and
AI are used impacts innumerable areas of everyday life. In other words, from banking
to healthcare to scientific research to sports and entertainment, data has become
everything. But, for privacy reasons, it is not always possible to find sufficient data.
As the lines between the real and virtual worlds continue to blur, data scientists have
begun to generate synthetic data, with or without real data, to understand, control, and
regulate decision-making in the real world. Instead of focusing on how to overcome
barriers to data, data professionals have the option of either transforming existing data
for their specific use or producing it synthetically. We have written this book to explore
the importance and meaning of these two avenues through real-world examples. If you
work with or are interested in data science, statistics, machine learning, deep learning, or
AI, this book is for you.
While deep learning models’ huge data needs are a bottleneck for such applications,
synthetic data has allowed these models to be, in a sense, self-fueled. Synthetic data
is still an emerging topic, from healthcare to retail, manufacturing to autonomous
driving. It should be noted that since labeling processes start with real data. Real data,
augmented data, and synthetic data all take place in these deep learning processes.
This book includes examples of Python and R applications for synthetic data
production. We hope that it proves to be as comprehensive as you need it to be.

—Necmi Gürsakal
— Sadullah Çelik
— Esma Birişçi

xiii
Introduction
“The claim is that nature itself operates in a way that is analogous to a priori reasoning.
The way nature operates is, of course, via causation: the processes we see unfolding
around us are causal processes, with earlier stages linked to later ones by causal
relations” [1]. Data is extremely important in the operation of causal relationships and
can be described as the “sine qua non” of these processes. In addition, data quality is
related to quantity and diversity, especially in the AI framework.
Data is the key to understanding causal relationships. Without data, it would
be impossible to understand how the world works. The philosopher David Hume
understood this better than anyone. According to Hume, our knowledge of the world
comes from our experiences. Experiences produce data, which can be stored on a
computer or in the cloud. Based on this data, we can make predictions about what will
happen in the future. These predictions allow us to test our hypotheses and theories. If
our predictions are correct, we can have confidence in our ideas. If they are wrong, we
need to rethink our hypotheses and theories. This cycle of testing and refinement is how
we make progress in science and life. This is how we make progress as scientists and as
human beings.
Many of today’s technology giants, such as Amazon, Facebook, and Google, have
made data-driven decision-making the core of their business models. They have done
this by harnessing the power of big data and AI to make decisions that would otherwise
be impossible. In many ways, these companies are following in the footsteps of Hume,
using data to better understand the world around them.
As technology advances, how we collect and store data also changes. In the past,
data was collected through experiments and observations made by scientists. However,
with the advent of computers and the internet, data can now be collected automatically
and stored in a central location. This has led to a change in the way we think about
knowledge. Instead of knowledge being stored in our minds, it is now something that is
stored in computers and accessed through algorithms.
This change in the way we think about knowledge has had a profound impact on the
way we live and work. In the past, we would have to rely on our memory and experience
to make decisions. However, now we can use data to make more informed decisions.

xv
Introduction

For example, we can use data about the past behavior of consumers to predict what
they might buy in the future. This has led to a more efficient and effective way of doing
business.
In the age of big data, it is more important than ever to have high-quality data to
make accurate predictions. However, it is not only the quantity and quality of the data
that is important but also the diversity. The diversity of data sources is important to
avoid bias and to get a more accurate picture of the world. This is because different data
sources can provide different perspectives on the same issue, which can help to avoid
bias. Furthermore, more data sources can provide a more complete picture of what is
happening in the world.

Machine Learning
In recent years, a method has been developed to teach machines to see, read, and hear
via data input. The point of origin for this is what we think of in the brain as producing
output bypassing inputs through a large network of neurons. In this framework, we
are trying to give machines the ability to learn by modeling artificial neural networks.
Although some authors suggest that the brain does not work that way, this is the path
followed today.
Many machines learning projects in new application areas began with the labeling
of data by humans to initiate machine training. These projects were categorized under
the title of supervised learning. This labeling task is similar to the structured content
analysis applied in social sciences and humanities. Supervised learning is a type of
machine learning that is based on providing the machine with training data that is
already labeled. This allows the machine to learn and generalize from the data to make
predictions about new data. Supervised learning is a powerful tool for many machine
learning applications.
The quality of data used in machine learning studies is crucial for the accuracy
of the findings. A study by Geiger et al. (2020) showed that the data used to train a
machine learning model for credit scoring was of poor quality, which led to an unfair
and inaccurate model. The study highlights the importance of data quality in machine
learning research. Data quality is essential for accurate results. Furthermore, the study
showed how data labeling impacts data quality. About half of the papers using original
human annotation overlap with other papers to some extent, and about 70% of the

xvi
Introduction

papers that use multiple overlaps report metrics of inter-annotator agreement [2]. This
suggests that the data used in these studies is unreliable and that further research is
needed to improve data quality.
As more business decisions are informed by data analysis, more companies are
built on data. However, data quality remains a problem. Unfortunately, “garbage in,
garbage out,” which was a frequently used motto about computers in the past, is valid
in the sense of data sampling, which is also used in the framework of machine learning.
According to the AI logic most employed today, if qualified college graduates have been
successful in obtaining doctorates in the past, they will remain doing so in the future.
In this context, naturally, the way to get a good result in machine learning is to include
“black swans” in our training data, and this is also a problem with our datasets.
A “black swan” is a term used to describe outliers in datasets. It is a rare event that
is difficult to predict and has a major impact on a system. In machine learning, a black
swan event is not represented in the training data but could significantly impact the
results of the machine learning algorithm. Black swans train models to be more robust
to unexpected inputs. It is important to include them in training datasets to avoid biased
results.
Over time, technological development has moved it into the framework of human
decision-making with data and into the decision-making framework of machines. Now,
machines evaluate big data and make decisions with algorithms written by humans.
For example, a driverless car can navigate toward the desired destination by constantly
collecting data on stationary and moving objects around it in various ways. Autonomous
driving is a very important and constantly developing application area for synthetic data.
Autonomous driving systems should be developed at a capability level that can solve
complex and varied traffic problems in simulation. The scenarios we mentioned in these
simulations are sometimes made by gaming engines such as Unreal and Unity. Creating
accurate and useful “synthetic data” with simulations based on real data will be the way
companies will prefer real data that cannot be easily found.
Synthetic data is becoming an increasingly important tool for businesses looking to
improve their AI initiatives and overcome many of the associated challenges. By creating
synthetic data, businesses can shape and form data to their needs and augment and
de-bias their datasets. This makes synthetic data an essential part of any AI strategy.
DataGen, Mostly, Cvedia, Hazy, AI.Reverie, Omniverse, and Anyverse can be counted
among the startups that produce synthetic data. Sample images from synthetic outdoor
datasets produced by such companies can be seen in the given source.

xvii
Another Random Document on
Scribd Without Any Related Topics
credit card donations. To donate, please visit:
www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.

Project Gutenberg™ eBooks are often created from several


printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.

You might also like