JC-ProgJava. Building Neural Networks from Scratch. 2020, https://jc-progjava.github.io/Building-Neural-Networks-From-Scratch/.
Accessed 1 November 2020.
JC-ProgJava. (2020). Building Neural Networks from Scratch. Retrieved November 1, 2020, from https://jc-progjava.github.io/Building-Neural-Networks-From-Scratch/
Author: JC-ProgJava
Title: Building Neural Networks from Scratch
Publisher: N/A
Published Year: 2020
URL: https://jc-progjava.github.io/Building-Neural-Networks-From-Scratch/
The author of this book files all code under the “GNU Affero General Public License v3.0” (GNU AGPLv3) License. The author also reserves the right to change the license when needed and will be clearly stated on the website hosting the code primarily.
Permissions of use of code in this book are:
Conditions are:
Limitations are:
The author does not include a license or copyright(currently) to the book but states clearly the limitations of use and conditions for using the book are:
Contact the author for any other queries at juch5796@gmail.com. Feedback can be given in the Google Form https://forms.gle/U9yQyfQcAQZ8mDRF9, all submissions to the form are anonymous, although an email can be included for further contacting(if needed).
Tips & thanks go in a separate form https://forms.gle/s66SvotPBjvhVY4H7, and the author may include these responses in a section on the book website. Once again, an anonymous name or real name may be given, which may be included in a tips & thanks section on the book website.
Hi! I know that many of you don’t even notice this section, but I would appreciate it if you could read it. Thanks! :-)
In this mini-book, you will(hopefully) learn about different neural network structures. By the end of the book, I hope you also will have a solid conceptual understanding of how neural networks function.
I will briefly go through some necessary formulas and equations, but will mainly stick to broad definitions that are comprehendible to even middle school students(I’ll try!). Some topics are well beyond those taught in middle school, so you may want to look at more thorough and step-by-step walkthroughs on the topics on platforms like Khan Academy.
As you go through this book, you will also encounter several different projects and real-world problems that I will walk you through and solve. I highly recommend you take a try at solving them beforehand! Solutions that I give may not be the best and most state-of-the-art, so you can also try and tweak it a bit to make it better! I will try to add some optimizations to the code to make it faster and more efficient and give you a summary of what state-of-the-art methods data scientists now use. All code in this book is either pseudocode, Python(when used, an identical Java program is also given), and Java, so you should be able to roughly interpret it if you have learned any C-like programming languages! You don’t need to learn one right away to continue reading either… I provide detailed explanations of each line of code. You can also find it all on GitHub(with this book).
Now that I have given an introduction to what you will learn, I should probably answer an impending question that will some time or later come to mind: “why did you write this book? Surely you didn’t do it just for the sake of fun?” I admit, there was a motivation behind it. Nowadays, it is hard to find a detailed (and free) guide to neural networks that explains it all very well. I wrote it, partly also to get a more intuitive understanding of the way neural networks work myself: I had only gotten interested in the subject in March 2020, and yet hadn’t been able to find a tutorial that explained it all in detail and provided programs that required no libraries (libraries just do all the work for you, you don’t get a good comprehensive understanding on what it does). So, I wrote this, to store all my personal experiences in words, and to make your life in learning about neural networks easier. Thank me later :). People always think that writing the book is the hardest part of the entire process, but I believe that finding materials and sources or references is even harder. Stating information in a readable and easy-to-understand way was probably the most challenging part I tried to accomplish in this book.
On another note, this book took several hundred hours to write and consists of 20609 words. What I am trying to get at is that it took a very long time to write this, so I would appreciate it if all uses(if any) of this book in other forms are attributed and properly cited/credited. It would also be great if this piece of writing could be attributed to the correct authors and not “stolen” or plagiarised. I provide a citation reference which you can look at. I don’t use any license, but the limitations for use of this book are also listed there. Any references or sources for images, definitions, or phrases/ideologies are also cited on the references page. If you feel that your work may have been incorrectly cited or misused, you can contact me and I will see to it that we can come to a resolution.
Finally, let’s end on a happier note:
Start reading!
JC-ProgJava
October 2020