
Machine Learning: End-to-End guide for Java developers
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
All prices
More details
Content
- Cover
- Copyright
- Credits
- Table of Contents
- Table of Contents
- Table of Contents
- Module 1: Java for Data Science
- Chapter 1: Getting Started with Data Science
- Problems solved using data science
- Understanding the data science problem - solving approach
- Using Java to support data science
- Acquiring data for an application
- The importance and process of cleaning data
- Visualizing data to enhance understanding
- The use of statistical methods in data science
- Machine learning applied to data science
- Using neural networks in data science
- Deep learning approaches
- Performing text analysis
- Visual and audio analysis
- Improving application performance using parallel techniques
- Assembling the pieces
- Summary
- Chapter 2: Data Acquisition
- Understanding the data formats used in data science applications
- Overview of CSV data
- Overview of spreadsheets
- Overview of databases
- Overview of PDF files
- Overview of JSON
- Overview of XML
- Overview of streaming data
- Overview of audio/video/images in Java
- Data acquisition techniques
- Using the HttpUrlConnection class
- Web crawlers in Java
- Creating your own web crawler
- Using the crawler4j web crawler
- Web scraping in Java
- Using API calls to access common social media sites
- Using OAuth to authenticate users
- Handing Twitter
- Handling Wikipedia
- Handling Flickr
- Handling YouTube
- Searching by keyword
- Summary
- Chapter 3: Data Cleaning
- Handling data formats
- Handling CSV data
- Handling spreadsheets
- Handling Excel spreadsheets
- Handling PDF files
- Handling JSON
- Using JSON streaming API
- Using the JSON tree API
- The nitty gritty of cleaning text
- Using Java tokenizers to extract words
- Java core tokenizers
- Third-party tokenizers and libraries
- Transforming data into a usable form
- Simple text cleaning
- Removing stop words
- Finding words in text
- Finding and replacing text
- Data imputation
- Subsetting data
- Sorting text
- Data validation
- Validating data types
- Validating dates
- Validating e-mail addresses
- Validating ZIP codes
- Validating names
- Cleaning images
- Changing the contrast of an image
- Smoothing an image
- Brightening an image
- Resizing an image
- Converting images to different formats
- Summary
- Chapter 4: Data Visualization
- Understanding plots and graphs
- Visual analysis goals
- Creating index charts
- Creating bar charts
- Using country as the category
- Using decade as the category
- Creating stacked graphs
- Creating pie charts
- Creating scatter charts
- Creating histograms
- Creating donut charts
- Creating bubble charts
- Summary
- Chapter 5: Statistical Data Analysis Techniques
- Working with mean, mode, and median
- Calculating the mean
- Using simple Java techniques to find mean
- Using Java 8 techniques to find mean
- Using Google Guava to find mean
- Using Apache Commons to find mean
- Calculating the median
- Using simple Java techniques to find median
- Using Apache Commons to find the median
- Calculating the mode
- Using ArrayLists to find multiple modes
- Using a HashMap to find multiple modes
- Using a Apache Commons to find multiple modes
- Standard deviation
- Sample size determination
- Hypothesis testing
- Regression analysis
- Using simple linear regression
- Using multiple regression
- Summary
- Chapter 6: Machine Learning
- Supervised learning techniques
- Decision trees
- Decision tree types
- Decision tree libraries
- Using a decision tree with a book dataset
- Testing the book decision tree
- Support vector machines
- Using an SVM for camping data
- Testing individual instances
- Bayesian networks
- Using a Bayesian network
- Unsupervised machine learning
- Association rule learning
- Using association rule learning to find buying relationships
- Reinforcement learning
- Summary
- Chapter 7: Neural Networks
- Training a neural network
- Getting started with neural network architectures
- Understanding static neural networks
- A basic Java example
- Understanding dynamic neural networks
- Multilayer perceptron networks
- Building the model
- Evaluating the model
- Predicting other values
- Saving and retrieving the model
- Learning vector quantization
- Self-Organizing Maps
- Using a SOM
- Displaying the SOM results
- Additional network architectures and algorithms
- The k-Nearest Neighbors algorithm
- Instantaneously trained networks
- Spiking neural networks
- Cascading neural networks
- Holographic associative memory
- Backpropagation and neural networks
- Summary
- Chapter 8: Deep Learning
- Deeplearning4j architecture
- Acquiring and manipulating data
- Reading in a CSV file
- Configuring and building a model
- Using hyperparameters in ND4J
- Instantiating the network model
- Training a model
- Testing a model
- Deep learning and regression analysis
- Preparing the data
- Setting up the class
- Reading and preparing the data
- Building the model
- Evaluating the model
- Restricted Boltzmann Machines
- Reconstruction in an RBM
- Configuring an RBM
- Deep autoencoders
- Building an autoencoder in DL4J
- Configuring the network
- Building and training the network
- Saving and retrieving a network
- Specialized autoencoders
- Convolutional networks
- Building the model
- Evaluating the model
- Recurrent Neural Networks
- Summary
- Chapter 9: Text Analysis
- Implementing named entity recognition
- Using OpenNLP to perform NER
- Identifying location entities
- Classifying text
- Word2Vec and Doc2Vec
- Classifying text by labels
- Classifying text by similarity
- Understanding tagging and POS
- Using OpenNLP to identify POS
- Understanding POS tags
- Extracting relationships from sentences
- Using OpenNLP to extract relationships
- Sentiment analysis
- Downloading and extracting the Word2Vec model
- Building our model and classifying text
- Summary
- Chapter 10: Visual and Audio Analysis
- Text-to-speech
- Using FreeTTS
- Getting information about voices
- Gathering voice information
- Understanding speech recognition
- Using CMUPhinx to convert speech to text
- Obtaining more detail about the words
- Extracting text from an image
- Using Tess4j to extract text
- Identifying faces
- Using OpenCV to detect faces
- Classifying visual data
- Creating a Neuroph Studio project for classifying visual images
- Training the model
- Summary
- Chapter 11: Mathematical and Parallel Techniques for Data Analysis
- Implementing basic matrix operations
- Using GPUs with DeepLearning4j
- Using map-reduce
- Using Apache's Hadoop to perform map-reduce
- Writing the map method
- Writing the reduce method
- Creating and executing a new Hadoop job
- Various mathematical libraries
- Using the jblas API
- Using the Apache Commons math API
- Using the ND4J API
- Using OpenCL
- Using Aparapi
- Creating an Aparapi application
- Using Aparapi for matrix multiplication
- Using Java 8 streams
- Understanding Java 8 lambda expressions and streams
- Using Java 8 to perform matrix multiplication
- Using Java 8 to perform map-reduce
- Summary
- Chapter 12: Bringing It All Together
- Defining the purpose and scope of our application
- Understanding the application's architecture
- Data acquisition using Twitter
- Understanding the TweetHandler class
- Extracting data for a sentiment analysis model
- Building the sentiment model
- Processing the JSON input
- Cleaning data to improve our results
- Removing stop words
- Performing sentiment analysis
- Analysing the results
- Other optional enhancements
- Summary
- Index
- Module 2: Machine Learning in Java
- Chapter 1: Applied Machine Learning Quick Start
- Machine learning and data science
- What kind of problems can machine learning solve?
- Applied Machine Learning workflow
- Data and problem definition
- Measurement scales
- Data collection
- Find or observe data
- Generate data
- Sampling traps
- Data pre-processing
- Data cleaning
- Fill missing values
- Remove outliers
- Data transformation
- Data reduction
- Unsupervised learning
- Find similar items
- Euclidean distances
- Non-Euclidean distances
- The curse of dimensionality
- Clustering
- Supervised learning
- Classification
- Decision tree learning
- Probabilistic classifiers
- Kernel methods
- Artificial neural networks
- Ensemble learning
- Evaluating classification
- Regression
- Linear regression
- Evaluating regression
- Generalization and evaluation
- Underfitting and overfitting
- Train and test sets
- Cross-validation
- Leave-one-out validation
- Stratification
- Summary
- Chapter 2: Java Libraries and Platforms for Machine Learning
- The need for Java
- Machine learning libraries
- Weka
- Java machine learning
- Apache Mahout
- Apache Spark
- Deeplearning4j
- MALLET
- Comparing libraries
- Building a machine learning application
- Traditional machine learning architecture
- Dealing with big data
- Big data application architecture
- Summary
- Chapter 3: Basic Algorithms - Classification, Regression, and Clustering
- Before you start
- Classification
- Data
- Loading data
- Feature selection
- Learning algorithms
- Classify new data
- Evaluation and prediction error metrics
- Confusion matrix
- Choosing a classification algorithm
- Regression
- Loading the data
- Analyzing attributes
- Building and evaluating regression model
- Linear regression
- Regression trees
- Tips to avoid common regression problems
- Clustering
- Clustering algorithms
- Evaluation
- Summary
- Chapter 4: Customer Relationship Prediction with Ensembles
- Customer relationship database
- Challenge
- Dataset
- Evaluation
- Basic naive Bayes classifier baseline
- Getting the data
- Loading the data
- Basic modeling
- Evaluating models
- Implementing naive Bayes baseline
- Advanced modeling with ensembles
- Before we start
- Data pre-processing
- Attribute selection
- Model selection
- Performance evaluation
- Summary
- Chapter 5: Affinity Analysis
- Market basket analysis
- Affinity analysis
- Association rule learning
- Basic concepts
- Database of transactions
- Itemset and rule
- Support
- Confidence
- Apriori algorithm
- FP-growth algorithm
- The supermarket dataset
- Discover patterns
- Apriori
- FP-growth
- Other applications in various areas
- Medical diagnosis
- Protein sequences
- Census data
- Customer relationship management
- IT Operations Analytics
- Summary
- Chapter 6: Recommendation Engine with Apache Mahout
- Basic concepts
- Key concepts
- User-based and item-based analysis
- Approaches to calculate similarity
- Collaborative filtering
- Content-based filtering
- Hybrid approach
- Exploitation versus exploration
- Getting Apache Mahout
- Configuring Mahout in Eclipse with the Maven plugin
- Building a recommendation engine
- Book ratings dataset
- Loading the data
- Loading data from file
- Loading data from database
- In-memory database
- Collaborative filtering
- User-based filtering
- Item-based filtering
- Adding custom rules to recommendations
- Evaluation
- Online learning engine
- Content-based filtering
- Summary
- Chapter 7: Fraud and Anomaly Detection
- Suspicious and anomalous behaviour detection
- Unknown-unknowns
- Suspicious pattern detection
- Anomalous pattern detection
- Analysis types
- Pattern analysis
- Transaction analysis
- Plan recognition
- Fraud detection of insurance claims
- Dataset
- Modeling suspicious patterns
- Vanilla approach
- Dataset rebalancing
- Anomaly detection in website traffic
- Dataset
- Anomaly detection in time series data
- Histogram-based anomaly detection
- Loading the data
- Creating histograms
- Density based k-nearest neighbours
- Summary
- Chapter 8: Image Recognition with Deeplearning4j
- Introducing image recognition
- Neural networks
- Perceptron
- Feedforward neural networks
- Autoencoder
- Restricted Boltzmann machine
- Deep convolutional networks
- Image classification
- Deeplearning4j
- Getting DL4J
- MNIST dataset
- Loading the data
- Building models
- Building a single-layer regression model
- Building a deep belief network
- Build a Multilayer Convolutional Network
- Summary
- Chapter 9: Activity Recognition with Mobile Phone Sensors
- Introducing activity recognition
- Mobile phone sensors
- Activity recognition pipeline
- The plan
- Collecting data from a mobile phone
- Installing Android Studio
- Loading the data collector
- Feature extraction
- Collecting training data
- Building a classifier
- Reducing spurious transitions
- Plugging the classifier into a mobile app
- Summary
- Chapter 10: Text Mining with Mallet - Topic Modeling and Spam Detection
- Introducing text mining
- Topic modeling
- Text classification
- Installing Mallet
- Working with text data
- Importing data
- Importing from directory
- Importing from file
- Pre-processing text data
- Topic modeling for BBC news
- BBC dataset
- Modeling
- Evaluating a model
- Reusing a model
- Saving a model
- Restoring a model
- E-mail spam detection
- E-mail spam dataset
- Feature generation
- Training and testing
- Model performance
- Summary
- Chapter 11: What is Next?
- Machine learning in real life
- Noisy data
- Class unbalance
- Feature selection is hard
- Model chaining
- Importance of evaluation
- Getting models into production
- Model maintenance
- Standards and markup languages
- CRISP-DM
- SEMMA methodology
- Predictive Model Markup Language
- Machine learning in the cloud
- Machine learning as a service
- Web resources and competitions
- Datasets
- Online courses
- Competitions
- Websites and blogs
- Venues and conferences
- Summary
- Appendix: References
- Index
- Module 3: Mastering Java Machine Learning
- Chapter 1: Machine Learning Review
- Machine learning - history and definition
- What is not machine learning?
- Machine learning - concepts and terminology
- Machine learning - types and subtypes
- Datasets used in machine learning
- Machine learning applications
- Practical issues in machine learning
- Machine learning - roles and process
- Roles
- Process
- Machine learning - tools and datasets
- Datasets
- Summary
- Chapter 2: Practical Approach to Real-World Supervised Learning
- Formal description and notation
- Data quality analysis
- Descriptive data analysis
- Basic label analysis
- Basic feature analysis
- Visualization analysis
- Univariate feature analysis
- Multivariate feature analysis
- Data transformation and preprocessing
- Feature construction
- Handling missing values
- Outliers
- Discretization
- Data sampling
- Is sampling needed?
- Undersampling and oversampling
- Training, validation, and test set
- Feature relevance analysis and dimensionality reduction
- Feature search techniques
- Feature evaluation techniques
- Filter approach
- Wrapper approach
- Embedded approach
- Model building
- Linear models
- Linear Regression
- Naïve Bayes
- Logistic Regression
- Non-linear models
- Decision Trees
- K-Nearest Neighbors (KNN)
- Support vector machines (SVM)
- Ensemble learning and meta learners
- Bootstrap aggregating or bagging
- Boosting
- Model assessment, evaluation, and comparisons
- Model assessment
- Model evaluation metrics
- Confusion matrix and related metrics
- ROC and PRC curves
- Gain charts and lift curves
- Model comparisons
- Comparing two algorithms
- Comparing multiple algorithms
- Case Study - Horse Colic Classification
- Business problem
- Machine learning mapping
- Data analysis
- Label analysis
- Features analysis
- Supervised learning experiments
- Weka experiments
- RapidMiner experiments
- Results, observations, and analysis
- Summary
- References
- Chapter 3: Unsupervised Machine Learning Techniques
- Issues in common with supervised learning
- Issues specific to unsupervised learning
- Feature analysis and dimensionality reduction
- Notation
- Linear methods
- Principal component analysis (PCA)
- Random projections (RP)
- Multidimensional Scaling (MDS)
- Nonlinear methods
- Kernel Principal Component Analysis (KPCA)
- Manifold learning
- Clustering
- Clustering algorithms
- k-Means
- DBSCAN
- Mean shift
- Expectation maximization (EM) or Gaussian mixture modeling (GMM)
- Hierarchical clustering
- Self-organizing maps (SOM)
- Spectral clustering
- Affinity propagation
- Clustering validation and evaluation
- Internal evaluation measures
- External evaluation measures
- Outlier or anomaly detection
- Outlier algorithms
- Statistical-based
- Distance-based methods
- Density-based methods
- Clustering-based methods
- High-dimensional-based methods
- One-class SVM
- Outlier evaluation techniques
- Supervised evaluation
- Unsupervised evaluation
- Real-world case study
- Tools and software
- Business problem
- Machine learning mapping
- Data collection
- Data quality analysis
- Data sampling and transformation
- Feature analysis and dimensionality reduction
- Observations on feature analysis and dimensionality reduction
- Clustering models, results, and evaluation
- Observations and clustering analysis
- Outlier models, results, and evaluation
- Summary
- References
- Chapter 4: Semi-Supervised and Active Learning
- Semi-supervised learning
- Representation, notation, and assumptions
- Semi-supervised learning techniques
- Self-training SSL
- Co-training SSL or multi-view SSL
- Cluster and label SSL
- Transductive graph label propagation
- Transductive SVM (TSVM)
- Case study in semi-supervised learning
- Tools and software
- Business problem
- Machine learning mapping
- Data collection
- Data quality analysis
- Data sampling and transformation
- Datasets and analysis
- Experiments and results
- Active learning
- Representation and notation
- Active learning scenarios
- Active learning approaches
- Uncertainty sampling
- Version space sampling
- Query by disagreement (QBD)
- Advantages and limitations
- Data distribution sampling
- How does it work?
- Advantages and limitations
- Case study in active learning
- Tools and software
- Business problem
- Machine learning mapping
- Data Collection
- Data sampling and transformation
- Feature analysis and dimensionality reduction
- Models, results, and evaluation
- Pool-based scenarios
- Stream-based scenarios
- Analysis of active learning results
- Summary
- References
- Chapter 5: Real-Time Stream Machine Learning
- Assumptions and mathematical notations
- Basic stream processing and computational techniques
- Stream computations
- Sliding windows
- Sampling
- Concept drift and drift detection
- Data management
- Partial memory
- Full memory
- Detection methods
- Adaptation methods
- Incremental supervised learning
- Modeling techniques
- Linear algorithms
- Non-linear algorithms
- Ensemble algorithms
- Validation, evaluation, and comparisons in online setting
- Model validation techniques
- Incremental unsupervised learning using clustering
- Modeling techniques
- Partition based
- Hierarchical based and micro clustering
- Density based
- Grid based
- Validation and evaluation techniques
- Unsupervised learning using outlier detection
- Partition-based clustering for outlier detection
- Inputs and outputs
- How does it work?
- Advantages and limitations
- Distance-based clustering for outlier detection
- Inputs and outputs
- How does it work?
- Validation and evaluation techniques
- Case study in stream learning
- Tools and software
- Business problem
- Machine learning mapping
- Data collection
- Data sampling and transformation
- Feature analysis and dimensionality reduction
- Models, results, and evaluation
- Supervised learning experiments
- Clustering experiments
- Outlier detection experiments
- Analysis of stream learning results
- Summary
- References
- Chapter 6: Probabilistic Graph Modeling
- Probability revisited
- Concepts in probability
- Conditional probability
- Chain rule and Bayes' theorem
- Random variables, joint, and marginal distributions
- Marginal independence and conditional independence
- Factors
- Distribution queries
- Graph concepts
- Graph structure and properties
- Subgraphs and cliques
- Path, trail, and cycles
- Bayesian networks
- Representation
- Definition
- Reasoning patterns
- Independencies, flow of influence, D-Separation, I-Map
- Inference
- Elimination-based inference
- Propagation-based techniques
- Sampling-based techniques
- Learning
- Learning parameters
- Learning structures
- Markov networks and conditional random fields
- Representation
- Parameterization
- Independencies
- Inference
- Learning
- Conditional random fields
- Specialized networks
- Tree augmented network
- Input and output
- How does it work?
- Advantages and limitations
- Markov chains
- Hidden Markov models
- Most probable path in HMM
- Posterior decoding in HMM
- Tools and usage
- OpenMarkov
- Weka Bayesian Network GUI
- Case study
- Business problem
- Machine learning mapping
- Data sampling and transformation
- Feature analysis
- Models, results, and evaluation
- Analysis of results
- Summary
- References
- Chapter 7: Deep Learning
- Multi-layer feed-forward neural network
- Inputs, neurons, activation function, and mathematical notation
- Multi-layered neural network
- Structure and mathematical notations
- Activation functions in NN
- Training neural network
- Limitations of neural networks
- Vanishing gradients, local optimum, and slow training
- Deep learning
- Building blocks for deep learning
- Rectified linear activation function
- Restricted Boltzmann Machines
- Autoencoders
- Unsupervised pre-training and supervised fine-tuning
- Deep feed-forward NN
- Deep Autoencoders
- Deep Belief Networks
- Deep learning with dropouts
- Sparse coding
- Convolutional Neural Network
- CNN Layers
- Recurrent Neural Networks
- Case study
- Tools and software
- Business problem
- Machine learning mapping
- Data sampling and transformation
- Feature analysis
- Models, results, and evaluation
- Basic data handling
- Multi-layer perceptron
- Convolutional Network
- Variational Autoencoder
- DBN
- Parameter search using Arbiter
- Results and analysis
- Summary
- References
- Chapter 8: Text Mining and Natural Language Processing
- NLP, subfields, and tasks
- Text categorization
- Part-of-speech tagging (POS tagging)
- Text clustering
- Information extraction and named entity recognition
- Sentiment analysis and opinion mining
- Coreference resolution
- Word sense disambiguation
- Machine translation
- Semantic reasoning and inferencing
- Text summarization
- Automating question and answers
- Issues with mining unstructured data
- Text processing components and transformations
- Document collection and standardization
- Inputs and outputs
- How does it work?
- Tokenization
- Inputs and outputs
- How does it work?
- Stop words removal
- Inputs and outputs
- How does it work?
- Stemming or lemmatization
- Inputs and outputs
- How does it work?
- Local/global dictionary or vocabulary
- Feature extraction/generation
- Lexical features
- Syntactic features
- Semantic features
- Feature representation and similarity
- Vector space model
- Similarity measures
- Feature selection and dimensionality reduction
- Feature selection
- Dimensionality reduction
- Topics in text mining
- Text categorization/classification
- Topic modeling
- Probabilistic latent semantic analysis (PLSA)
- Text clustering
- Feature transformation, selection, and reduction
- Clustering techniques
- Evaluation of text clustering
- Named entity recognition
- Hidden Markov models for NER
- Maximum entropy Markov models for NER
- Deep learning and NLP
- Tools and usage
- Mallet
- KNIME
- Topic modeling with mallet
- Business problem
- Machine Learning mapping
- Data collection
- Data sampling and transformation
- Feature analysis and dimensionality reduction
- Models, results, and evaluation
- Analysis of text processing results
- Summary
- References
- Chapter 9: Big Data Machine Learning - The Final Frontier
- What are the characteristics of Big Data?
- Big Data Machine Learning
- General Big Data framework
- Big Data cluster deployment frameworks
- Data acquisition
- Data storage
- Data processing and preparation
- Machine Learning
- Visualization and analysis
- Batch Big Data Machine Learning
- H2O as Big Data Machine Learning platform
- H2O architecture
- Machine learning in H2O
- Tools and usage
- Case study
- Business problem
- Machine Learning mapping
- Data collection
- Data sampling and transformation
- Experiments, results, and analysis
- Spark MLlib as Big Data Machine Learning platform
- Spark architecture
- Machine Learning in MLlib
- Tools and usage
- Experiments, results, and analysis
- Real-time Big Data Machine Learning
- SAMOA as a real-time Big Data Machine Learning framework
- Machine Learning algorithms
- Tools and usage
- Experiments, results, and analysis
- The future of Machine Learning
- Summary
- References
- Appendix A: Linear Algebra
- Vector
- Scalar product of vectors
- Matrix
- Transpose of a matrix
- Matrix addition
- Scalar multiplication
- Matrix multiplication
- Singular value decomposition (SVD)
- Appendix B: Probability
- Axioms of probability
- Bayes' theorem
- Density estimation
- Mean
- Variance
- Standard deviation
- Gaussian standard deviation
- Covariance
- Correlation coefficient
- Binomial distribution
- Poisson distribution
- Gaussian distribution
- Central limit theorem
- Error propagation
- Index
- Bibliography
- ThanksPage
- _GoBack
- _GoBack
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.