Hacker News new | past | comments | ask | show | jobs | submit login
Convex Optimization (MOOC) by Stephen Boyd (stanford.edu)
30 points by rpm4321 on Dec 14, 2013 | hide | past | favorite | 13 comments



Isn't the problem that in most real-world problems, the optimization function is never convex? At least in many Machine Learning problems (e.g. optimizing a neural network), it will not be convex.


For many machine learning problems you can find an equivalent problem which is convex. This seems to be the method of choice for dealing with things like Support Vector Machines. Many academics seem to dislike neural networks because of how easy it is to get stuck in local minima and how hard it is to say anything useful about the result. This won't happen with techniques based on convex optimization.

Outside of machine learning solving a convex relaxation of a discrete optimization problem and then trying to round the result is one of the standard techniques in optimization. This is used all over the place, from straightforward linear relaxations for ILPs through the semidefinite relaxations of problems such as max cut. You start with an intractable problem, embed it into a tractable problem and use the result to gain information about the solutions to your original problem.


Yes!

For instance, a very simple example: When you travel from A to B you sometimes can reach that destination in the same time using different paths. "Same", in the sense of a certain threshold or uncertainty considering Real World (TM) applications. Furthermore, there can be constructed academic problems, where you have an infinite amount of solutions. Say, traveling from the north to the south pole in shortest time over the surface of a perfect globe.


I took this class in person at Stanford, and it's hands down one of the best and most useful courses offered in CS/ML/Stats. If the online course is anything like the real course then this is a must.


"You will use matlab and CVX"

Not sure what CVX is, but if Octave isn't sufficient, pretty much a non-starter.


Cvx is basically a convex solver that is called from matlab. Boyd wrote it. I'm not sure how easy it would be to divorce it from matlab, but there is a lot of existing instructional material built off of cvx, including examples in Boyd's book on convex optimization.

If you think you might be interested in this topic, it's worthwhile getting a matlab license. A lot of published academic code in this field is implemented with cvx.


From the web page:

Do we need to purchase a Matlab license to take this course?

You will be able to use Matlab under a special license provided to you as a course participant to use for the CVX101 course. This is a limited license for the duration of the course and is intended to be used only for course work and not for commercial purposes. Alternatively, you may choose to access Matlab via a web interface if you prefer not to install Matlab on your computer.


It's incredible how many of my colleagues work with Matlab.

Many enjoy the high integration of the environment. Thus it's somehow predestined for prototyping. I'm not sure if Octave can compete, considering the GUI features. However, python, especially ipython, is a real alternative to me. In fact, I use ipython for my prototyping which evolves into Fortran for the following implementation on the high performance cluster late on.

As one of the other commenters mentioned, Boyd or -- more likely -- his PhD/u/grads wrote CVX, so I'm not sure how much this course allows you to implement and play with ideas presented using python instead of Matlab.


Mathworks now give out student licenses for MOOCs. At least they did for some Udacity courses I took earlier this year.


Same for MIT2.01x I think. It's good product placement for them but definitely makes the forums less interesting than other courses where you have people working together to demonstrate how to use some program/language to solve problems in the course.


And they do for this course, see the bottom of the page. If you only want to use free software this is a problem, but if you want to learn this is great!


from the page) the text: http://www.stanford.edu/~boyd/cvxbook/

which has a computational LA companion, which is great:

http://www.ee.ucla.edu/~vandenbe/103/reader.pdf

Eijkhout and Demmel's books would also be good reading

http://www.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntroT...


Great class. But I shed a tear for the TAs who will manage the MOOC process. (Assuming they have to manage something.)




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: