Questions and Answers
Thank you Prateek Joshi on writing this book. The book includes some interesting chapters about Heuristics, GA and gaming in AI which is very helpful. The book seems comprehensive and targeted for python developers which is great.
What python libraries is used for GA and Heuristics?
Also, in comparison to matlab for GA and heuristic, Does python provide advantages?
In logic programming where lisp and prolog are dominating, In which areas python can give cutting edges?
Thank you again for this comprehensive book that address other parts of AI rather than ML.
Dr Abdulrahman Baqais Thank you for the kind words and the question.
With regards to Python libraries, I’ve experimented with simpleai for Heuristics and DEAP for GA. They provide most of the functions you’d need.
With regards Python vs Matlab, I prefer Python because it’s more production ready. You can build an application and deploy it without having to redo the work. It’s lightweight compared to Matlab (which matters a lot when you’re deploying). Plus the Python community is huge, which means you can get answers to your questions relatively easily.
For logic programming, the big advantage of Python is interoperability. When you’re working on a tool that’s in production, different parts of the product can use different frameworks. Python plays well with all the cloud tools, so plugging in your tool into the larger product becomes easy. Plus you get access to many people who are constantly building and experimenting in Python. You don’t have to reinvent the wheel for many underlying methods/functions you end up using.
Interesting….seems python is close to be a universal programming language for AI…..one programming language to work on all AI projects.
You’ve written many books, more than 10. How did your manage to do that and stay sane? 😄
Alexey Grigorev I aim to stay consistent with my writing schedule. The act of showing up everyday helped develop my writing muscle in my early days. This allowed me get the work done on time. By after 13 books, I had nothing new left to say. So decided to take a break. 🙂
Hi Prateek, thanks for taking the time here to answer questions. What advice would you give to someone with many years of experience in database technology that is looking to switch to data science / machine learning.
Allan: Thank you for the question. Given your years of experience in database technology, you already have a leg up here. Being proficient in data wrangling is a great skill to have.
If you want to switch to DS/ML, my recommendation is to get familiar with basic ML concepts and start doing projects.
- Pick a domain that interests you e.g. search engines, healthcare, image recognition, ecommerce, fintech, recommender systems.
- Once you do, look for problems that seem interesting e.g. how to identify at-risk patients or how to identify repeat buyers on an ecommerce site
- There are a large number of open source datasets available. You can use them to train your model.
- The goal is to start from a real problem and build a tool that addresses the problem in a practical way.
Once you finish it, I’d also recommend you write a brief blog post (500-700 words) explaining what you did. This will help you strengthen your own understanding.
As you continue to do this over time, you can develop a good understanding of how to DS / ML to solve real world problems. Hope this helps.
Thanks Prateek, that is very helpful!
Hi Prateek, I had the exact same question as Allan. Thanks for your advice. 👍
Hi Prateek Joshi, thanks for answering questions 🙂
- Why was it time for a second edition of your book?
- For what kind of problems would you suggest logic programming?
- What is the most difficult part of building a startup? What is your advice if someone wants to do it?
Tim Becker Thank you for the questions 🙂 Here are my thoughts:
- Publishing the second edition was mainly a function of demand. I received many positive responses from readers for the first edition. Plus they gave a lot of good feedback. This led to us publishing the second edition. It gave us a chance to incorporate all the feedback and add new chapters as well.
- Logic programming is a programming paradigm (like objected-oriented or functional programming). It looks for solutions using facts and rules. Once we specify a goal, the solver comes up with a tree that constitutes the search space to solve the problem. We can provide raw input and then ask questions about the missing pieces. Here are a few examples where we can use logic programming: matching mathematical expressions, validating prime numbers, inferring relationships in a family tree, analyzing geography, solving puzzles
- With regards to building a startup, the most difficult part depends on the stage you’re at. It can go from: talking to potential users/customers to see if your product needs to exist in this world –> fundraising –> getting the first 10 paying customers –> demonstrating product market fit –> recruiting early teammates –> fundraising again –> scaling up revenue –> recruiting leaders who can build out different functions (sales, marketing, product).
There are many other parts that can pop up during the journey as well.
My advice to someone who wants to do it would be to to just get started. The first step would be to reach out to as many potential users/customers and understand how they get their work done today. Your way of getting that work done should 10X better than status quo. That’s how you know there’s a real gap.
thank you 🙂