Which would be the sort of thing statisticians live with all the time, except that Kaggle then makes it winner take all.
935 karma · joined November 17, 2010
Which would be the sort of thing statisticians live with all the time, except that Kaggle then makes it winner take all.
So, why do you believe this isn't happening when hundreds of people submit their models to be scored against a secret hold-out set? Is there any evidence that the hundreds of entries are forming a better distribution of accuracy scores than random models? Is there evidence the winners of these competitions truly have better models and don't just have a luckier placement in a random distribution of accuracy scores?
- Facebook profiles can be made inaccessible to non-friends. People who post pictures of themselves naked and using drugs use this feature.
- The hypothetical conclusions drawn are only possible if users post extremely frequently and in great detail. Otherwise, the predictive analytics will suffer from garbage-in-garbage out. Huge companies spend millions of dollars collecting decent data, and the claim here is that a 16 yr-old's facebook profile will have high quality data.
- If the situation presented in the article gets even close to coming true, people will know about it and compensate. The end game won't be all-knowing companies, it'll be SEO for social media profiles that make people look good for a fee.
[edit: removed meanness]
I typically build full stack prototypes or the "analytics" component of early stage products.
Primary Tools: Java, Ocaml, Ubuntu, Rackspace Servers, Git, SVN, J2EE/Maven/Jetty.
Secondary Tools: Ruby, Python, Django, Mercurial, Postgres, MySql, Twitter Bootstrap.
Up to 6 month contracts.
I'm doing freelance work to bootstrap my company, designbyrobots.
Demo Video:
http://designbyrobots.com/2011/09/06/automated-design-of-tra...
Resume:
Right. This is common-sense UI design. Why would it be better to see a lot of information that no one can do anything with?
The successful projects also aren't actionable, those probably get displayed for purely marketing purposes. That seems like a pretty normal sales tactic (like testimonials on an infomercial).
That's pretty much what I do, and I wouldn't want to have to maintain an additional "personal heroku server" that would automate the deployments in the way you're talking about.
Disclosure: Ocaml is my favorite language by far.
Companies that complain about not being able to afford decent developers are just saying they don't have a strong enough company to cover the costs of the inputs to their business. It doesn't matter if the input is oil, steel, baking powder, or software developers.
Companies that can afford high developer salaries when there is a shortage are the ones that get a high enough ROI on a developer's time that they can actually buy more of that time at the current market rates, and still have enough left over to pay the executives.
It's not about being cheap vs. generous.
1) The people looking for outside help probably don't have ANY model, so baselines are difficult. (I use synthetic baselines like just predicting the average of the predicted variable every time, and that's a very valuable tool, but I don't think you could get paid by beating them.)
2) When would you cut your losses on a failed project and move on? That would be incredibly difficult to do on a project that you had spent weeks or months on and not been paid. It's like cutting your losses on a failed trade in the stock market... it seems like it would be easy and obvious until you actually experience it yourself.
3) Once a company was in a position to take you up on their offer, they might as well post it on Kaggle and get a hundred people to work on it for peanuts. I'm really rooting for Kaggle b/c one of their long term goals is to let people like you (and me) make a living doing analytics work like you describe. But right now they just don't have the volume and all the projects pay out just a few thousand dollars (and only if you beat the other hundred participants).
4) If I was a company, and didn't have the expertise in house to build the model myself, I'd be wary I was really getting what I paid for. If I'm paying for a 10% boost in accuracy, how do I measure it rather than just taking your word for it?
I'm only half kidding. I can remember writing my first report (project summary) when I did a contract right after grad school. I put in maybe 5 graphs. Two looked good, three looked bad. The project manager just deleted the bad looking graphs and sent it on to the client.
This is a killer in machine learning applications. The toolsets rarely cover the entire extent of what needs to be done, so at least some custom code needs to be written. But results aren't deterministic - you don't really know if it's going to work until you run it. Several iterations are often needed to get to the first useable results. It has all the problems of building any piece of software, plus another layer of risk that the accuracy just won't be there with the first thing(s) you try.
My point is... actually agreeing to be the machine learning guy on a project totally sucks because time estimates are almost meaningless, and the modern business culture is to label anything late as a failure.
advertising securities to the general population isn't guaranteed disaster.
For all the talk of how much angel and V.C. money is available for young companies, it's not going to do much if investors won't branch out into ACTUALLY new product areas.
If you were to try to address every possible independence assumption in practice, you'd never get through a research project, let alone get a real product out the door as this company has done.
[Edit: syntax]
Launching a satellite these days is a relatively known quantity whereas many horrifically over-budget government projects are doing things no one has ever done before.
The problem with GA's is that they frequently exploit loopholes in their setups, so you get solutions that technically satisfy your evaluation criteria but it's not what you really want. This process is basically what corporate accountants do manually to get ridiculously low tax rates for big companies. Congress writes the tax code but it will always have loopholes, and GA's will definitely find them.
Here's a recent blog post of mine that goes into some of the problems with GA's, which when you're looking for loopholes is actually a huge advantage:
http://designbyrobots.com/2012/03/29/evolution-is-cleverer-t...
So maybe something like "blink speed." (Then we'd have blink speed apps on retina displays.)
Focus on how good your company is on running an engineering department. Especially if you're a startup.
Do you have a VP of engineering who knows what the hell they're doing? Do you insulate the devs from sales people making ridiculous promises? Is your code base in good shape so someone can come in and make a difference without having to learn the complete spaghetti stack? Do you have a well designed deployment procedure that has dev, test, and production environments?
How do you approach scheduling? I'd say this is the number one issue that leads to bad experiences for developers, so tell us up front that you have this under control. Do I ever have to hear a business guy say "I don't see why that would take more than a few minutes..."
In other words, prove that every problem isn't solved with "developers work more hours."
Say something that at least implies you know that these issues exist. They are much more important than ping pong tables and calling each other ninjas. I bet you'll find plenty of pro developers who are sick of their current employer if you do.
Imagine if developers actually learned something about running a software company just from your job ad itself. That would be amazing. I would point to JoelOnSoftware as proof it would work.
I've been on python projects that need to grow but struggle b/c all the things that make it easy to get a lot done the first few weeks become liabilities very soon. Adding developers to a project that doesn't declare types and encourages just passing around hashmaps is brutal. All the stuff you can't do in Java makes it easy for someone else to understand it and edit it.
I would believe that C# might be a bit better but only being fully supported on MS is a non-starter for many server side situations.
I'm not a security expert (obviously), so maybe I'm wrong, but in general I don't see how they'll be able to build new monster computing facilities as fast as consumer hardware can be upgraded to use slightly stronger encryption.