ISYE-8803 - High-Dimensional Data Analytics
HDDA |
Toggle to Select Spcific Semesters
Reviews
Hands down the best course in OMSCS I have taken so far. This was my 7th course after ML, RL, DL. The course covers some fundamental theories of machine learning which I never came across elsewhere.
- The lectures were divided into 7 modules. The videos are short, yet covers the content in sufficient detail. The assigned readings complement the lectures well.
- The course deals with the domain of problems where data is of high dimension but number of samples available to train is very small (<100). Throughout the course, we did some cool problems like time series regression, image classification, image inpainting, image restoration etc. The algorithms had well rooted theory, so no black box, and most could be trained under 30 seconds (some less than 1 second).
- The assignments were well thought out and cement the concepts taught in the relevant module. While some questions directly follow from the lectures, some required deep dive into the reading materials. Most of the problems required to first come up with the derivation/proof for the problem statement and then code the algorithm out.
- TA’s were super helpful and active on Piazza. The OH were held multiple times a week to discuss the assignments and the TA’s even helped students to debug their code.
- The assignments can be done in MATLAB, R or Python. We were allowed to submit our Jupyter notebooks/R markdown/MATLAB live script directly as report. I did all the assignments in Python except the one on tensors which I did in Matlab.
This course is definitely hard but doable and highly rewarding. I was skeptic coming into the course because of its difficulty and elaborate prerequisites. A background in linear algebra and multivariate calculus is required but not at expert level. The grading is relatively on the lenient side and you can bag full credits even if the answers do not match with the TA’s solution as long as the approach is correct and reasonable. I found The Matrix Cookbook as an invaluable resource. This course has absolutely changed my outlook towards ML in general. Not to mention I am no longer scared of the math of machine learning.
One of the best course I have. Professor Kamran ‘s office hour is a must join if you have time. Professor is patient enough and will explain the lecture and homework during his office hour. He is also willing to go through some deeper topic if you want to.
I did everything in Python. TA has provided example code in R, Python and Matlab in this semester. There are some error in example, but it is not terribly hard to debug those and get the homework done.
The optimization section covers several applications – gradient descent on parameter , image separation ..etc. it covers both first order and second order method. The method can be used on constraint optimization as well
The tensor section is definitely new to me.
Overall the course did broaden my knowledge in analysing high dimensional data
A lot of math inside, be prepared.
Strongly liked the course.
However, the removal of the 2 modules in the Summer makes this course way less challenging than it should be in Spring/Fall. I saw the 2 skipped modules (Modules 4 & 5 in Optimization), they seem to be way more difficult than, say, Image Processing in Module 2.
Suggestion - In summer to remove Module 2 (since it’s also Matlab-driven) and replace it with Modules 4 or 5 to make the summer equivalent as challenging as the regular semester.
This helps to protect the integrity that this course is reserved for the best of OMSA.
Enjoyed the course because it dug into some tools to use for HD data if you aren’t at the Big Data amount of data. We covered regularization, image process (e.g., convolution), tensors, splines, and functional data analysis. Summer semester kept the optimization module as optional and provide lectures, hw, and hw solutions for that module. The course dove into the math side of the tools, but was really good about providing example code for homework problems and grading seemed to be somewhat lenient. I was usually able to complete HW assignments just by working on weekends. Also, the exams were take home and very similar to HW assignments.
Cleared due to OMSCentral Owner being greedy.
HDDA is the most mathematical course I have taken in OMSA. Make sure you are very comfortable with multivariate calculus and matrix algebra before diving into this course. There are lots of gradients, tensors, and other fun mathematical topics. The algebra goes well beyond the typical one semester undergraduate linear algebra course taken at American universities. The HW and exams include rigorous math proofs, and even the programming often requires you to mathematically derive the algorithm that you ultimately code. I strongly urge you to do the assignments in Matlab, as it is much better than Python for implementing the matrix algebra that is used in this course. I did a few assorted HW and exam questions in R, but the bulk of my coding was done in Matlab. If you don’t know Matlab, don’t be scared. I hadn’t used it before, either, and I picked it up quickly. The optimization modules were by far the toughest part of the course, and they are cut from the summer version of the course, which could be an advantage if you don’t like hard math or a disadvantage if you are hoping to gain optimization experience. I would say this was the hardest course I have taken so far, but I liked it a lot.
Expect to spend many hours on the HW and exams. The exams are take-home and un-proctored; we could use any resources except other people while taking the exams, which made them less stressful than they could have been. HW typically had ~2 weeks to complete, while exams had ~1 week. The most stressful period of the course was when HW4, Exam 1, and HW5 all followed each other within a short interval of time.
The TAs were excellent, and the lecture videos were some of the best I have seen thus far for OMSA. This is my 9th course; I am on the Analytical Tools track.
This was a great course - one of the best experiences I’ve had in OMSA (6 courses in, but haven’t taken an MGT course yet). I’d highly recommend this course to anyone considering it. For benchmarking, I also really enjoyed ISYE 6740, enjoyed ISYE 6501 and ISYE 6444 (Sim), thought CSE 6040 was decent, and found ISYE 6414 (Reg) useful but disliked the class.
I found the material on splines, tensors, and compressive sensing all to be very interesting. There was some overlap on the optimization and image content between this class and CDA.
The class is tough. The material can take time to get your head around. But the example code is pretty thorough and the TAs provide a lot of help and guidance through the HWs. The exams can be stressful with the safety blanket of Piazza/TAs gone.
I struggled at times with the derivations and wish they provided better resources to help students whose math skills might be rusty or not quite where they expect them to be.
Concerning time commitment, I’d estimate that, for each module (7), I spent 2-3 hours watching lectures and up to 20 hours on HW. I spent 25-30 hours on the first exam and 15-20 on the second. I didn’t spend much time reading the reference papers, usually only if I were struggling with a topic. The high side of all those estimates works out to ~14 hrs/week. If you put in the time (and it might be a lot of time), I feel like it will translate to learning the material and getting a decent grade.
Finally, some parting advice: get comfortable with matlab from the start. I think the class was originally built on matlab, with R added as an option later. But things in R didn’t always behave the way they do in matlab and the final module doesn’t have example code in R.
This resulted in 10 wasted hours spent troubleshooting on the first exam when I could’ve just switched to matlab (I think it also cost me some points). I eventually switched to matlab for the last HW anyway, which made that HW much easier.
-
tl;dr 1 : This class is not for the faint-hearted. If you don’t have strong Math prereqs obtained in CDA and DO, you’re going to have a rough time, even for summer.
-
tl;dr 2 : Don’t be Python-stubborn. Learn Matlab.
They say this is the mother of holy grail of OMSA for a reason. This is not a normal brick and mortar class. No textbooks will ever sufficiently prepare you for this class. Forget about watching these videos in advance. You won’t understand much until you put your hands dirty on the homeworks.
You need a combination of Linear Algebra (a dose of ISYE 6669 preps you well), Calculus III and do well in it, Machine Learning theories (some doses of ISYE 6740 or 7406), and a hell lot of grit to get this through. So make sure you plan your courses well prior to taking this class.
The Mathematics you understand here puts you one step closer to doctorate standard. You will be splashed with cutting-edge knowledge that you will be given tons of research papers to read and implement - some of them written in English but as a second language so you will have to understand their linguistic context as well.
Codes are given sometimes in R, mostly in Matlab, but for a reason. The TAs and the Prof believe that such particular theory works the best on that program. The time spent may vary, owing to debugging, but the answer codes are usually the most elegant.
Feel free to port to Python if you really choose to be stubborn. It really pays off to be programmatically multilingual - not to say that Python is horrible at handling high-dimensional data types. After all in the real world, you work with programs that give are the most efficient for that algorithm.
This is easily the most intense but fulfilling class in the entire OMS program. The good thing also is that you probably won’t get to hear annoying messages in Piazza and Slack because the course is so intense, those whiners weed themselves out in the first week.
Many of the good aspects of this course have already been covered accurately in below reviews, so I am going to focus on what hasn’t been mentioned too much -> the negatives of this class.
I felt that the pacing was too quick in the middle portion of the course. Even the top achievers of the class were rushing to finish homework 4 and 5. Normally, we get 2 weeks exactly to do the homework, but for whatever reason, homework 4 gets 1.5 weeks which is directly followed by 1 week for the exam and then homework 5 gets 1.5 weeks. I felt my survival instincts kick in and I focused less on learning the actual content and more on just trying to push through to get the answers correct on the homework. This had the domino effect of adversely affecting my speed to complete later homework assignments, because I did not take the time to really learn the concepts well.
Next, I should mention the flaw in current office hours setup. We have 6 office hours scheduled throughout the week. I personally found myself as an office hours frequenter because Piazza quickly became a web that had to be untangled and not all points are addressed in Piazza (there are a LOT of smart people taking this class, so pretty much no questions on pre-requisite material used are asked). I myself spent the majority of my weekend doing the homework, but that only left me two office hours to ask questions, and who wants to wake up early on Saturdays? I’m on my own after that. I wish we had moved some of the weekday office hours to double up on weekend (i.e. 2 OH on weekdays, 4 OH on weekends), so that better dialogue could occur on office hours.
Also, this class is kind of weird in that it jumps around between Matlab and R. I decided to learn Matlab during this course and Matlab was the best option for the majority of homework assignments. I think that this class would benefit from having answer keys and example code provided in all three languages that it supposedly supports – Matlab, R, and Python. This would truly give the class the flexibility that a Masters class at Georgia Tech should have.
And warning to all who take this class, TAs often do not read comments on private threads unless they are recent. Just create a new post and it is more likely to be read.
Finally, I’ll mention why after all that I decided to put “Liked”. This class challenged me greatly. It taught me so many cool concepts. It gave me an opportunity to message with brilliant minds. Despite all the struggles mentioned above, it was a fun class. Be prepared to learn some advanced math concepts, and buckle up for a bumpy ride.
This course was recently opened up to OMSCS(previously only as an OMSA course) and I am glad I signed up. The syllabus and contents peaked my interest enough to sign up. This is my 7th in the program and I’d rate this as one of the best run classes I’ve taken. There are two take home exams for the mid term and finals, which is perfect you are not a fan of closed book exams.
The material is well curated as in you only have about ~1 hour worth of weekly well-explained, videos that breaks down the content. The hand out slides of the same are also provided along with a set a example codes. These are very helpful for the bi-weekly 7 homeworks. You can do well on the exams if you were able to figure out the homework problems.
The homework consist of 4 questions which are typically 3 coding problems and 1 proof. The first three homework topics covered functional data analysis using Splines, 2D Images(nothing new if you have taken CV), Tensor data analysis and decomposition methods. From HW 4 onward, the topics got progressively more complex- Optimization(Gradient descent, decomposable functions like lagragian, ADMM) and Regularization(lasso, ridge, elastic net,etc..) methods, Compressive sensing, PCA. For the most part you are expected to able to derive the math to set up your solvers. So you are expected to be comfortable with partial derivatives and linear algebra.
The TAs were very helpful and approachable throughout the course on Piazza and the Office hours. There were ~ 4 office hrs every week. They really took the effort to make sure to no one was left behind. The prof. seemed approachable and would occasionally post on Piazza. I’d recommend this course as a follow up for anyone in the ML specialization.
One caveat, there is no fixed programming language stipulated however 90% of the sample codes are provided in MATLAB. You might be better off if you are comfortable with Matlab. You are encouraged to do this in the language of your preference and I noticed several in the class were doing this in Python and R.
Before getting into the review, I’d like to provide my previous coursework to give context: CSE 6040, ISYE 6501, MGT6203, CSE6240, ISYE 6669, CSE/ISYE 6740 (A’s in all classes). I also took this class in combination with simulation, as I waived out of MGT8803.
I loved this class. The topics were definitely more advanced than CDA and it felt like a machine learning II class for the most part. There are proofs in every homework assignment (just one out of four questions) and exams, but the remaining 3 questions could easily also require a derivation before implementing into code. The TAs were excellent, providing very quick and thorough responses. Also, it felt the students in the class were extremely smart, where most were part of the OMSCS program with courses like AI, ML, ML4T already under their belt. There were not any questions that felt out of place on piazza. If I didn’t take my heavy computational workload before this class, it would have been a struggle to excel. It starts out with material of which is considered “appendix” material in ESL, B-splines. These are referred to throughout the rest of the course. Then basic computer vision, tensor decompositions and math, optimization (first section felt like review for me as I took ISYE 6669), but the second section was amazing. The second section covered state of the art techniques used today for optimizing ML algorithms like coordinate descent, ADMM, etc. It then closed with sparse datasets of high dimensions, highly reliant upon the Lasso framework and applying it elsewhere, compressed sensing for example.
I thought the teaching was amazing in the videos as well. The math is absolutely not hidden away from you, and the teacher does a great job walking through exactly what is being shown. He will never just read off the slides without walking you through the material. The amount of videos every couple weeks is lighter than most courses which is nice - most of the work is in doing the homework, doing the reading (either what he gives, or from Stanford/CMU/Princeton. Just like ISYE 6740, I relied a ton upon these university’s materials). The references were almost always papers - that’s when you know the class is legit.
Sometimes, it feels great getting the problems correct. They seem very scary at first, especially getting into things like matrix completion with a higher-dimension and sparse dataset, but you are armed with the tools to solve the problems. I always referred to the class as the “beast class”, due to the respect I had for the material being covered; a first in the degree for me. I loved the applicability to real life - as a data scientist in real life, you deal with sparsity ALL THE TIME. Concepts like tensor math + decomposition will serve me well in the deep learning class.
If you are not very adept in programming in any language of your choice (students can use MATLAB, R, Python), don’t have a solid background in linear algebra/multi calc/stats, and haven’t taken a ML class beforehand, this class might be a kick in the mouth. The optimization class definitely helped, but I felt the material was taught well enough where you could fill in the gaps if need be here. ML classes cover optimization already. Concepts like SVD/PCA/Kmeans are assumed that you understand fully in depth - you are required to build both a tensor decomposition algorithm from scratch, basically a higher order SVD (HOSVD for short) with a ALS set-up, and robust PCA to handle sparsity. Hence why I say it is more of an ML II Class. From reading previous reviewers, and seeing previously given homework assignments, it feels like a conscious effort was made to make the assignments more rewarding and less reliant upon the example code. It felt like the example code was designed to be what it was - just an example to get your feet wet. I don’t know for certain without comparing fully, however. To provide substantiation that the material may be different now, the average on assignments usually hovers around an 80. Highest i’ve seen is an 89 for a homework, lowest a 70. Definitely not a walk in the park for a generally smarter student population!
I would highly, highly recommend this for any student in the computational track in OMSA or the ML track in OMSCS if you are more seasoned in the degree. It is a class size of around 75-100 students with amazing material in terms of teaching and assignments, especially if you like math.
I do not recommend taking it in the summer, as the optimization modules feel like a must. I just finished the final exam - both the midterm and final felt very fair and like a homework. I am not giving a very hard rating because some problems were more of the CDA style of running a model in a package of your choice, but those were few and far between. It would take a ton of time to even get to that point, and this was very occasional.
The example code given is amazing - I’m sure I’ll rely upon it throughout my career.
Decent course, glad I took it in the summer. Some interesting topics not covered in other classes, except the image processing stuff, which is covered in CV. While they skip the optimization modules and leave them as optional, the workload of this class is light enough that you can easily watch them/do the hw on your own during the summer. Workload is comparable to something like ML4T, although the content is much more advanced. Don’t worry about the “proofs” you hear about in the homeworks. They are more like derivations of formulas (i.e. very informal) and typically just require some algebra.
HDDA was my 5th OMSCS course after AI, RL, CV and ML. I liked it because it covered quite a number of topics that had not been taught in the courses I’d already taken, such as splines, elastic net, optimization techniques, tensor math and tensor decompositions. The image processing module didn’t really teach anything new that wasn’t covered in CV, but it was also the shortest module.
Although there are no official pre-requisites for this course, I think a basic grasp of linear algebra should be considered necessary. Moreover, although it’s not too hard to get an A, the stronger one’s math background, the better one can really master the material. I benefited a great deal this semester from some of the other students who knew more math than I did. This was in part due to the 5% extra credit that’s given for participation in Piazza, though it also had the unfortunate side effect of incentivizing students to give big hints for the homework problems, since only answers were eligible for the extra credit.
There were some mistakes in the lecture slides that apparently previous cohorts had already pointed out, but were not yet fixed due to poor version control.
One downside of taking this course in the summer is that the 2 optimization modules were made optional. I would have preferred if they had cut out the image processing module instead and reduced the amount of time given to the other modules in order to keep the 2 optimization modules in.
(omscs studient) Amazing content, best lectures very concise and interesting, exams and homeworks are very rewarding.
This was my 2nd class in OMSCS after RL, and my 1st ISYE class. Taking this in the summer, one of the modules (optimization) was skipped entirely, so if this matters to you, make sure to take it in the fall/spring. The class covers topics very relevant to ML - spline interpolation/regression techniques w.r.t. high dimensional data, image processing/computer vision, tensors, regularization.
Some reviewers say the content that is too old, but I’ve heard that much too many times and think it is unfounded; it is important to understand the building blocks that came before, since they often cover the foundation for newer techniques.
The lecture content for this class is great - the delivery of the lectures by the professor is alright, didn’t have any problems, but never thought he explained concepts perfectly or that greatly. However, the mathematical depth in each lecture is very much appreciated, and what I enjoyed the most; however, the depth is only enough for more intuition on how the models work, and not as in depth as I would have liked (some lectures are more in depth than others).
The downside to this class is that it tries to compress too many topics into one class, so they never really get a chance to go too in depth on one topic.
This downside is seen vastly in the assignments/exams. Despite my enjoying of the content of the class (but wanting more depth), the quality of the assignments is why I give this class not a superb rating. The class provides you with example code that is run in the lectures, and 99% of the homework problems/exam problems that aren’t proofs are literally just running the example code again with different inputs and bit of tweaks - this is not stimulative to learning to really understand the lecture material, as the content is black-boxed in the example code.
Additionally, the TAs literally hold your hand on piazza for every homework assignment, and assignments were mostly a problem of figuring out what the TA wanted you to do, instead of you applying knowledge that you’ve learned from the lectures. (Exams are the same format as homeworks, take-home, but that nobody can help each other)
On the flip side, I enjoyed all of the math proofs very much, but the lack of breadth/depth of the math in the course made it not proof-heavy and more application heavy, so a few proofs here and there didn’t really teach me enough to understand how it relates back to the models as a whole.
Its true that you can just read more of the math content in depth if you want to really learn more. Its also true that you can just write your own code to really learn how to apply these techniques instead of using their example code. This class does give a good opportunity to learn these things in depth on your own, if you desire. However, the way the class it set up right now, you can also pass the class with an A (I believe I am getting an A, and the median on all assignments is an A) without really retaining much of the material. Depending on your math background and how much of it you really want to understand and how much you just want to get done, this class can be very easy and unsatisfying, or very difficult and satisfying.
Course emphasizes learning some niche but less useful techniques. Course material looks like it has not been updated in over a decade. A bit of a joke given how modern ML approaches dimensionality reduction. Focus on using R and Matlab is annoying. Ultimately there are more useful ML courses out there.
The one good thing about the course is that it does emphasize the math. A lot of other courses skim over the math but this course really goes in deep into the math portion.
8803 is a tough course, but not hard to achieve an A. You have to code from scratch and complete some math proofs, but it is not impossible. We only had two TA’s but they were both helpful. The lectures were good and free of mistakes.
We had 7 homework assignments that were due every two weeks (but it only takes about a week to complete them). The exams are not bad; the only issue is sometimes it can be confusing about what the question is asking. You could pair this with an easier class like ISYE 6420 or MGT 6203. I would not pair it with ISYE 6740 or ISYE 6669.
Overall I enjoyed the class and would recommend it.
TLDR; If you can handle the math you should take this class.
The good. This class is very challenging and exposes you to some cutting edge stuff that you won’t see anywhere else in OMSA. Things like Tensor Decomposition, matrix factorization, robust PCA with images to separate the background and foreground, compressive sensing and image processing. It is super cool and there were times when I was done with my homework and the result just felt like magic. This class is insanely difficult but it pushed me to learn so much and for that I am grateful. Now that I am at the end awaiting my final grade (good shot for an A) I am glad I did it but that is not how it felt during the semester.
Now the bad. This class has no professor. Technically it does, you see him in the videos and he will occasionally respond administrative questions related to the course (what time are office hours, when will the exam be released,etc.), but I cannot recall even a single instance during the entire semester where the professor of this class publicly answered a question related to the content of the course on Piazza. At one point the head TA admitted that he hadn’t spoken to the professor for weeks. It is honestly bizarre to me to read reviews from previous semesters talking about how responsive the professor is.
So between an MIA professor and the very quiet piazza forums, you are left to get any help from the two TAs to the course. The head TA is a PhD student who is generally very patient and helpful and your best bet for help with the homework. The second TA is a former student of the class and he uh, left a lot to be desired. He scheduled his office hours at 9pm to 10pm eastern time ON A FRIDAY. No only that, the couple of times I did attend it was a waste of time. He was generally unprepared and since he took the class over the summer didn’t do the optimization modules so could not answer my questions on those assignments. The TAs in general are solely focused on answering questions related to the homework. If you have questions relating to the course that don’t specifically pertain to the homework they can’t help you. The responsiveness of the TAs is also inconsistent. As I look right now (the exam is due in two days) there are questions open relating to unclear instructions on the exam and no one, not the professor or the TAs have answered them in over two days.
If you want to succeed in this class, you need to be prepared to do it without much assistance. If you are a fool (like me) who spent his undergraduate education aggressively avoiding any kind of math, this class will most likely be too much for you, unless you are prepared to make this class almost a full time job (I had to). If you do, you’ll come out the other end better for it, but you will suffer for it.
It was a tough course but also satisfying! The TA’s were very helpful and patient in answering questions. I learned a lot from this course! I would highly recommend it but do take note that a lot of time would be spent on reading and answering homework questions.
Some prior mathematics knowledge on linear algebra and calculus would be helpful!
- This is a very hard course, math proof heavy.
- Homeworks are harder than exams, if you did well in HW, you can apply some concepts in HW to exams problems, so do take advantage of office hours/piazza to learn more/deeper about HW, it will be very helpful in exams.
- I took all ISYE courses except det. optimizatio and took a lot of AI/ML related courses when I was in OMSCS program before I took this course, with those courses under my belt, this course still felt hard.
- Overall, challenging but highly rewarding course, got to read lots of papers and learned lots of new concepts I never learned before.
Holy moly, what a class. I really enjoyed this class. Learned a lot and the TAs were top-notch. However, I definitely recommend you take it later in the program, especially if you are lacking in math background. This class involves some pretty complex linear algebra applications.
There was a homework assignment due roughly every 2 weeks. These tend to be very challenging and include written math proofs as well as coding exercises. Though you can do homework in any language, the instructor provides sample code in Matlab or R, so it’s generally easier to just rework the given example.
The exams are basically just like homework assignments - you get a week to work on them and you can use the internet or other resources, just not your classmates or Piazza.
ISYE-8803 HDDA is a beast
Primary contributors to beast status:
- Volume of material - So many concepts covered
- Depth of homework - HW every two weeks, on average, required many hours
- Mathematical foundation - There were proofs
This was a good capstone class that solidified many concepts from the OMSA curriculum.
Homeworks were 3 to 4 problems that each went into depth. Solutions were submitted as PDF write-ups, with source code attached. There was no weight given to language or implementation details, but all examples were provided in either R or MATLAB. Examples were very helpful, sometimes extending beyond the examples provided in the lectures. I know of some who completed all homework in Python as an “additional exercise”, but due to time constraints, I stayed with R/MATLAB, typically modifying/extending example code.
Two exams, mid-term and final, were basically “take-home exams” in the same style as the homeworks, but with reduced reliance on peers and instructors, but open-everything, minus collaboration. Whereas the homeworks were 2 weeks, the exams had closer to a single week.
TAs were very helpful, with many office hours recorded and very quick Piazza replies.
The instructor was very responsive, both via Piazza and email, often “beating the TA to the answer.”
There were only 38 of us in the class this time, which made collaboration more difficult since we weren’t quite at critical mass to have someone else in the class always “in the same situation at the same time.”
Overall, I highly recommend, but take it solo or paired with a lighter course (than CSE-6250 BD4H, that I inflicted upon myself).
The math in this course was SIGNIFICANTLY harder the other classes I had taken in the program (foundational + MGMT 6203). It took me a while to get past the intimidation factor of the notation alone. After a while and many hours of watching lectures, reading and re-reading supplemental materials I was able to finish the homeworks/take home tests.
PROS:
- Very math heavy and you will get comfortable with more complicated notation and derivations that many of the other courses I have taken lacked. First course that felt “graduate level” to me.
- Interesting material covered such as image processing.
- Can make sure you get an A by doing all homeworks and tests, but they take a lot of time
CONS:
- Concepts such as Tensors are more “niche”, can be very difficult to grasp with little information outside academic papers, and may require significant amount of effort to begin to understand.
- Summer was very condensed and included optimization as optional material which I think is one of the more relevant topics for analytics. I would recommend taking this during a full semester so you cover this.
Homeworks have a math derivation portion and a coding portion. Took me a very long while to complete them. Most of my time was spent attempting to understand the topics and figuring out where to begin. I would recommend starting early.
Midterm and Final are take home and are in the same format as the homeworks and you have 1 week to complete.
Not a class for the faint of heart. Course was by far the most difficult in terms of mathematical rigor - definitely learn Greek letters and learn how to translate formulas into English. The next most important thing is linear algebra comfort and ability to track indices - as the course title suggests, you’re dealing with an insane number of columns and rows of data and using linear algebra is much more efficient than looping. This is the first time since beginning (and appropriately, the end) the program where the course felt like the difficulty hit the graduate level. Nevertheless, as larger data sets and more predicting variables are made available, the topic will become increasingly important in Analytics as a whole.
In the Summer semester, the optimization modules (2 lesson sets/homeworks) were cut out entirely but made optional. Regular semesters will see these in the curriculum. Overall, there are 5 or 7 modules and homeworks to complete (x2 weeks or so each) over the course of the semester. Grading is fairly lenient and mostly effort-based, so if you put in good effort and come to an answer that makes sense you should get most of the credit. However, note that learning is facilitated by making an active effort to understand the code provided and reconcile it against the lectures. Otherwise, copying/pasting code from the lessons to apply to homework will work to your detriment during an exam if a curveball is thrown.
Breakdown for the Summer semester was 30% homework, 35% midterm 1, and 35% final exam. Exams are take-home/unproctored and basically homework problems with mild steroids and variation, but are fair and will not be on topics never before seen. Grading is similarly lenient. Additional 5% is given for active piazza participation.
Only piece of feedback for improvement on this course would be actually commenting the instructor-provided code. However, given code-reading is a practical skill, maybe this is by design.
This is an amazing course, and I would strongly recommend any OMSA student to take it. The course has total five modules. They are as follows:
- Functional Data Analysis: Concepts of Splines and BSplines are introduced in this. Spend as much time as possible on this, and grasp this completely. Splines will haunt you the whole course :)
- Image analytics: Concepts related to Image processing.
- Tensor Data Analysis: Very interesting concepts. Linear Algebra is a strong pre-requisite for this module
- Regularization: Linear Algebra and Optimization techinques are assumed to be pre-requisites.
- Applications of Regularization: Linear Algebra and Optimization techinques are assumed to be pre-requisites.
It is assumed that you have prior knowledge of Linear Algebra; You can complete the course without Linear Algebra knowledge by spending extra hours on the topics as they come, but I feel it won’t be very effective in terms of long-term retention of the material. Also, the last two modules rely heavily on optimization techniques. So if you plan to do Deterministic Optimization course, I suggest you take that first.
You need to code in R and Matlab for the course.
This was my sixth course in the OMSA program, after completing 2 courses per semester in Fall 2019 and Spring 2018. Boy, was this intense.
The good:
- You will learn a lot. A lot of the assignments focused on a research kind of implementation, which I believe to benefit my learning quite a bit.
- Relatively easy to score an A in this course. Just keep on your toes and following Piazza discussions.
The bad:
- The reason for liking this course, is also the reason for disliking it. Because it was so heavy on research papers (which are deep and take a long time to read), the scope that was covered in class was limited. This placed the onus of covering materials on the students, which was a fairly broad task.
- Instructor gave a 5% bonus mark for Piazza participation, which I felt was unfair, as it encouraged adverse participation (ie people who posted for the sake of posting).
- TAs refused to consider different perspectives, even though there are different ways to interpret and solve a problem.
Very tough course, but also extremely interesting. As others have mentioned, this is likely the most Mathematically challenging course being offered by OMSA up to this point. The grading is very lenient, but you will still need to put in a lot of effort if you want a decent understanding of the material. Unfortunately, the homeworks can be overly vague or the notation is not explained well enough, and you will be forced to depend on fellow students asking good questions during office hours and you’ll have to monitor Piazza constantly. Overall, the TAs for this course were the best I’ve ever had and we’re extremely responsive on Piazza, and great at clarifying the homeworks
Honestly, my least favorite class in the program so far which is saying a lot because I really hated Business for Data Analytics. First of all, the example code was HORRIBLE. Whoever wrote the example code needs to learn how to code. First of all, nothing is commented and there is variable replacement throughout. Secondly, the example code goes back and for the between matlab and R so you never truly understand the material because you are constantly jumping back and forth. I had experience in both programming languages prior to this class, but when you are learning new material jumping back and forth doesn’t make it easier to learn….The homework assignments are tough. All homework are 3 problems and most of the homework assignments consist of at least one proof problem. Make sure you ask a LOT OF clarifying questions on the test, because sometimes the problems are not worded correctly and wrongly interpreting will cost you a lot of points. Out of all the time and energy I put into this class I really don’t think I really have a strong grasp on the concepts. I’m very disappointed in this class after reading all the amazing reviews because you can do the homework and tests by mostly using example code or googling for concept answers for the most part.
This is a very challenging course for me. It assumes a lot of prior knowledge on Linear Algebra and Calculus. The generous use of advanced mathematical notations to explain concepts behind feature selection, regularization etc makes it even harder for students (like me) with average mathematics background. I spent a lot of time reading up a lot of extra materials (mostly in mathematics) in addition to the recommended course readings and lecture slides.
Homework questions are a mixture of questions on mathematical proofs and programming. The professor allows students to use any programming language of their preference but example codes are mostly in Matlab and occasionally R. Using Matlab in the homework will certainly save a lot of time as example codes are provided and some Matlab functions does not have an exact equivalent in R or Python. It is easy to pick up Matlab if you are already familiar with R.
Professor and TAs are very responsive in Piazza and office hours. I would say both platforms are mandatory tools for homework and exam. The great student community also help a lot.
Overall, I would say this is a great course though very challenging. I rate this more challenging than CSE6242 DVA. I will not recommend taking this course in Summer semester as they adjusted to the shorter timeline by dropping 2 essential topics. Professor tries to include this 2 optional topics in the last homework which attempts to cover too much ground.
This course is probably the most challenging course in the program in terms of Math content. I strongly recommend to brush up Linear Algebra and Multivariate Calculus before taking it.
What I liked about this course is that the content goes very in depth in the content. In fact after taking this curse I realised other courses like Regression and Optimization could go deeper in the Math. The homeworks are very challenging and force you to get your hands dirty with equations and proofs without foegetting about the practical applications which as you might guess turn the homeworks into long assignments.
What I didn’t like is that I really couldn’t catch up with all the content and I think this is due to my own time limitations due to a full time job but also due to sometimes a teaching approach that assumed things as known where more intuition would have been appreciated. One more thing that could be improved IMO is that the lectures/HW are far from self contained and Office Hours become critical and much time need to be spent to figure out some concepts or requirements.
This course is definitely my favourite course so far in the program. Previously taken 3 core electives, 6203, audited time series and data base systems design.
The course is fairly math heavy, coding component is quite easy. Taking optimization first would make this course much easier. The knowledge imparted here can be quite practical, and definitely very interesting. The professor is excellent. Clear explanations and the instructors are very responsive.
I would highly recommend considering this course for your OMSA stats elective or as a track elective for the analytics tools track.
I loved this class, but it was very challenging. It consisted of 7 modules/assignments and two exams. Each module was two weeks long and consisted of 1-2 hours of video, some sample questions, optional readings, and an assignment. Each assignment consisted of a mix of mathematical derivations and coding applications. Exams were like the homework assignments (unproctored, similar questions), but you only have one week to complete (and you should start early, it takes a lot of time!). There was no curving of the final grades, but the instructors graded leniently - if you made a reasonable attempt but didn’t necessarily get the exact right answer, they still gave you full (or mostly full) credit for the problem.
I highly recommend you take this class, but make sure you budget time appropriately. You may need to beef up your linear algebra/calculus skills before taking it; I found the math to be the most challenging part. I also highly recommend using MATLAB/R in this class to save time - the professor provides sample code and it saves a lot of time if you modify his code. (He also switches to R for one application, LASSO/ridge regression, and it’s because R handles it much better than MATLAB… use R for those questions.) If you’re able to finish the assignment, you’ll likely do well on it; mean homework scores were high.
This could work as a summer class, but I don’t recommend taking it with a second class if you’re working full time.