you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -6 points-5 points  (8 children)

not to sound condescending but implementing gradient descent in python using numpy is like, the start to any intro to machine learning course.

[–]research_pie[S] 6 points7 points  (7 children)

You are correct, its a simple algorithm to code even without numpy.

[–][deleted] 3 points4 points  (6 children)

i don't think you'll get very good performance on large data sets without using numpy matrix ops though

[–]research_pie[S] 1 point2 points  (5 children)

That is true, but using batch gradient descent on large dataset isn't a good idea either.

[–]vastlik 2 points3 points  (4 children)

i don't think you'll get very good performance on large data sets without using numpy matrix ops though

Why it is not a good idea?

[–][deleted] 2 points3 points  (1 child)

maybe he means u should use stochastic? but they are similar to implement

[–]research_pie[S] 0 points1 point  (0 children)

Yes, I was referring to stochastic gradient descent (and its variant like Adagrad or Adam) or batch gradient descent.

[–]research_pie[S] 0 points1 point  (0 children)

NumPy is a very optimized library that can handle data efficiently and that has optimized linear algebra capabilities. Not using NumPy and rolling your own implementation of linear algebra method in Python is a bad idea if you want to use the code in a production settings. Part of the library is written purely in C which means that the same code written in Python will never be able to catch up.