(Part 2) Best machine theory books according to redditors

Jump to the top 20

We found 787 Reddit comments discussing the best machine theory books. We ranked the 61 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.

Next page

Top Reddit comments about Machine Theory:

u/SharpSightLabs · 13 pointsr/Python

Here's what I'd recommend.


GETTING STARTED WITH DATA SCIENCE


If you're interested in learning data science I'd suggest the following:
 

Tools

  1. I’d recommend learning R before Python (although Python is an exceptional tool). Here are a few reasons.
    1. Many of the hot tech companies in SF, the Valley, and NYC like Google, Apple, FB, LinkedIn, and Twitter are using R for much of their data science (not all of it, but a lot).
    2. R is the most common programming language among data scientists. O’Reilly Media just released their 2014 Data Science Salary Survey. I’ll caveat though, that Python came in at a close second. Which leads me to the third reason:
    3. R has 2 packages that dramatically streamline the DS workflow:
      • dplyr for data manipulation
      • ggplot2 for data visualization

        Learning these has several benefits: they streamline your workflow. They speed up your learning process, since they are very easy to use. And perhaps most importantly, they really teach you how to think about analyzing data. GGplot2 has a deep underlying structure to the syntax, based on the Grammar of Graphics theoretical framework. I won’t go into that too much, but suffice it to say, when you learn the ggplot2 syntax, you’re actually learning how to think about data visualization in a very deep way. You’ll eventually understand how to create complex visualizations without much effort.
         

        Skill Areas
        My recommendations are:

  2. Learn basic data visualizations first. Start with the essential plots:
    • the scatter plot
    • the bar chart
    • the line chart
      (But, again I recommend learning these in R’s ggplot2.) The reason I recommend these is
      1. The are, hands down, the most common plots. For entry level jobs, you’ll use these every day.
      2. They are “foundational” in the sense that when you learn about the underlying structure of these plots, it begins to open up the world of complex data visualizations.
        As with any discipline, you need to learn the foundations first; this will dramatically speed your progress in the intermediate to advanced stages.
      3. You’ll need these plots as “data exploration” tools. Whether you’re finding insights for your business partners or investigating the results of a sophisticated ML algorithm, you’ll likely be exploring your data visually.
      4. These plots are your best “data communication” tools. As noted elsewhere in this thread, C-level execs need you to translate your data-driven insights into simple language that can be understood in a 1-hour meeting. Communicating visually with the basic plots will be your best method for communicating to a non-technical audience. Communicating to non-technical audiences is a critical (and rare) auxiliary skill, so if you can learn to do this you will be very highly valued by management.
        I usually suggest learning these with dummy data (for simplicity) but if you have a simple .csv file, that should work to.
  3. Learn data management second (AKA, data wrangling, data munging)
    After you learn data visualization, I suggest that you “back into” data management. For this, you should find a dataset and learn to reshape it.
    The core data management skills:
    • subsetting (filtering out rows)
    • selecting columns
    • sorting
    • adding variables
    • aggregating
    • joining
      You can start learning these here. Again, I recommend learning these in R’s dplyr because dplyr makes these tasks very straight forward. It also teaches you how to think about data wrangling in terms of workflow: the “chaining operator” in dplyr helps you wire these commands together in a way that really matches the analytics workflow. dplyr makes it seamless.
  4. Learn machine learning last.
    ML is sort of like the “data science 301” course vs. the 102 and 103 levels of the data-vis and data manipulation stuff I outlined above.
    Here, I’ll just give book recos:
  5. Nathan Yao of Flowing Data is great. His blog shows excellent data visualization examples. Also, I highly recommend his books. In particular, Data Points. Data Points will help you learn how to think about visualization.
  6. The book ggplot2 by Hadley Wickham. This is a great resource (though a little outdated, as Hadley has updated the ggplot package).
  7. I also really like Randal Olson’s work (AKA, /u/rhiever). He creates some great data visualizations that can serve as inspiration as you start learning.
     

    TL;DR

    I'd recommend learning R for data science before Python. Learn data visualization first (with R's ggplot2), using simple data or dummy data. Then find a more complicated dataset. Learn data manipulation second (with R's dplyr), and practice data manipulation on your more complex data. Learn machine learning last.

u/maruahm · 13 pointsr/compsci

Always liked Introduction to Automata Theory, Languages, and Computation by Hopcroft and Ullman as an intro text. Undergraduate-level but good treatment of TCS.

If that's too basic, I recommend Theory of Computation by Kozen. It's roughly 1st-year graduate level, intended for those already with some background.

If that's too basic, for a research-level survey of TCS, take a look at Wigderson's Mathematics and Computation.

u/gopher_protocol · 11 pointsr/AskProgramming

Just a few ideas...

  • Nerdy stuff from ThinkGeek.
  • A Raspberry Pi kit, if you think he'd be into tinkering with hardware.
  • It's probably going to be more than $70, but a nice mechanical keyboard is a great gift. Das Keyboard, Code, and Logitech G710+ are safe choices.
  • Book-wise, consider Code. It's a classic for every programmer to read.
u/semidecided · 9 pointsr/learnprogramming

$24.20 for the International paperback 3rd edition (new):

https://www.amazon.com/dp/8131720470/

u/undecided00 · 6 pointsr/compsci
u/xux-xux · 5 pointsr/compsci

Ingo Wegener: Theoretische Informatik: ― eine algorithmenorientierte Einführung (German).

Incredibly dense work. Forces you to think through the topics presented. Definitely makes the lessons stick.

Great book for anyone interested in the theory of CS (Turing machines, Church-Turing thesis, P/NP, Chomsky Hierarchy, ...).

u/Vvizaya · 4 pointsr/learnprogramming

I'd recommend these two for discrete mathematics, I used them during my time in university and they were pretty helpful

u/Citizen_of_Danksburg · 4 pointsr/math

A graph theory project! I just started today (it was assigned on Friday and this is when I selected my topic). I’m on spring break but next month I have to present a 15-20 minute lecture on graph automorphisms. I don’t necessarily have to, but I want to try and tie it in with some group theory since there is a mix of undergrads who the majority of them have seen some algebra before and probably bored PhD students/algebraists in my class, but I’m not sure where to start. Like, what would the binary operation be, composition of functions? What about the identity and inverse elements, what would those look like? In general, what would the elements of this group look like? What would the group isomorphism be? That means it’s a homomorphism with a bijective function. What would the homomorphism and bijective function look like? These are the questions I’m trying to get answers to.

Last semester I took a first course in Abstract Algebra and I’m currently taking a follow up course in Linear Algebra (I have the same professor for both algebra classes and my graph theory class). I’m curious if I can somehow also bring up some matrix representation theory stuff as that’s what we’re going over in my linear algebra class right now.

This is the textbook I’m using for my graph theory class: Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/1846289696?ref=yo_pop_ma_swf

Here are the other graph theory books I got from my library and am using as references: Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/3662536218?ref=yo_pop_ma_swf

Modern Graph Theory (Graduate Texts in Mathematics) https://www.amazon.com/dp/0387984887?ref=yo_pop_ma_swf

And for funsies, here is my linear algebra text: Linear Algebra, 4th Edition https://www.amazon.com/dp/0130084514?ref=yo_pop_ma_swf

But that’s what I’m working on! :)

And I certainly wouldn’t mind some pointers or ideas or things to investigate for this project! Like I said, I just started today (about 45 minutes ago) and am just trying to get some basic questions answered. From my preliminary investigating in my textbook, it seems a good example to work with in regards to a graph automorphism would be the Peterson Graph.

u/RomashkinSib · 3 pointsr/crypto

Implementing SSL/TLS

https://www.amazon.com/Implementing-SSL-TLS-Joshua-Davies/dp/0470920416/ref=sr_1_4?keywords=openssl&qid=1550253200&s=gateway&sr=8-4

practical guide to implementing SSL and TLS. All examples are written in C with the implementation of DES, AES, RC4, Large Integer Arithmetic, RSA, Deffie-Hellman, HMAC, DSA, Elliptic Curve, X.509.

​

For me, the best theoretical books on cryptography, but without deep immersion in mathematics:

Understanding Cryptography: A Textbook for Students and Practitioners

https://www.amazon.com/Understanding-Cryptography-Textbook-Students-Practitioners/dp/3642041000/ref=sr\_1\_1?crid=3700J8SGJK4QP&keywords=understanding+cryptography&qid=1550253725&s=gateway&sprefix=Undes%2Caps%2C295&sr=8-1

and it goes better with video lectures https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg

​

A good book on cryptanalysis for symmetric algorithms:

The Block Cipher Companion (Information Security and Cryptography)

https://www.amazon.com/Cipher-Companion-Information-Security-Cryptography/dp/3642173411/ref=sr_1_fkmrnull_1?crid=NNR5L5I1VYK2&keywords=block+cipher+companion&qid=1550253926&s=gateway&sprefix=The+Block+cipher+%2Caps%2C340&sr=8-1-fkmrnull

​

good exercise: http://cryptopals.com/

​

u/rosulek · 3 pointsr/compsci

Automata & Computability by Dexter Kozen is not only my favorite CS theory book, but one of my favorite books in any category.

u/blokhead · 3 pointsr/compsci

If you are really interested in theory, start with some material in automata theory. My favorite textbook as an undergrad was Automata & Computability by Kozen, but there are many others (lots of people like Sipser's book, but it's pretty terse). This material is a more classical side of CS, and many view it as outdated. But the theory is elegant & beautiful, and the concepts do underlie many other parts of CS. More importantly, you will start to think of computation as a completely abstract process, divorced from any particular technology.

Automata theory provides a good foundation for compiler theory, and I think it's a great exercise to write a compiler during an undergrad CS degree.

You might also want to look into cryptography (warning: biased crypto opinion to follow). I wouldn't say that crypto is essential in a CS curriculum, but it sure is fun, and thinking formally about security is a good habit for any engineer. The field runs the gamut, from the very pragmatic influence from the systems community, to completely theoretical and abstract influence from the complexity community, and the pure math foundations from abstract algebra. If you dig around a bit, you can surely find a mixture of number theory / abstract algebra, computation, theory, and practice that suits you. Katz/Lindell is the most theoretical undergrad crypto text you're likely to encounter. Stinson has a nice book that is a safer mix of theory & practice.

u/scopegoa · 3 pointsr/compsci

If you want a more mathematical basis you can get the following:

Introduction to Mathematical Cryptography

Algebra for Cryptologists

u/amazon-converter-bot · 2 pointsr/FreeEBOOKS

Here are all the local Amazon links I could find:


amazon.com

amazon.co.uk

amazon.ca

amazon.com.au

amazon.in

amazon.com.mx

amazon.de

amazon.it

amazon.es

amazon.com.br

amazon.nl

amazon.co.jp

amazon.fr

Beep bloop. I'm a bot to convert Amazon ebook links to local Amazon sites.
I currently look here: amazon.com, amazon.co.uk, amazon.ca, amazon.com.au, amazon.in, amazon.com.mx, amazon.de, amazon.it, amazon.es, amazon.com.br, amazon.nl, amazon.co.jp, amazon.fr, if you would like your local version of Amazon adding please contact my creator.

u/pxdnr · 2 pointsr/cryptography

There are quite a few different types of cryptographic algorithms, some requiring more mathematics to get started than others. But it seems like you might be interested in block ciphers or stream ciphers.

/u/remyroy recommended rotation ciphers, which are probably the simplest and easiest to break.

The NSA has recently produced simple, but important, ciphers: Simon and Speck; release document and Bruce Schneier's comment. It will be difficult to break these ciphers, but at least this might lead you on a path to try to understand what it means to break a cipher.

If you want more information on block ciphers and how to break them, there's The Block Cipher Companion and I found this tutorial on differential and linear cryptanalysis which might provide a gentle introduction, but I haven't read it.

Anyway, have fun.

u/Davisourus · 2 pointsr/askscience

Or as an even better solution, you can keep track of the accuracy in a meaningful way. There's a much more in-depth explanation of how to completely solve for these rounding and floating point errors in this book:
www.amazon.com/The-End-Error-Computing-Computational/dp/1482239868

u/CODESIGN2 · 2 pointsr/programming

Update


Looks like there are some further links

u/jrmixco · 2 pointsr/learnmath

I’m a fan of this one:

Algebra for Cryptologists (Springer Undergraduate Texts in Mathematics and Technology) https://www.amazon.com/dp/3319303953/ref=cm_sw_r_cp_api_Y86XAbKGQE9X2

It talks about the abstract algebra material at an easy to approach undergraduate level and shows how the abstract algebra topics can be applied. It’s part computational and part theoretical which I think is good going at it for the first time.

u/paddingtonbear92 · 2 pointsr/cmu

Took it last spring.

The first third of the course covered basic logic stuff in a very pedantic way. The homework and notes are on OLI and are pretty much the same as Logic and Proofs (80210 i think).

Second third was about set theory stuff and incompleteness.

Last third was about Turing and undecidability, this was the text: https://www.amazon.com/gp/product/0486614719/

As someone who struggled with 251, I didn't find the material here particularly challenging. It's definitely the least rigorous of the CS logic electives. The first midterm was online, second midterm was half online and half in class, final was in class. I believe the 2nd midterm and final were curved pretty generously

Side note: the lectures are in the potato chip lecture hall in Scaife which gets so unbearably freaking hot in the spring semester I almost dropped the class because of it.

u/fff1891 · 2 pointsr/computerscience

Some schools don't cover much in the way of discrete math, formal languages, automata, or proofs... at least not very rigorously. My opinion here is colored by my own experience (and subsequent disappointment, but thats another story), and I'm sure most schools sort of exist on a spectrum. YMMV.

Some books that come to mind (might not be to surprising if you spend a lot of time on CS forums):

[Introduction to the Theory of Computation](
https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser-ebook/dp/B00B63LSA6)

CLRS Introduction to Algorithms

SICP

I think it's interesting to look at the history of computer science-- read about Bertrand Russel, David Hilbert, the Vienna Circle, Alonzo Church and his students (Alan Turing was one). Computer Science as an academic discipline was kind of born from the questions mathematicians and philosophers were trying to ask in the early 20th century. It's just as much about language as it is about mathematics. I could probably write a wall of text on the topic, but I'll just leave it at that. :)

u/undefdev · 2 pointsr/learnmachinelearning

There's a new book on Information Geometry which doesn't require prior knowledge about Differential Geometry, maybe you want to check it out.

u/AMY_bot · 2 pointsr/Python

For less messy amazon links you can extract the part after "/dp/" in

https://www.amazon.com/Learning-Robotics-Python-Lentin-Joseph/dp/1783287535/

and make it:

https://amzn.com/1783287535

BEEP BOP

Plz send any recommendations via PM

u/craigching · 2 pointsr/MachineLearning
u/awiseoldgrandpa · 1 pointr/compsci

Check out Dexter Kozen's book Automata and Computability, it's a very well formatted book in that it consists of a series of lectures as opposed to a typical textbook with chapters and such. There are practice problems for each lecture too.

Kozen is very highly regarded in the field of theoretical computer science.

https://www.amazon.com/gp/aw/d/0387949070/ref=pd_aw_sim_sbs_14_2/166-2338586-0066212?ie=UTF8&psc=1&refRID=WTB3YAPD3T8RPYC2FBTR

u/notParticularlyAnony · 1 pointr/Python

This book is not horrible:
https://www.amazon.com/Learning-Robotics-Python-Lentin-Joseph/dp/1783287535/

There is a forum for it but only one person has ever posted there, and the book's author once. Maybe you could go be friends. :O
http://learningrobotics.forumotion.com/

u/MyOverflow · 1 pointr/math

Yeah, I've heard the same things about Rosen, but I wanted to mention it since the video lectures use Rosen.

The book that the discrete class I'm taking next semester will be using is "Essentials of Discrete Mathematics" by David J. Hunter. From what I have seen, looking through the text, it covers many of the basic materials in a Discrete class. This should be an okay book to use if you find that Rosen isn't to your liking.

u/Nichdel · 1 pointr/dailyprogrammer

I'm a Linguistic BS student, but I've taken many CS classes as a minor and greatly enjoyed them. There's a lot of programming that you don't learn easily from just doing.

The book from that class was this one. Note that it's a CS book, not a programming book, and so a lot of it is based on a knowledge of discrete structures and mathematics (at least a good deal of algebra). Before I took that class I had to take a class that used this book, which is based more-so on logic and discrete mathematics than anything else.

You won't learn to program from those books. What you will learn is the fundamentals behind the data structures and algorithms that every major language is based on. When I learn a new language, I find myself understanding the various data structures very quickly because I have theoretical background. My friend who has a more IT-oriented background from a different college usually has to learn the details of new languages by analogy, and it seems to take him some time.

u/tsk1979 · 1 pointr/Verilog

This one is quite good if you are getting started
https://www.amazon.com/Digital-Design-Verilog-HDL-Fundamentals-ebook/dp/B008CGQIEQ/#nav-subnav

Another one by same author
https://www.amazon.com/Computer-Arithmetic-Verilog-HDL-Fundamentals-ebook/dp/B005H7L0XW/#nav-subnav

That said, you can search online for tutorials, and start practicing. If you are a software guy, you first need to unlearn the "procedural" code flow. Verilog is like circuit instantiation. It does not matter what is instantiated first(or put in a circuit board first), its the control flow which matters.

u/JimH10 · 1 pointr/math

Kozen's book is basically preparation for a ToC prelim. Seems good to me.

u/solid7 · 1 pointr/compsci

Excellent reference texts that will give you a good idea of what you are getting yourself into:

u/tl121 · 1 pointr/btc

Sorry. The sentence is not circular. It only appears to be circular. The ideas are clearly explained in text books on computability theory. Or if you are smart and patient you can just read Turing's original paper, or if you are really smart and really patient Goedel's work as well. Take your time and use your own mind to form your own opinion.

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems

My introduction was in this book:
https://www.amazon.com/Computability-Unsolvability-Prof-Martin-Davis/dp/0486614719

For more original sources:
https://www.amazon.com/Undecidable-Propositions-Unsolvable-Computable-Mathematics/dp/0486432289#reader_0486432289








u/djingrain · 1 pointr/learnmachinelearning

No problem! Also, if you can spare $10 is recommend picking up a copy of Machine Learning for the Absolute Beginner, it's how I got started https://www.amazon.com/Machine-Learning-Absolute-Beginners-Introduction-ebook/dp/B06VXKBLNG