I have worked as data scientist on a lot of finance domain problems - forecasting default, fraud, conversion probability ect. Lightgbm library has consistently performed well. I've been interested in how many colleagues instantly jump to neural nets when in my experience this often doesn't beat lightgbm on medium sized datasets not related to text/images.
More anecdata: we consistently outperform lightgbm, xgboost, random forests, linear models, etc. using neural networks even on smaller datasets. This applies whether we implemented the other algorithms ourselves or simply compared to someone else’s results with them. In my experience it really comes down to how many “tricks” you know for each algorithm and how well can you apply and combine these “tricks”. The differ…
The State of Machine Learning Frameworks
171–180 of 201 posts
Re: The State of Machine Learning Frameworks
#172Earlier quoted context omitted.
Are you saying tensorflow doesn't have more code to check in or that even bad engineers don't pretend that checking in more code looks productive?
Not even bad engineers pretend like more code == more productive. Emphatically so.
Re: The State of Machine Learning Frameworks
#173I have worked as data scientist on a lot of finance domain problems - forecasting default, fraud, conversion probability ect. Lightgbm library has consistently performed well. I've been interested in how many colleagues instantly jump to neural nets when in my experience this often doesn't beat lightgbm on medium sized datasets not related to text/images.
More anecdata: we consistently outperform lightgbm, xgboost, random forests, linear models, etc. using neural networks even on smaller datasets. This applies whether we implemented the other algorithms ourselves or simply compared to someone else’s results with them. In my experience it really comes down to how many “tricks” you know for each algorithm and how well can you apply and combine these “tricks”. The differ…
This tuning approach gets good results for Lightgbm. I'd recommend using TimeSeriesSplit.
https://www.kaggle.com/nanomathias/bayesian-optimization-of-...
I've seen colleagues do something like this, or random search over NN architecture (NUM layers, nodes per layer, learning rate, dropout rate), always falling short of results this archives, despite far longer time to code up an tune model.
Re: The State of Machine Learning Frameworks
#174Jax, for those that haven't heard of it, is the thing y'all want.
why would you use Jax over pytorch? even if it has technical merits it lacks an ecosystem of readily available models to study and tweak.
The lack of say, keras.applications is a shame, but it won't last, and if you have a GPU or 8 the power of optimized (p/v)map definitely makes up for it.
Re: The State of Machine Learning Frameworks
#175Re: The State of Machine Learning Frameworks
#176I work at a small company as an engineer and recently was asked to do a project that would require some neural net magic. I had some experience with keras/tensorflow so that was my first choice. Despite the absolute nightmare of getting it installed and running on a gpu, I managed it and had a fantastic model. It was doing so well that the company wanted to expand the project and build out a multi-gpu rig as part of…
Because of that, it doesn't make much sense to judge a "differential programming language" like TensorFlow or PyTorch by the ease of installation. It'd be like saying "I prefer C# over C++" because it is easier to install.
Re: The State of Machine Learning Frameworks
#177Earlier quoted context omitted.
why would you use Jax over pytorch? even if it has technical merits it lacks an ecosystem of readily available models to study and tweak.
At some point you stop caring about being able to import a set of imagnet pretrained weights and start caring about extreme flexibility. Think about implement ting, say "Scene Representation Networks" https://arxiv.org/abs/1906.01618 in each of the three frameworks. Tf is a pig, pytorch is slow, and Jax is going to crush the problem. The lack of say, keras.applications is a shame, but it won't last, and if you have a…
Do you have any particular evidence that PyTorch is slow here?
Re: The State of Machine Learning Frameworks
#178Earlier quoted context omitted.
Uhm I would think that the tf.keras API is a clone of Keras (I mean, Keras was made by a Google Engineer!!)... which came before Pytorch
tf.keras contains a deprecated API that was the original keras as well as a new API that basically is a clone of Pytorch. You can tell the difference because only the new API works nicely with eager mode.
Re: The State of Machine Learning Frameworks
#179I have worked as data scientist on a lot of finance domain problems - forecasting default, fraud, conversion probability ect. Lightgbm library has consistently performed well. I've been interested in how many colleagues instantly jump to neural nets when in my experience this often doesn't beat lightgbm on medium sized datasets not related to text/images.
And if you have any kind of seasonality you a dataset with a large enough timeframe. (At least more than a year.)
Nonetheless, LightGBM and xgboost are also commonly used in the insurance sector.
They are still somewhat problematic for conversion rates in a highly dynamic market though.
Re: The State of Machine Learning Frameworks
#180Earlier quoted context omitted.
Last year I was tasked with looking into a NAS (Neural Architectures Search) paper and analyzing the algorithm. The paper came with a TensorFLow implementation. Trying to read that TF code was quite difficult. I searched around and found a PyTorch implementation - much easier to read and understand, and it ran about 50% faster as well (the latter was a bit surprising). I tend to think that TensorFlow lends itself to…
What made me fall in love with PyTorch was also that the "neural network training process" is defined almost as it is in theory, in code in PyTorch - loop through epochs - loop through each batch - run a forward pass for the batch ( model(batch) ) - calculate the loss for the batch ( criteria(y, yprim) - compute the gradients/backprop ( loss.backward() ) - update the weights (optimizer.step()) This really enforced ev…