Book Description:- Artificial intelligence (AI) is increasingly in demand as well as relevant in the modern world, where everything is driven by technology and data. AI can be used for automating systems or processes to carry out complex tasks and functions in order to achieve optimal performance and productivity. Hands-On Artificial Intelligence with Java for Beginners begins by introducing you to AI concepts and algorithms. You will learn about various Java-based libraries and frameworks that can be used in implementing AI to build smart applications. In addition to this, the book teaches you how to implement easy to complex AI tasks, such as genetic programming, heuristic searches, reinforcement learning, neural networks, and segmentation, all with a practical approach. By the end of this book, you will not only have a solid grasp of AI concepts, but you'll also be able to build your own smart applications for multiple domains. What you will learn:- \* Leverage different Java packages and tools such as Weka, RapidMiner, and Deeplearning4j, among others \* Build machine learning models using supervised and unsupervised machine learning techniques \* Implement different deep learning algorithms in Deeplearning4j and build applications based on them \* Study the basics of heuristic searching and genetic programming \* Differentiate between syntactic and semantic similarity among texts \* Perform sentiment analysis for effective decision making with LingPipe Who this book is for:- Hands-On Artificial Intelligence with Java for Beginners is for Java developers who want to learn the fundamentals of artificial intelligence and extend their programming knowledge to build smarter applications. Table of Contents:- 1. Introduction to Artificial Intelligence and Java 2. Exploring Search 3. AI Games and Rule Based System 4. Interfacing with Weka 5. Handling Attributes 6. Supervised Learning 7. Semi-Supervised and Unsupervised Learning Cover......Page 1 Title Page......Page 2 Copyright and Credits......Page 3 Packt Upsell......Page 4 Contributors......Page 5 Table of Contents......Page 6 Preface......Page 8 What is machine learning?......Page 12 Differences between classification and regression......Page 16 Installing JDK and JRE......Page 18 Setting up the NetBeans IDE......Page 21 Importing Java libraries and exporting code in projects as a JAR file......Page 23 Summary......Page 29 An introduction to searching......Page 30 Implementing Dijkstra's search......Page 37 Understanding the notion of heuristics......Page 47 A brief introduction to the A* algorithm......Page 48 Implementing an A* algorithm......Page 55 Summary......Page 59 Introducing the min-max algorithm......Page 60 Implementing an example min-max algorithm......Page 63 Installing Prolog......Page 70 An introduction to rule-based systems with Prolog......Page 71 Setting up Prolog with Java......Page 76 Executing Prolog queries using Java......Page 78 Summary......Page 80 An introduction to Weka......Page 81 Installing and interfacing with Weka......Page 82 Calling the Weka environment into Java......Page 90 Reading and writing datasets......Page 92 Converting datasets......Page 94 Converting an ARFF file to a CSV file......Page 95 Converting a CSV file to an ARFF file......Page 98 Summary......Page 100 Filtering attributes......Page 101 Discretizing attributes......Page 104 Attribute selection......Page 109 Summary......Page 110 Developing a classifier......Page 111 Model evaluation......Page 114 Making predictions......Page 117 Loading and saving models......Page 119 Summary......Page 123 Working with k-means clustering......Page 124 Evaluating a clustering model......Page 127 The difference between unsupervised and semi-supervised learning......Page 129 Creating a classifier for semi-supervised models......Page 130 Making predictions with semi-supervised machine learning models......Page 132 Summary......Page 135 Other Books You May Enjoy......Page 136 Index......Page 139 Build, train, and deploy intelligent applications using Java librariesKey FeaturesLeverage the power of Java libraries to build smart applicationsBuild and train deep learning models for implementing artificial intelligenceLearn various algorithms to automate complex tasksBook DescriptionArtificial intelligence (AI) is increasingly in demand as well as relevant in the modern world, where everything is driven by technology and data. AI can be used for automating systems or processes to carry out complex tasks and functions in order to achieve optimal performance and productivity.Hands-On Artificial Intelligence with Java for Beginners begins by introducing you to AI concepts and algorithms. You will learn about various Java-based libraries and frameworks that can be used in implementing AI to build smart applications. In addition to this, the book teaches you how to implement easy to complex AI tasks, such as genetic programming, heuristic searches, reinforcement learning, neural networks, and segmentation, all with a practical approach.By the end of this book, you will not only have a solid grasp of AI concepts, but you'll also be able to build your own smart applications for multiple domains.What you will learnLeverage different Java packages and tools such as Weka, RapidMiner, and Deeplearning4j, among othersBuild machine learning models using supervised and unsupervised machine learning techniquesImplement different deep learning algorithms in Deeplearning4j and build applications based on themStudy the basics of heuristic searching and genetic programmingDifferentiate between syntactic and semantic similarity among textsPerform sentiment analysis for effective decision making with LingPipeWho this book is forHands-On Artificial Intelligence with Java for Beginners is for Java developers who want to learn the fundamentals of artificial intelligence and extend their programming knowledge to build smarter applications. This book will introduce the AI algorithms to the beginners and will take on implementing AI tasks using various Java-based libraries. It will take a practical approach to get you up and running with building smarter applications using Java programming knowledge.