Guest User

0-100 ML Study Guide. Draft 1

a guest
Jun 7th, 2021
182
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. TODO:
  2. -Make course list prettier, expand out subclasses
  3. -Make ‘how to use guide’ section
  4. -Make ‘introductory’ section.
  5. -Make ‘how to get a job with this’ page
  6.  
  7.  
  8. Goal: Trying to create a short as possible study guide without leaving anything out.
  9.  
  10. Course list:
  11.  
  12. Beginner:
  13. Optional before main but very useful:
  14. https://www.py4e.com/lessons
  15.  
  16. Main:
  17. https://www.edx.org/course/introduction-to-computer-science-and-programming-7
  18.  
  19. Math:
  20. Base (in order) :
  21. Khan Academy Calculus:
  22. https://www.khanacademy.org/math/ap-calculus-bc
  23.  
  24. Dr. Trefor’s discrete math youtube series:
  25. https://www.youtube.com/watch?v=rdXw7Ps9vxc&list=PLHXZ9OQGMqxersk8fUxiUMSIx0DBqsKZS
  26.  
  27. Khan Academy Linear Algebra:
  28. https://www.khanacademy.org/math/linear-algebra
  29.  
  30.  
  31.  
  32.  
  33.  
  34. After discrete math:
  35. https://www.edx.org/micromasters/mitx-statistics-and-data-science
  36.  
  37.  
  38.  
  39. Advanced:
  40.  
  41. Main:
  42. https://learning.edx.org/course/course-v1:MITx+6.00.2x+1T2021/home
  43. https://www.coursera.org/learn/machine-learning#about
  44. https://www.coursera.org/specializations/aml#courses https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops
  45.  
  46. Extra:
  47. https://www.coursera.org/specializations/algorithms#about
  48. https://www.edx.org/course/databases-5-sql
  49.  
  50.  
  51. ------------------------------------------------------------------------------------------------------------------------
  52.  
  53.  
  54. Course List (Will be deleted in final draft)
  55. Computer science Course
  56.  
  57. Entry
  58. https://www.py4e.com/lessons (Done!)
  59. to
  60. https://www.edx.org/course/introduction-to-computer-science-and-programming-7 (done)
  61. to
  62. https://www.edx.org/course/how-to-code-simple-data#! (done)
  63. to
  64. https://www.edx.org/course/how-to-code-complex-data (quit early)
  65.  
  66. ----------------------------------------------
  67. Math Block
  68.  
  69. https://www.youtube.com/playlist?list=PLHXZ9OQGMqxfT9RMcReZ4WcoVILP4k6-m
  70. http://discrete.openmathbooks.org/dmoi3/sec_counting-binom.html
  71. http://joshua.smcvt.edu/linearalgebra/book.pdf
  72. ADDED: https://www.edx.org/micromasters/mitx-statistics-and-data-science
  73. -----------------------------------------
  74. More Advanced
  75.  
  76. ADDED: https://learning.edx.org/course/course-v1:MITx+6.00.2x+1T2021/home (done)
  77.  
  78.  
  79. https://www.coursera.org/specializations/algorithms#about
  80. to
  81. https://www.coursera.org/learn/machine-learning#about
  82. to
  83. https://www.edx.org/course/databases-5-sql
  84. to
  85. https://www.coursera.org/specializations/aml#courses
  86. To
  87. https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. How I studied
  101. I had a lot of time to study. I would usually try to start at 10 and go to 12, start at 1 and go to 2:30, then start at 3 and go to 5. That's how I found myself to be the most productive.
  102.  
  103. Month one: all one course
  104. Month two: one course first half of the day, one course second half of the day.
  105. Month three start: One course first half of the day, AI research paper walkthrough, One course second half of the day.
  106. Month five mid: 10 - 12. Coding, 1-2pm base math (calculus), 2-3, advanced math (probability).
  107.  
  108.  
  109. Review Page
  110. -----------------------------------------------------------------------------------------------------------------
  111. -Template-
  112. Course:
  113. Website link:
  114. Review:
  115. Rating:
  116. ----------------------------------------------------------------------------------------------------------------
  117.  
  118. Course: Python for everyone
  119. Website link: https://www.py4e.com/lessons
  120. Review:
  121.  
  122. Python for everyone is a simple course. It goes through each part of the python programming language step by step. Learning simple operators, to loops and functions, to dictionaries and a touch of class creation.
  123.  
  124. I felt much more comfortable with python after taking the course. I think the method of teaching that Dr.Chuck uses is very useful. Having the lectures, chaptures, and practise problems to work through for each section is very much structure liked a school course. The content is broken up nicely to give students practise and not overload them. The later courses cleanly build upon the earlier leading to nice recall of concepts and building skill.
  125.  
  126. Sadly some of the problems with web scrapping at the end of the book can’t be done as easily since twitter and google changed their API rules, but Dr.Chuck has smartly made an alternative to google for some of the problems.
  127.  
  128. The last chapter might not be applicable to some, so I would say skipping it is optional.
  129.  
  130.  
  131.  
  132. Rating: 8/10. Very good for learning python.
  133.  
  134. (reflection. Intro into computer science does everything this does and more, and better. If you are serious about being a programmer, go there first and skip this course. Even though I think this course is well made. This course could also be used to ‘dip your feet’ into python before the dive into the computer science course)
  135.  
  136. ------------------------------------------------------------------------------------------------------------------
  137.  
  138.  
  139. Course: Intro into systematic program design
  140. Website link: https://www.edx.org/course/how-to-code-simple-data#!
  141. Review:
  142. How I learned to love commenting on functions and the usefulness of creating templates.
  143.  
  144. Its been a little while since I have taken it, I worry about the practicality of all I am learning. But it is useful to think about templating designs and seeing common ways to represent data types.
  145.  
  146. Some of the course is locked behind it being paid, not enough to actually totally hinder it. But you do lose some intermediate exercises which would be helpful to have.
  147.  
  148. (reflection. I am not sure I would recommend this course. I see some parts of it being useful, but with my main goal being quick and practical learning. I think this is a course to be safely skipped.
  149.  
  150. Rating: 6/10. Does its job of teaching data types
  151.  
  152.  
  153.  
  154. ------------------------------------------------------------------------------------------------------------------
  155.  
  156.  
  157. Course: How to Code: Complex Data
  158. Website link: https://www.edx.org/course/how-to-code-complex-data
  159. Review:
  160. Continuing where the last course left off things got more interesting and more complex. It goes through tree search with arbitrary sized depth and width. Self referential data. Mapping and Filter functions for lists.and a little bit of graph search at the end.
  161.  
  162. At the time of writing this no other course has offered these types of data problems so it is nice to see. But it being coded in Dr.Racket rather than an industry used program I am not sure I can recommend the course.
  163.  
  164. But I am glad I took it since I understand the list mapping functions better and I have an overview of how tree traversal can work. But I would be very surprised if I don’t see that in further coding courses.
  165.  
  166. Rating: 5/10. Interesting ideas, but lacking outside practicality with its programming language.
  167.  
  168. ------------------------------------------------------------------------------------------------------------------
  169.  
  170. Course: Introduction to Computer Science and Programming Using Python
  171. Website link: https://www.edx.org/course/introduction-to-computer-science-and-programming-7
  172. Review:
  173.  
  174. For some reason you have to wait until a specific time of year for some MIT courses to open. I am not sure why, maybe it’s academic ‘seriousness’. Or it could be they are updating the course each year. I think it’s more the latter, which is forgivable. But it does mean you might have to wait to start this course. Because I did.
  175.  
  176. Otherwise. This course is great. It takes itself serious as a coding course that teaches python while looking at coding as a discipline. It goes over many different types of introductory topics to computer science like efficiency and algorithms. It goes over recursion and data structures. There is also a section on object oriented programming. It has all it needs to get people not well versed in computer science up to speed on the three a’s of computer science as they call it, abstraction, automation, and algorithms.
  177.  
  178. Since there is so much stuff to cover, and programming languages themselves have a lot to cover. This does a lot of good overview of the topics, without diving too deep into each one. That would be the main drawback of the course is that while learning about all these different aspects of computer science you don’t even really get to code it enough to feel comfortable with each specific one. There are finger exercises which are good.
  179. I don’t think this course or really any course needs to go too in depth, I think coding is a skill you have to do many many times to feel comfortable with. So for me this was a great introduction to thinking about coding more rigorously, and building rudimentary knowledge of topics I will feel more comfortable diving into when they come up later.
  180.  
  181. Rating: 9/10. Pretty much the perfect starting entry course, practical and useful.
  182.  
  183. ------------------------------------------------------------------------------------------------------------------
  184.  
  185. Course: Discrete Mathematics (youtube series)
  186. Website link:
  187.  
  188. Review:
  189. I really enjoyed this course, I found Dr.Trefor’s course after trying to take a math for computer science course through MIT, the MIT course had some lousy teaching. So I would look up a better explanation on youtube, after looking up Trefors information and seeing he covered the same concepts in a more reliable manner, I thought why not just go through his course?
  190.  
  191. He explains the concepts precisely and he explains them well. Usually going over a concept, doing a practice example, and then going to the next concept. If you review your notes each time before starting you will feel well prepared. His videos also do a good job of building graduatually off each other. Going through sets and logic, onto probability, markov chains and graph theory. He doesn’t spend too much time on each, just enough for you to get an idea of what you're doing. I like that as his lectures give you an intuitive sense of why you are doing something.
  192.  
  193. Practise problems are always needed to solidify so he recommends, or somebody in the comments did. This open source book: http://discrete.openmathbooks.org will give you more things to learn about and exercises, but I do think the youtube videos as lectures help the ideas click together.
  194.  
  195. I no longer find set theory or logic as intimidating as before, and I think it offers a good primer to tougher math courses like a good math course should. It will be hard for me to rate as I have no comparable idea of what a different discrete math course would be or look like, but it was much better than the math for computer science course I took which tried to do the same thing.
  196.  
  197. One flaw is that he makes simple mistakes every now and again in his videos, everybody does, the comments are usually quick to point them out. But as a fun challenge you should try to spot them before going to the comments.
  198.  
  199. Rating: 8/10
  200. -----------------------------------------------------------------------------------------------------------------
  201.  
  202. Course: Introduction to Computational Thinking and Data Science
  203. Website link: https://learning.edx.org/course/course-v1:MITx+6.00.2x+1T2021/home
  204.  
  205. Review:
  206. Another great course by MIT, this time diving more into the theory of how computation works with solving problems. Lots of good exercises. Course goes over optimization problems and graphs, probability, inferential statistics, and a little machine learning. All useful stuff and interesting to learn. The practice problems were solving optimization problems with greedy algorithms, brute force permutations, monte carlo simulations, and creating simulations with plots to visualize data.
  207.  
  208. I think it's a great start to getting into data science with some good practical work behind it. Solving the problems was sometimes pretty difficult but worth sticking it out for as your skills will get much better. I also felt pretty comfortable diving into more difficult probability and statistics classes as well as coding classes. I highly recommend it if you are going into data science.
  209.  
  210. Rating: 9/10
  211.  
RAW Paste Data