(Part 2) Best products from r/MachineLearning
We found 24 comments on r/MachineLearning discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 222 products and ranked them based on the amount of positive reactions they received. Here are the products ranked 21-40. You can also go back to the previous section.
21. Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy
- Crown Publishing Group NY
Features:
22. Neural Control Engineering: The Emerging Intersection between Control Theory and Neuroscience (Computational Neuroscience Series)
- 900 total Square inch cooking surface- 619 Square inches in main chamber, 281 Square inches in firebox chamber
- Reverse-flow smoker employs a Series of 4 baffles to guide heat and smoke through the main chamber delivering an even and delicious result
- Removable baffles and optional smokestack locations for a customizable setup
- Firebox chamber features large stainless Steel fuel basket and clean-out door for easy ash removal
- Heavy-gauge all-steel construction, porcelain-coated cooking grates and multiple dampers for easy heat and smoke control
Features:
25. Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference (Addison-Wesley Data & Analytics) (Addison-Wesley Data & Analytics)
Addison-Wesley Professional
26. Quantum Computation and Quantum Information: 10th Anniversary Edition
- Cambridge University Press
Features:
28. Acer Nitro 5 Spin Gaming Laptop, 15.6" Full HD Touch, Intel Core i5-8250U, GeForce GTX 1050, 8GB DDR4, 256GB SSD, 1TB HDD, NP515-51-56DL, Ultra Thin Metal Chassis
8th Generation Intel Core i5-8250U Processor (Up to 3.4GHz)NVIDIA GeForce GTX 1050 with 4 GB of dedicated GDDR5 VRAM15.6" Full HD (1920 x 1080) widescreen IPS Multi-Touch Display8GB DDR4 Memory, 256GB SSD & 1TB 5400RPM HDDUp to 10-hours of battery life
29. ASUS ROG Zephyrus Thin & Light Gaming Laptop, 15.6” Full HD 120Hz, Intel Core i7-7700HQ Processor, NVIDIA GeForce GTX 1080 8GB Max Q, 16GB DDR4, 512GB PCIe SSD, Windows 10 Professional – GX501VI-XS74
- Full Product Specifications: Click to view
- Processor Manufacturer: Intel
- Processor Type: Core i7
- Processor Generation: 7th Gen
- Processor Model: i7-7700HQ
Features:
30. ASUS K Series 15.6" Full HD Gaming Laptop | Intel Core i7-6700HQ | NVIDIA GeForce GTX 950M | 16GB RAM | 256GB SSD | VGA&HDMI | WIFI | Webcam | Windows 10
NVIDIA GeForce GTX 950M (N16P-GT) GDDR5 2GB; 15.6 inch Full HD LED Anti-glare (1920 x 1080) DisplayIntel Core i7-6700HQ Quad-Core processor, 2.6GHz can up to 3.5GHz, 16GB DDR4, 256GB Solid State Drive1 x Headphone-out & Audio-in Combo Jack, 2 x USB 3.0, 1 x USB 2.0, 1 x RJ45 LAN Jack for LAN insert,...
31. Code Complete: A Practical Handbook of Software Construction, Second Edition
- Microsoft Press
Features:
32. Large-Scale Inference: Empirical Bayes Methods for Estimation, Testing, and Prediction (Institute of Mathematical Statistics Monographs)
33. The Art of Fermentation: An In-Depth Exploration of Essential Concepts and Processes from around the World
Ships from Vermont
34. Machine Learning with R: Expert techniques for predictive modeling to solve all your data analysis problems, 2nd Edition
- Lightweight hand crafted 6061 aluminum frame
- 32 Spoke High Profile Quick Release Alloy Rims
- 1 1/8" Threadless stem
- 16-speed Shimano STI drive train
- Dual water bottle mounts
Features:
35. Doing Bayesian Data Analysis: A Tutorial with R and BUGS
- CRC Press
Features:
36. The BUGS Book (Chapman & Hall/CRC Texts in Statistical Science)
- CRC Press
Features:
38. Why Greatness Cannot Be Planned: The Myth of the Objective
- Filter Type: Single Use
- Dishwasher Safe Parts
- Water Filtration
- Capacity: 6 cups
- Programmable
Features:
check out Bengio's paper if you haven't yet. There's a few really cool pieces, but the most relevant I think... the first chunk of the paper looks at a really simple two discrete random variable system, and posits two possible causal models: X -> Y and Y -> X. The thrust of that part of the paper is basically that fitting both those causal models is equally expensive, you've got the same number of model weights after all. The magic happens when you change p(x) for X -> Y = p(x)p(y|x) and do a transfer learning cycle on this new distribution. For the 'wrong' model, you have to refit every single model weight, because the structure of the model isn't captured in a way that separates that causal connection properly, it's distributed through the model instead. For the 'right' model though, he links to another paper showing that the gradient is zero for all the already correct parameters, so you end up just changing N of the underlying change instead of the full O(N^2) parameters of the model. He's got a graph showing convergence for the 'right' and 'wrong' model on the transfer learning objective.... both converge to the same spot, but the difference between the number of samples needed to converge for both is really, really huge. The 'wrong' causal model takes massively more samples to converge. From your very first observed example on the transfer dataset too, the sparseness of that gradient on a transfer objective for the 'right' model was how you could distinguish the correct model even. Your point about parameters needing an update being kept small is right I think... The question though is how to make sure that's reliably the case in general. There's some really cool stuff in disentangled representation learning for RL too I think... I don't know. I guess at this point I'm sold that for a model (in general) to properly isolate the various moving parts of the system instead of representing it through the whole thing in a giant mess, will require a new approach to learning.
Course, that doesn't mean you can't get some of that separation just by carefully controlling the training set and order you see them in. You're completely right that there's some really cool generalization power that can come up with the right training protocol (Learning to Make Analogies by Contrasting Abstract Relational Structure, Emergent systematic generalization
in a situated agent, and ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness come to mind) but I think as long as we're just using our current dumb AI systems with a carefully manicured training protocol, we're missing a huge piece of the puzzle. We'll always need some level of curriculum management of course (humans obviously benefit from the right training material too) but I'm convinced enough that the ability to explicitly form a proper disentangled representation of the environment is key that I'm heading in that direction in my studies. Guess we'll see in a decade whether or not I regret my focus, haha.
And yeah, I think there's a ton of insight to be gained from studying biological consciousness. I actually started scrapping my way into that six months ago or whatever on the side. I'm currently 600 pages into Kandel's beastly 1,700 page 'principles of neural science'. All that's just preliminary biology stuff, but there's some really cool looking books I want to hit when I get a little farther in. this book especially is one I'm excited to hit next when I'm done with Kandel, it looks like it's doable without a ton of background in neuro, sounds like you might enjoy that one too. Beyond that, check out Jeff Hawkins 'on intelligence' (and the research of his group if you're interested in what he has to say... cool stuff there about cortical column functioning as a building block of cognition) and Christof Koch's 'Consciousness: Confessions of a Romantic Reductionist'. Both of those two books are just for lay people, so you could blow through them real quick to get a flavor of their ideas, but that last one especially... Koch seems to be involved in the only (that I've found so far) falsifiable model of consciousness. It has to do with information integration between disparate parts of a system... really cool sounding ideas, but the math is absolutely beastly in the theory itself, haha. I'm not equipped yet to weather it, but it seems like there's some really important ideas there too from what little I've grasped so far.
Anyway, yeah... totally agree. Might as well take inspiration from the one working example of a strong AI system we have access to, haha.
As I understand it you want to learn more about Machine learning overall and you want to use the task as an example.
Firstly beside all the nice books and the hype in AI in the last 10 years; It is not fundamental different from the knowledge we had 40 years ago. Most here is noise by a generation born after the AI winter. Some of us who stayed in the than toxic field tried to preserves as much as we could. Right now most you read is noise and very specific application use-cases and "optimization in the saturation" and simply just more computing power.
Of cause it is possible to use techniques/models to solve your problem, which are today attributed to AI and ML. It just depends on your point of view which one you want to use. AI is decision oriented. ML is representation oriented, meaning in all parts of reality: time, space and information.
I will help you with the analysis and can present some options. I will keep it short and superficial.
I will use the Top Down approach.
We have:
All data can be represented in discrete linear dependent units. There is no probabilistic or fuzzy states or relations without forcing it.
-> Representation A (Ball as entity/agent as entity) Solution as agent-based unsupervised RL :
*Will is your reward-function
From your Task it is not clear if the agent can perform multiple actions per time frame or any limited number. Or if the actions are limited to certain locations. This will define how you want to store your action models and state perception.
My guess is, this is the point you are asking about; What kinds of "knowledge-engine" are there and what could I use. If so there are alot of options.
like: ID ball_move_next = popfirst.sortmax.urgentscore(ID_set,subscore_Y,subscore_X);
which will not use the reinforcement function.
in this case sequence footed on the time. With every step being dependent from on a discrete environment. The focus here is the environment.
you could use Markov chains, NN, even a ringbuffer with a memory field and a decision hierarchy. All the nice toys that are "in" at the moment. Seq2seq would be a "best path" solution which could be checked if balls would collide... and so on.
In this scenario the "inner world" of the agent is focus. Based on the idea of frustration-tolerance and reward-delay. Here the "knowledge-engine" tweaks the reward and the reinforcement signal, as well as storing the IDs of the entity and its "history" with the agent. And after the reward the "history" is compared to other histories, this will form action preferences.
How you solve it depends on your machine power, knowledge, preference.
-> Representation B (state map) :
You focus here on the environment, like in physical simulations(FEM). The interaction is between neighboring states.
The AI part is the description of the states in relation to the actions and the action itself. The ML part is a dm(decision matrix), mapping which state invokes which action. This could be grouped in the cellular automate family.
The dm is like the "knowledge-engine" in the other example. So you can use a wide variety of optimization systems. A big plus for this way of solution would be that you can compute each set of neighbors independent, like the Input in convolution nets.
I am not sure if this can push you to an experiment you are happy with to try. This here is very superficial and simplified.
To learn a systemic view I advice you to stop learning the "tools"(like NN,RL,UL and so on) and start with classic cybernetics/AI. Like Neumann, shannon,von Foerster,John McCarthy,Jay Wright Forrester even Lems Summa Technologiae could help. First you should learn to think broad. this book is very easy to understand, which might help as well. To just focus on the opinions what ML/AI is today and study this tools wouldn´t bring you forward, its like knowing only how to saw, while wanting to build a house.
Pick up a numerical analysis book of some sort. I learned out of Sauer, "Numerical Analysis" which I wasn't incredibly happy with and so I can't recommend it, but it covered the basics with example code in Matlab. Someone else here can probably recommend a better numerical methods textbook.
Some great free resources:
Other than that I don't know of any resources that could help with implementing machine learning algorithms; it mostly draws from numerical linear algebra / optimization, and the implementation details are left to the reader to grapple with.
For me, it works best to buy a good theory book (Koller & Friedman!) or read a good paper, and look around for blog posts written about a topic of interest that come with examples and sample code. It's unfortunate that everything is so disorganized this way but that's how it seems to be. I'd be happy to learn that I'm wrong here, though :)
Some blogs I can recommend:
Hope this is helpful! This is basically how I've been learning ML on my own for work.
> Or can someone shed some light on what they're discussing and what this paper is proposing?
2.5) Rejection of 'trivial information closure' helps a bit with bounding conditions. We can think of an aggregate of informationally closed system as a informationally closed system, but we wouldn't think that a mere aggregate of potentially 'conscious' minds are together having a single unitive consciousness. Since trivial information closure doesn't contribute consciousness according to their hypothesis, adding independent closed systems to another system would not change the degree of consciousness of either. This may also have some relationship with the idea of integration in IIT (Information Integration Theory).
I cannot personally vouch for the book, but Andy Clark is one of 'big guys' in the field; so he can be a pretty reliable source.
_____
About background materials. It seemed pretty readable to me without much of a background. For statements about neural activties, I am just taking their words for it, but the citations can be places to look. You can find more about phenomena like 'blindsight' from googling, if you weren't already aware of it. As opposed to the recommendations made by the other redditor, I don't think it has much to do with anything related to the hard problem of consciousness (Nagel's Bat or Chalmer's zombie) at all and you don't need to read them for this paper - though they can interesting reads for their own sake and can help better understanding the potential limitations - but these work goes on a more philosophical direction not quite related to the scope of the paper. The equations may have some relation with information theory (again the citations may be the best bet for better background). PP seems to be most closely related to the paper with the idea of predictability being on the center. So that may something to explore for background. IIT can be another background material for this: https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1003588
https://www.iep.utm.edu/int-info/
Having done several projects in both image classification and NLP, I can offer some advice:
In long term, owning a GPU is cheaper because there is little cost over time.
For short-term projects renting GPUs (e.g. AWS) is cheaper because there's no upfront cost.
I personally own 2 GTX 1080s with 8GB VRAM each.
For some of the bigger models you will need 6-8GB of VRAM, you can get 12 if you have money for a TITAN.
Much less will severely limit your work in my experience, since Batch Sizes below 8/16 become a lot less stable.
Renting Compute Power
If you have a short project, or are just getting into it, AWS (or Google Cloud) can be a useful resource, but managing VMs is an overhead you have to consider. I have no first-hand experience with AWS/GC (I heard drivers are a pain), but i've worked with MS Azure in the past.
Working with VMs is okay, but you have a little more immediate feedback loops when working on a local machine using jupyter or something similar.
Also, for me working with pay-per-time instances is unnerving because I know my money is ticking down somewhere in the background and it hinders me from experimenting some more. Your mileage may vary.
Building a Desktop Machine
This is the route I personally went with. I have a Desktop machine at home, that I can boot (Wake-on-Lan with RasPi) and control (Jupyter/RDP) remotely from my laptop, or just use directly when I'm at home.
One of the benefits is not having to transfer/synchronize Code and Data between different devices, along with others mentioned before.
Just about any good "Gaming" PC will do very well for Deep learning applications, provided you have a CUDA-capable (i.e. Nvidia) GPU.
The downside to this approach are as follows:
Also some notes for building a system:
Using a Laptop
This is an option some people choose, It's not my preferred one.
Basically you have to choose between two options:
Edit: This is my first gold, wow! So this is what it feels like. Many thanks to the generous stranger!
Honestly, I would say you are already qualified. I work in this field. I have my MS in Applied Math, was a ML research assistant in grad school, and have a couple years of experience in software engineering.
Software engineering skills are pretty much the only thing that you may lack you would want to work on, however a lot of that you can learn on the job.
A company would probably let your inexperience in software engineering slide because you are very strong on the data analysis / ML side and you have demonstrated you know how to code. The main thing you need to do is work WITH software engineers on integrating your work with a product.
Some skills/technologies you may want to know about that haven't been mentioned as far as I know :
>edit: Thanks a ton for the advice so far, the consensus seems to be start learning how to deal with big data using Hadoop or some other similar app and learn some software engineering, however that part seems a little ambiguous still.
Learning software engineering is basically learning best practices and design patterns. The goal is to make clean code and avoid hard to find/fix bugs as well as to use the best design paradigm for your problem. "Clean code" means "readable" and "maintainable". Readable code is code that any other software engineer who has never seen it before can pick up and understand reasonably quickly. Maintainable code is code that is relatively easy to refactor, make changes to, add features, and fix bugs within. "Clean" code saves a lot of man hours down the road.
For an example of software design, in programming a video game OOP class inheritance isn't always the best thing to use because it can lead to a confusing, non-intuitive tree of classes. Someone invented the "component entity system" to address the problem.
Read about this, as it's a fairly intuitive example of "Software design", i.e. using the best approach for a particular problem.
Writing clean, well-designed code comes with experience, but there are some books on it.
The following isn't that organized, but hopefully it's kind of helpful.
You haven't really described how you're going to do stepwise selection or what you're going to do with the output. There are different criteria for judging the models such as AIC and BIC (which are mainly intended to help in choosing a predictive model) and there is step-wise selection based on p-values. Any p-values that come out of any of these procedures are not going to be valid. Much of the criticism of step-wise regression has been because of this fact. Applying a Bonferroni correction seems pretty ad-hoc here. But it is likely too conservative, and that may be why your advisor feels comfortable suggesting it.
Three prominent alternative approaches to this sort of problem are:
If you are interested in that stuff you should check out the book The Art of Fermentation by Sandor Katz if you haven't. It's got a lot of good info in it.
I too love what people like Beyond Meat are doing, and I think it's definitely a critical part of food in the future. I'm working on my masters and just doing consulting gigs in the mean time, but I would love to work for a company doing stuff like that.
In terms of software in the food space I think that there is going to be a lot of application in food processing automation. It's something that is a difficult problem to solve, especially when taking manual dexterity of robotics into account, plus cost. Software wise I think it would be really cool to apply image recognition to every day items that need to be processed (take a potato for example) and be able to properly assess size and shape and create instructions for cutting (diced, sliced etc.) for an automated system. Basically just a more human eye for an automated kitchen worker.
In that kind of respect I think we are much further ahead software wise than we are hardware wise, but I feel like that is going to change rapidly over the next 5-10 years as more quick service restaurants push towards cutting costs, of which labor is almost always the highest.
This is my first time reading this page and I am quite the amateur programmer.
I am an Assistant Professor in Criminal Justice; however, my passion is quantitative methodology and understanding big data.
I had a great opportunity to spend a summer learning Bayesian at ICPSR, but to be honest some of the concepts were hard to grasp. So, I have spent the greater part of the past year learning more about maximum likelihood estimations and Bayesian modeling.
I am currently reading The BUGS Book and [Doing Bayesian Analysis] (https://www.amazon.com/Doing-Bayesian-Data-Analysis-Tutorial/dp/0123814855/ref=sr_1_fkmr1_3?s=books&ie=UTF8&qid=1519347052&sr=1-3-fkmr1&keywords=bayesian+anaylsis+bugs).
I regularly teach linear modeling at both the undergraduate and graduate level. Lately, however, I have become interested in other techniques of prediction such as nearest neighbor analysis. About a month ago, I successfully created a model predicting plant specifications with the help of [Machine Learning with R] (https://www.amazon.com/Machine-Learning-techniques-predictive-modeling/dp/1784393908/ref=sr_1_2_sspa?s=books&ie=UTF8&qid=1519347125&sr=1-2-spons&keywords=machine+learning+in+R&psc=1). Of course, this is probably elementary for many of you here but I still found the process easy to understand and now I'm planning to learn about decision trees and Naive Bayes analysis.
I also did it from a "top down" approach, and then a couple years later I took some MOOCS for some of the math. I'd say the "top down" approach is better. I really enjoyed the math courses, but if your goal is deep learning research, those introductory courses are very broad and will cover a lot of material that's not relevant for you.
I'd first suggest Geometry and Meaning as a great introduction to some of the math of NLP. Note that this isn't focused on deep learning at all (it's from 2004), but it's a great foundation to the math for NLP, and it does a particularly good job of explaining the problems with modeling language, which deep learning helps with. Plus it's short and readable, so you can get through it in a weekend.
I haven't read Bengio's Deep Learning book yet, but it has a section on the relevant math, so that might be good to take a look at as well.
> AutoML. This will be a system for automatically searching and discovering model configurations (algorithm, feature sets, hyper-parameter values, etc.) that result in the best performing models for given modeling problems. The system would also automatically build the production data pipelines to generate the features and labels needed to power the models. We have addressed big pieces of this already with our Feature Store, our unified offline and online data pipelines, and hyper-parameter search feature. We plan to accelerate our earlier data science work through AutoML. The system would allow data scientists to specify a set of labels and an objective function, and then would make the most privacy-and security-aware use of Uber’s data to find the best model for the problem. The goal is to amplify data scientist productivity with smart tools that make their job easier.
Everyone's talking about automating network configurations and hyperparameter tuning, but Uber may be in a favorable situation since they acquired the AI startup Geometric Intelligence last year. Geometric Intelligence had a broad focus on different ML technologies including Artificial Life and their partners included Kenneth Stanley and Joel Lehman. Stanley created the NEAT and HyperNeat algorithms for neuroevolution and the two of them wrote a book about "novelty search" which is a radically different approach to search optimization.
/u/KennethStanley amd /u/joelbot2000 did an AMA a while back: link
Interview with him after he joined Uber: link
Video example of novelty search: link
Count me in!
I really want to read though this book: "https://www.amazon.com/Reinforcement-Learning-Introduction-Adaptive-Computation/dp/0262193981" by Richard Sutton, as well as a few other classical ML books, like Christopher Bishop's and Kevin Murphy's.
I know many concepts already, but I've never studied them in a systematic manner (e.g. follow an 1000-page book from end to end). I hear from multiple friends that it's super beneficial in the long run to build a strong mathematical/statistical foundation.
My current model of "googling here and there" might work in the short term, but will not help me invent new algorithms or improve state-of-the-art.
Matlab works well, but it can be pricey. R, and Python are amazing as a previous comment pointed out. If you're looking for a good IDE for R, I recommend R-studio.
The book we used for my graduate machine learning course was Pattern Classification by Duda, Hart, and Stork. It offers a great overview, and would be quite easy to read for someone with a background in statistics.
This isnt a job posting. I am posting this for a discussion raised from a website I have no connection with.
Firstly these are interesting ideas and seem ideal for blockchain based business models.
Secondly I think the Question at the end about whether these suit men or women is a good one
Thirdly on a weapons of Math destruction level what does it mean to do jobs effecting peoples lives that involve only maths and not meeting the people?
I posted this to start a discussion about the particular ideas and the concept of interaction free jobs and I'd like to hear your opinion
I liked this one Weapons of Math Destruction.
Weapons of Math Destruction and Reality Mining
Read Code Complete
Sutton and Barto wrote the standard text in reinforcement learning.
Here is the AlphaGo paper in Nature.
The FAQ has a list of resources for learning ML including links to Hinton's Coursera course on neural nets.