I am hanging on in the Machine Learning MOOC! Week 9; barely! I am trying to keep my eye on my progress and focus on how much I have actually learned instead of how frustrating it is to repeatedly get something wrong for several hours in a row.
I was talking to some friends about defining characteristics of success in their occupation, and persistence came up as a candidate for computer science. Persistence is definitely a weak spot for me, and I’m learning both machine learning and programming simultaneously, so this class has been a real trial. Hopefully I will be able to look back on it in the future and say, “if I can finish that machine learning class, I can do this!”
I have mostly stopped weekly planning. Travel, having guests in town, committing to a new project, and trying out a new objective setting plan have colluded to derail that project. I learned a lot, though, and I wholly recommend trying it, even if the lessons you learn are from what stops you 😉
Speaking of which, I’ve started daily objective planning. As part of testing an app my partner is building, I’m setting objectives to further my life’s current projects. I can’t wait to share more info about that app with you, but for now, the practice of daily objective setting generally has been really effective for me. Putting each objective under a large-scale project that I believe is important has been just as motivating as the crossing off of them each day. I have a bigger-picture view of my life and a better ability to balance the urgent with the important.
I fly back startlingly soon and have a lot to do! I’m working on a literature review, so I will have lot of actual science content to share with you shortly
Our assignment yesterday involved programming a Cost Function (in ML, a function mapping the sums of squared errors resulting from potential regression coefficients applied to the same data, which are serving here as training data) and the meaty part of a gradient descent algorithm– a program that will grope around on that cost function (hopefully in an orderly way) to find its minimum. The goal of this exercise is to find the point where the error between the model’s predictions and the actual values are the lowest: the best model to predict future data.
I made my life significantly more difficult by leaving this assignment to the last day– a day on which I had a brunch to go to and a class to teach. I think you can see where this is going?
Fortunately for me, Brandon took the time while I was teaching to do the assignment first. I would have flunked out last night if it weren’t for him. OK, let’s be honest, I would have flunked out in week 1 if it weren’t for him.
What he discovered, through much annoyance on his part and much to my relief, is that the assignment as written looked very long and complicated (15 pages of instructions!) but really consisted of editing 3 files. It took me a while to believe him and stop reading the assignment instructions, but– let it be known across the Internet (and especially among future Coursera students)– he was right! Saved me hours I did not have to spend parsing the assignment doc.
Of course, it was still difficult. Not only was I having to re-google matrix algebra repeatedly, I had never used Matlab before and had forgotten nearly everything I learned about writing code. The assignment took almost all the time I had available (even with a generous amount of help from B). Repeatedly running code and getting “inner dimensions must agree” was abundantly frustrating. I didn’t have time to take a break and recoup or calm down or be grateful for my progress– I had to get the assignment in by midnight. This is all complicated by my false and self-fulfilling belief that I am inherently bad at math and my long-running battle with a paralyzing fear of failure. By the time I submitted the assignment, I didn’t feel much relief or accomplishment– I felt I was about 11 years old, crying at the dinner table with my dad, trying to get through my algebra homework.
Obviously, we can’t have this happening every weekend for the rest of the summer. So here’s the new plan:
When I feel frustrated, I will take a break. I’ll get a glass of water, take a walk, or lay down for a bit and encourage myself. Remind myself of all the benefits of not getting something right the first time.
We aim to get the assignments done by Tuesday. They are due Sunday night, so we will have plenty of time to be kind to ourselves.
We will keep evaluating the plan so we can make it better if need be.
From this week forward, I’ll be trying to see this class as an opportunity to learn to use failure as a tool for learning (in addition to its curricular topics and Matlab benefits : )
I’m taking a MOOC! A MOOC is a Massively Open Online Course; this one is on a platform called Coursera, and it’s about machine learning. ML allows computers to learn in a meaningful way without being programmed. Google uses machine learning to improve its search results, Apple and Facebook use it for their photo recognition software, Tesla (and many others) use it in their self-driving cars, Google used it to beat the best humans at Go, a famously complex game, and IBM’s Watson is helping people tackle cancer. Not that I intend to compete with any that, but suffice it to say, I’m interested.
There are lots of people in our “class”– last we checked, around 750 had introduced themselves on the forum! Of course, studies show that completion rates for these types of classes are low– a little below 7%. I am definitely concerned that I might be part of the 93% who drop out for whatever reason, so I’ll promise in advance to be reflective and write a post about why I quit if I in fact do. I read through some of the posts my classmates have made introducing themselves, and they truly are from everywhere– France, India, China, Rwanda, Kentucky– and have all different levels of education. I’m not the only doctoral student, and there’s at least one middle school student enrolled!
For this class, there’s some recommended content knowledge, but no formal pre-requisites. It doesn’t cost money to take the course, but if you’d like a certificate, you can pay about $50. B and I aren’t taking it for a certificate, we’re just curious!
It’s not part of my degree program, so I don’t need to take it for any kind of credit– I think the understanding of the technology and the social experience of taking an online computer science course will be useful for my research. Machine learning could be an interesting data analysis method for me. It will certainly require its designers to make interesting ethical choices, and if I get the chance to study such a design team in the future, it will be helpful for me to understand the technology they are using.
So far, the class is interesting. This week, we are learning about the algorithms that statistical programs like R use to find coefficients for univariate regressions. It’s a fun counterpart to the linear modeling class I took first term which used that kind of software. It promises to tough, and an excellent opportunity for me to practice what I’ve been learning about growth mindset and grit!
We completed our first week today. I’ve passed all my assignments and have only cried once!