官术网_书友最值得收藏!

Chapter 1. Introducing Test-Driven Machine Learning

This book will show you how to develop complex software (sometimes rooted in randomness) in small, controlled steps . It will also instruct you in how to begin developing solutions to machine learning problems using test-driven development (from here, this will be written as TDD). Mastering TDD is not something this book will achieve. Instead, this book will help you begin your journey and expose you to guiding principles, which you can use to creatively solve challenges as you encounter them.

We will answer the following three questions in this chapter:

  • What are TDD and BDD (behavior-driven development)?
  • How do we apply these concepts to machine learning, and make inferences and predictions?
  • How does this work in practice?

After gaining answers to these questions, we will be ready to move on to tackling real problems. This book is about applying these concepts to solve machine learning problems. This chapter contains the largest theoretical explanation that we will see in the book, with the remainder of the theory being described by example.

Due to the focus on application, you will learn much more than simply the theory of TDD and BDD. However, there are aspects of practices that this book will not touch on. To read more about the theory and ideas, search the Internet for articles written by the following:

  • Kent Beck—The father of TDD
  • Dan North—The father of BDD
  • Martin Fowler—The father of refactoring. He has also created a large knowledge base on these topics
  • James Shore—One of the authors of The Art of Agile Development, who has a deep theoretical understanding of TDD, and explains the practical value of it quite well

These concepts are incredibly simple and yet can take a lifetime to master. When applied to machine learning, we must find new ways to control and/or measure the random processes inherent in the algorithm. This will come up in this chapter as well as others. In the next section, we will develop a foundation for TDD and begin to explore its application.

主站蜘蛛池模板: 漳州市| 蒲江县| 福贡县| 江口县| 安新县| 鹿泉市| 鲁山县| 江西省| 兴城市| 阿拉善左旗| 山阳县| 东乌珠穆沁旗| 宿州市| 余干县| 苍山县| 南昌市| 荣成市| 广河县| 康定县| 泗洪县| 曲沃县| 当涂县| 利辛县| 花莲县| 祁连县| 汪清县| 德江县| 襄垣县| 萝北县| 兴文县| 繁峙县| 渝北区| 永德县| 镇沅| 资溪县| 南丰县| 沁水县| 额济纳旗| 凤山县| 宁明县| 英德市|