urn:lsid:ibm.com:blogs:comments-8efbd6b5-b6cf-4f3f-a40d-2ef96ac2df9dIT Best Kept Secret Is Optimization (Comments)IT Best Kept Secret Is Optimization (Comments)0302482016-07-26T09:21:58-04:00IBM Connections - Blogsurn:lsid:ibm.com:blogs:comment-c08527d7-cf3d-4cb0-9043-7018c32f55afRe: Overfitting In Mathematical OptimizationJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-07-26T09:21:58-04:002016-07-26T09:21:58-04:00Irv,
thanks, fair enough, I agree with all your points. Running time isn't the only relevant metrics when it comes to optimization model selection.
My point about overfitting stands when you replace my 'runtime' metrics with your 'runtime combined with accuracy' metrics IMHO. You do not seem to disagree with that anyway.
Irv,
thanks, fair enough, I agree with all your points. Running time isn't the only relevant metrics when it comes to optimization model selection.
My point about overfitting stands when you replace my 'runtime' metrics with your 'runtime combined with ac...falsefalseRE: Overfitting In Mathematical Optimization0urn:lsid:ibm.com:blogs:comment-74e3c330-6c57-47e4-8429-7e2726d7709cRe: Overfitting In Machine LearningJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-07-26T09:17:35-04:002016-07-26T09:17:35-04:00Irv,
you are right, I am now using 'hold out data' when I pitch machine learning, rather than the ill defined 'test data'. I'll update this blog entry accordingly.Irv,
you are right, I am now using 'hold out data' when I pitch machine learning, rather than the ill defined 'test data'. I'll update this blog entry accordingly.falsefalseRE: Overfitting In Machine Learning0urn:lsid:ibm.com:blogs:comment-720fcba5-f763-4f0f-9e93-27a4ea53f65fRe: Overfitting In Machine LearningIrvL3100001UBCactivefalseIrvL3100001UBCactivefalseLikes2016-07-26T08:57:31-04:002016-07-26T08:57:31-04:00A note on terminology, which I think you use implicitly in your article, but I personally think you should be more explicit about. There is a nice article entitled "Measuring forecast accuracy" by Rob Hyndman here: http://www.robjhyndman.com/papers/forecast-accuracy.pdf . There he points out the uses of the terms "training data" and "test data" (my personal preference), and the use of some other equivalent terms that people use, where he writes:
'Some references describe the test data as the “hold-out set” because these data are “held out” of
the data used for fitting. Other references call the training data the “in-sample data” and the
test data the “out-of-sample data”.'
Anyhow, I think it would have been good if you explicitly called out the definitions of those terms in your article.A note on terminology, which I think you use implicitly in your article, but I personally think you should be more explicit about. There is a nice article entitled "Measuring forecast accuracy" by Rob Hyndman here: http://www.robjhyndman.com/papers/forecast-...falsefalseRE: Overfitting In Machine Learning0urn:lsid:ibm.com:blogs:comment-a01e47e2-3c04-45a5-ba71-634c99beb682Re: Overfitting In Mathematical OptimizationIrvL3100001UBCactivefalseIrvL3100001UBCactivefalseLikes2016-07-26T08:52:04-04:002016-07-26T08:52:04-04:00With respect to overfitting when creating a model, running time is not the only metric. You wrote: "It is therefore no surprise that OR practitioners spend significant time trying various models in order to find the one leading to best performance." I would say it differently, in that "OR practitioners spend significant time trying various models in order to find the one leading to the best combination of performance and model accuracy. " Often there is a tradeoff between getting a model that perfectly represents all the decisions needed in the business problem but that takes a long time to solve, versus a model that may include some simplifying assumptions about the business problem, but gives an answer in a reasonable amount of time. This is obviously application dependent. I'm not sure if there is a unifying measure of model accuracy, so it is difficult to measure overfitting with respect to model accuracy. IMHO, OR practitioners spend way too much time trying to get the "perfect" model to work well with the solver, without recognizing that a simpler model is good enough for the business problem. Or that a proof of optimality isn't absolutely necessary, and a solution that has a 10% MIP gap is good enough.With respect to overfitting when creating a model, running time is not the only metric. You wrote: "It is therefore no surprise that OR practitioners spend significant time trying various models in order to find the one leading to best performance." I wou...falsefalseRE: Overfitting In Mathematical Optimization0urn:lsid:ibm.com:blogs:comment-d4b17246-4291-4f26-a616-c1ab5891fd75Re: Machine Learning As Prescriptive AnalyticsJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-07-12T10:23:34-04:002016-07-12T10:23:34-04:00Hi Olivier,
very interesting comment, but I'm afraid I'll disagree with some of it.
I see you are now a proponent of deep learning. I know very well that the pitch for deep learning is that there is no need to do feature engineering anymore. It is my experience that this is not true, and that carefully crafted features improve deep learning effectiveness. I cannot disclose here more, but we can connect within IBM to discuss it.
I also smile when I hear that modeling is easier with ML. When you look at the deep learning architectures currently being built (e.g. http://culurciello.github.io/tech/2016/06/04/nets.html ), then I don't think you can say that this is not requiring very advanced skills. Modeling skills do not disappear, they move from feature engineering to neural network engineering.
For the rest you have a very good point: ML algorithms scale out with the number of examples, thanks to the use of gradient descent (or variants of it) as the main optimization algorithm. Other optimization algorithms like the ones we have in CPLEX may not scale out that easily.
Last, a feature often ignored by ML proponents is the need for annotated data to train models. It is also my experience that this is often a bottleneck, even more than having modeling skills. We have a similar bottleneck in mathematical optimization unfortunately: we need example problems to test and refine optimization models.Hi Olivier,
very interesting comment, but I'm afraid I'll disagree with some of it.
I see you are now a proponent of deep learning. I know very well that the pitch for deep learning is that there is no need to do feature engineering anymore. It is my exper...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-a3358a0d-f250-4809-baa5-262fccdf66f1Re: Machine Learning As Prescriptive AnalyticsOlivierCasile 060001UW0KactivefalseOlivierCasile 060001UW0KactivefalseLikes2016-07-12T09:22:30-04:002016-07-12T09:22:30-04:00Hi Jean-François, I totally agree with your explanations, i.e. ML (neural networks) is just a particular way to optimize the relationship between a given set of inputs and outputs, then to generalize that relationship to unknown inputs. One difference is however than when using optimization directly, only a part of the outputs are known (constraints), whereas in ML they are all known.
My impression (unproven) is that what make ML so popular is that the modeling effort is minimal. There are some known receives to apply appropriate NN topologies that give good results, whereas modeling an optimization problem is a science for a handful of experts like yourself. An other impression (unproven as well), is that the complexity of ML grows slower than the complexity of Optimization modeling when the number of input parameters grows.
And, eventually, ML can tackle problems for which the underlying parameters of the inputs are not really known, which makes their modeling impossible. For instance you can use ML for learning how human beings make decisions in complex situations (a doctor, a lawyer, etc.) by just observing what decision they make given all the information (structured and unstructured) available, which would be very difficult to model.Hi Jean-François, I totally agree with your explanations, i.e. ML (neural networks) is just a particular way to optimize the relationship between a given set of inputs and outputs, then to generalize that relationship to unknown inputs. One difference is howev...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-e0b08311-8c28-4891-9584-813252445525Re: Machine Learning As Prescriptive AnalyticsJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-06-17T04:24:08-04:002016-06-17T04:24:08-04:00Steve,
you are basically saying that machine learning minimizes the delta between predictions and actual values via gradient descent and that simplex algorithm is also a form of gradient descent.
I fully agree on that.
I will not go as far as saying that gradient descent is the best way to solve all optimization problems. We know for a fact that simplex is not always the best algorithm for solving linear programming for instance. Steve,
you are basically saying that machine learning minimizes the delta between predictions and actual values via gradient descent and that simplex algorithm is also a form of gradient descent.
I fully agree on that.
I will not go as far as saying that gr...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-8a4a4868-ba13-410f-9deb-082c6394ab6dRe: Machine Learning As Prescriptive AnalyticsJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-06-17T04:20:00-04:002016-06-17T04:20:00-04:00@optimized financial system
Thanks, this is interesting.
There is an active research area called active learning that seems similar to your Q learning applied to Atari games. The learning system produces instances that will help it most, then ask the user to label these examples.
I agree with your view that when the problem is well known, then optimization is superior, and that machine learning is best when little is known beside input output.@optimized financial system
Thanks, this is interesting.
There is an active research area called active learning that seems similar to your Q learning applied to Atari games. The learning system produces instances that will help it most, then ask the user to...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-e32727e3-e727-43f8-8ef0-c9c040880c52Re: Machine Learning As Prescriptive AnalyticsXC4B_Steve_Schultz270001XC4BactivefalseXC4B_Steve_Schultz270001XC4BactivefalseLikes2016-06-16T14:22:54-04:002016-06-16T14:22:54-04:00This is interesting, Jean-Francois. Thank you, by the way, for the original shout-out to my blog/ideas, and for renewing it here. My blog traffic went up measurably on Tuesday!
As far as the ML/Optimization question goes: I think that at some level it's a distinction without a difference. I am thinking about the earliest exposure I had to calculus, when we were taught about differentiation: you're basically solving continuity problems by decreasing deltas to a mathematical zero. Then, in the most basic of optimization questions - Linear Programming - you do essentially the same thing.
I think what you are arriving at is that you can use Machine Learning to solve optimization questions, because really, ML is about incrementally reducing deltas to zero, too. It's just that with ML, you're optimizing your equation before you know what it is. It's probably an expensive way to go about optimization, but as processing power continues to grow, the marginal expense of MLO - Machine Learning Optimization, if I may - will, ironically, decrease approaching zero. (Of course I'm not considering that the amount of data we need to process is growing, too. I wonder if anyone's ever studied the correlation of those growth rates? But that's another subject entirely.)
Maybe the fact that I'm not an operations researcher is making my perspective too broad?This is interesting, Jean-Francois. Thank you, by the way, for the original shout-out to my blog/ideas, and for renewing it here. My blog traffic went up measurably on Tuesday!
As far as the ML/Optimization question goes: I think that at some level it's a dis...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-2e3b5f18-3965-43ca-a409-a2dbeba093c0Re: Machine Learning As Prescriptive AnalyticsOptimized Financial Systems270006B4KKactivefalseOptimized Financial Systems270006B4KKactivefalseLikes2016-06-16T10:44:47-04:002016-06-16T10:44:47-04:00I have been doing some investigation into machine learning, or as it is sometimes known by its less-sexy name, statistical inference. One of the benefits of machine learning over the optimization that I have always used, is that machine learning does not need to know what the structure of a problem is. If you have a well-defined problem with clear relationships between actions and results, optimization will outperform ML.
On the other hand, ML excels when the rules aren't known. There was an interesting paper I read a while back about using Q-Learning to play Atari games. The Q-learning eventually learned to beat humans at many games. The algorithm to learn generally applied the same action in the same situation. Occasionally, the ML algorithm would throw out a completely random action to learn what the result of this new action in a situation would be. It is only by trying new things that the ML algorithm learns. The important aspect of this, is that if the learning algorithm doesn't try out the optimal action, then it is possible that ML will not get to the optimal solution. The benefit of being in an era where computing power is cheap is that ML can attempt many solutions, learn from them, and iteratively find better solutions.
That also brings up another point about ML and its relationship to forecasting: part of ML and finding good solutions is an "art". In the example of the Atari problem, when to try a new random solution is up to the user. If the frequency is too low, the new, possibly better solutions may not get tried out, and the ML algorithm will spend too much time tuning the "wrong" solution. If it is too infrequent, the ML algorithm spends too much time looking at a bunch of sub-optimal answers that are never likely to be part of the recommended actions. I have been doing some investigation into machine learning, or as it is sometimes known by its less-sexy name, statistical inference. One of the benefits of machine learning over the optimization that I have always used, is that machine learning does not need...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-e652e2b3-cd4c-4d36-9e85-61b2c527e47bRe: Machine Learning As Prescriptive AnalyticsJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-06-14T22:15:35-04:002016-06-14T22:15:35-04:00Paul,
thank you for this thoughtful comment. I tend to agree with you, your third option looks the most promising to me as well. N
ote that this is precisely how AlphaGo uses ML. ML is used to learn which moves should be explored by the randomized alpha beta tree search. ML is used to learn information used by a complex procedure that selects the next move to play. AlphaGo does not use ML to directly learn which move should be played next.Paul,
thank you for this thoughtful comment. I tend to agree with you, your third option looks the most promising to me as well. N
ote that this is precisely how AlphaGo uses ML. ML is used to learn which moves should be explored by the randomized alpha b...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-d03160fe-27ac-45ff-a94a-d540c1bfa375Re: Machine Learning As Prescriptive AnalyticsPaulRubin270002PQ11activefalsePaulRubin270002PQ11activefalseLikes2016-06-14T14:53:30-04:002016-06-14T14:53:30-04:00This is an interesting and timely entry. I recently saw a question on Quora about using ML for optimization.
I can envision three versions of training a ML algorithm to solve a (recurring) optimization problem. The first two involve constructing a function or black box (e.g., neural network) that transforms problem inputs into values of decision variables; they differ in the scoring function. In one case, you try to match the (known) optimal objective value; in the other, you try to match the (known) optimal decisions (perhaps by minimizing some norm of the difference). My concern with both of those is that I suspect the transformation from inputs to optimal decisions may be, for want of a better phrase, an arbitrarily weird function (nonlinear, nonpolynomial, discontinuous, ...), even for problems with straightforward statements and not terribly complicated models. That leaves me wondering whether the ML solution would indeed be optimal very often.
The third version would have the ML algorithm selecting rules, rather than values of decision variables. This could be something like the following for scheduling jobs on a single machine: use earliest due date to fill the first three slots; use shortest setup time to fill the next two slots; use FIFO on the remaining slots. (The sequence of rules would presumably be tied to the specific inputs in some learned way.) This version strikes me as more manageable from a learning standpoint (the data to rule mapping might be less "weird") but would clearly be more metaheuristic than optimization.
Also, ML algorithms are susceptible to overfitting when used for predictive purposes, and I suspect there's an analog when used for optimization purposes. As far as I can tell, while optimization models are occasionally "overkill", they're not "overfitted".
This is an interesting and timely entry. I recently saw a question on Quora about using ML for optimization.
I can envision three versions of training a ML algorithm to solve a (recurring) optimization problem. The first two involve constructing a function or...falsefalseRE: Machine Learning As Prescriptive Analytics0urn:lsid:ibm.com:blogs:comment-a68fecb7-0bd2-4ccf-bd24-9ce866327a36Re: Data Science AutomationJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-05-13T13:52:22-04:002016-05-13T13:52:22-04:00Thanks Pete, agreed.Thanks Pete, agreed.falsefalseRE: Data Science Automation0urn:lsid:ibm.com:blogs:comment-0e898c21-0696-4be3-a15c-7ac2b687e16eRe: Data Science Automationpjcpjcpjc270006WTXBactivefalsepjcpjcpjc270006WTXBactivefalseLikes2016-05-13T13:20:57-04:002016-05-13T13:20:57-04:00In general your final paragraph is good advice in general. The safe side is to understand a range of mathematics, develop experience in mapping that math onto business problems, continue learning the specific technologies involved in deployment. The last item is always in flux but the first two are evergreen.In general your final paragraph is good advice in general. The safe side is to understand a range of mathematics, develop experience in mapping that math onto business problems, continue learning the specific technologies involved in deployment. The last item...falsefalseRE: Data Science Automation0urn:lsid:ibm.com:blogs:comment-43d599b2-4545-444a-bb76-bf4774ea2051Re: Machine Learning Algorithm != Learning MachineJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-05-03T13:24:12-04:002016-05-03T13:24:12-04:00Ilya,
you are right, there is nothing new here from a scientific point of view. We can track similar idea back to early work in the statistical community, even before Wiener cybernetics.
What is new is that these idea can now be implemented effectively. My post was just about pointing out some of the things that need to be sorted out when implementing learning machines.Ilya,
you are right, there is nothing new here from a scientific point of view. We can track similar idea back to early work in the statistical community, even before Wiener cybernetics.
What is new is that these idea can now be implemented effectively. M...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-4e3bdc41-e686-4a80-a5c2-d55febc96d91Re: Machine Learning Algorithm != Learning MachineIlya Geller3100006MSTactivefalseIlya Geller3100006MSTactivefalseLikes2016-05-03T05:46:00-04:002016-05-03T05:46:00-04:00my structuring of unstructured data is the only novelty since computer began to exist, nothing else had ever happened. what you wrote is known since Wiener N. “Cybernetics", sorry - you cannot add anything to Wiener.my structuring of unstructured data is the only novelty since computer began to exist, nothing else had ever happened. what you wrote is known since Wiener N. “Cybernetics", sorry - you cannot add anything to Wiener.falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-a4ffdde9-c91d-4eb7-8447-453282305531Re: Machine Learning Algorithm != Learning MachineIlya Geller3100006MSTactivefalseIlya Geller3100006MSTactivefalseLikes2016-05-03T05:15:21-04:002016-05-03T05:15:21-04:00what new happened that made Machine Learning suddenly so popular?
I happened. structuring of unstructuring data happened. I own the patentswhat new happened that made Machine Learning suddenly so popular?
I happened. structuring of unstructuring data happened. I own the patentsfalsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-208bb93a-38f1-451b-8474-4f9cc2812151Re: Machine Learning Algorithm != Learning MachineJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-05-02T14:31:48-04:002016-05-02T14:31:48-04:00Pete,
thank you. I agree that data exploration is key. In defense of my editorial decision, I'd say that data exploration, feature engineering, hyper parameter optimization, cross validation strategies, etc, are quite well covered in other blogs. I saw little discussion of the end to end life cycle.
To your point, I think I'll try to cover those other pieces of the ML process in future posts.Pete,
thank you. I agree that data exploration is key. In defense of my editorial decision, I'd say that data exploration, feature engineering, hyper parameter optimization, cross validation strategies, etc, are quite well covered in other blogs. I saw lit...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-e7897644-4d4f-48b4-a96f-288c3524c443Re: Machine Learning Algorithm != Learning Machinepjcpjcpjc270006WTXBactivefalsepjcpjcpjc270006WTXBactivefalseLikes2016-05-02T14:16:53-04:002016-05-02T14:16:53-04:00Great post!
My only criticism is that you over emphasize the importance of automated "re-training" and under emphasize the importance of data exploration.
It's incumbent upon vendors to facilitate the task of determining which ML algorithm is most appropriate for the data set in question. This assessment includes not just trying different algorithms, but trying different parameters for each algorithm in question.
This importance of whether or not the predictor model is updated daily, weekly, monthly or quarterly will pale in comparison to the quality of the decision in selecting your algorithm and settings. Indeed, I would go so far as to suggest periodic reassessments to insure your original decision was correct.
I recognize your comment that exploration/assessment is beyond the scope of this post. I'm criticizing (gently, politely) that editorial decision. I would categorize incremental vs bulk machine learning algorithms as being an advanced topic that can be postponed for a deeper dive, and assessment/exploration as being the critical step that cannot be waved off. Great post!
My only criticism is that you over emphasize the importance of automated "re-training" and under emphasize the importance of data exploration.
It's incumbent upon vendors to facilitate the task of determining which ML algorithm is most appropria...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-46eb0369-6d6a-49e4-9926-e0c95bf578f5Re: Machine Learning Algorithm != Learning MachineJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-04-29T12:42:32-04:002016-04-29T12:42:32-04:00Wolfgang, yes, creating the right model is difficult. To your point, deciding which features should be taken into account is difficult. Selecting the right machine learning algorithm is difficult. Selecting the parameters of that algorithm is difficult. Deciding how to evaluate models is difficult. Solving all of these is necessary, but it will only get you a model.
The point of this blog is that creating model isn't enough because there are many more difficult pieces.Wolfgang, yes, creating the right model is difficult. To your point, deciding which features should be taken into account is difficult. Selecting the right machine learning algorithm is difficult. Selecting the parameters of that algorithm is difficult. De...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-8236bf9c-dd83-49ae-a550-2907df04957cRe: Machine Learning Algorithm != Learning Machinewomawil 3100026M2Hactivefalsewomawil 3100026M2HactivefalseLikes2016-04-29T09:34:38-04:002016-04-29T09:34:38-04:00Thank you, very good explanation to get a feeling.
But the answer does not seem that easy.
There are 1000 or more criteria to decide on a house and it can be neighborhood, air polution, access to public transport.......
For a game like chess and go you know the limited amount of rules and you can play and learn.
For other questions you do not even know what are the right criteria and measurements....
Okay the Amazon answer for "Many who do buy a SD card also buy carrots" might work and might even work for additional sales incentive if it is not true and you propose a random product....
Greetings
Wolfgang
Thank you, very good explanation to get a feeling.
But the answer does not seem that easy.
There are 1000 or more criteria to decide on a house and it can be neighborhood, air polution, access to public transport.......
For a game like chess and go you know...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-7b36bfb1-d9a7-4ab7-bd40-9bd0e0eaba5dRe: Machine Learning Algorithm != Learning MachineJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-04-29T03:58:52-04:002016-04-29T03:58:52-04:00Hi James,
I am not sure I understand what you don't find clear enough, but let me try to explain better a point that may be related to your question.
What i am not sure about is what you mean by 'running the correlations'. There are two ways to understand it: running an algorithm that discovers correlations, or running an algorithm that uses the correlations to make a prediction.
There are two ingestion points, one shown in the above, one not shown, which may explain the issue. The first ingestion point is to get training data. In my housing example, data comes from actual sales. You need to get that data from somewhere into the system. That's the ingestion shown above. As times go by, new sales are made, and you want to benefit from these by adding their data to the training data. That's the feedback loop. From the training data you find a model (correlations in your own words). For instance, you find a correlation between the sales price and features of the house.
Then there is the prediction part. there you also ingest data, but it is different than the training data. indeed, you don't have a price because the sale hasn't occurred yet. You get house features, and you want to estimate the price at which it will be sold. You then use the correlations you found earlier to compute a price. That price is a predicted price, it is not the actual sales price as the sale hasn't occurred.
Assuming you speak about the ingestion point for training data, then you are right. Ingestion is simply about adding data to the training data set. When there is additional data, we add it. This may seem simple, but often it is not that simple. A key point is to get the right label, i.e. the value for the data we want to learn how to predict. In the case of housing market this may be simple, we just need to get the actual sales price. In other cases, it can be quite tricky, see for instance: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Some_Limit_To_Supervised_Learning?lang=en
Anyway, thank you for asking, I will try to b clearer in a future post.
Hi James,
I am not sure I understand what you don't find clear enough, but let me try to explain better a point that may be related to your question.
What i am not sure about is what you mean by 'running the correlations'. There are two ways to understand it...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-3eb39bb3-7220-42c3-9582-3203a46ea32eRe: Machine Learning Algorithm != Learning MachineJMMurphy 270005A2VJactivefalseJMMurphy 270005A2VJactivefalseLikes2016-04-28T13:59:44-04:002016-04-28T13:59:44-04:00Hi JFP,
If you are using some sort of correlation(s) to develop your prediction model, what is the difference between the ingestion step and simply adding the new data point to the data set and re-running the correlations(s).
I completely understand the need for this automated loop in the learning process, but could you provide a little more information on exactly what happens during the ingestion step?Hi JFP,
If you are using some sort of correlation(s) to develop your prediction model, what is the difference between the ingestion step and simply adding the new data point to the data set and re-running the correlations(s).
I completely understand the need...falsefalseRE: Machine Learning Algorithm != Learning Machine0urn:lsid:ibm.com:blogs:comment-b201baed-14d2-4329-8c7c-3fa7568bddbdRe: How To Highlight Jupyter Code In BlogsJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-03-19T09:31:28-04:002016-03-19T09:31:28-04:00I've started with vt220 terminals, there was one color: green. But we were pesky compared to those who were using punch cards...I've started with vt220 terminals, there was one color: green. But we were pesky compared to those who were using punch cards...falsefalseRE: How To Highlight Jupyter Code In Blogs0urn:lsid:ibm.com:blogs:comment-bfd7f42c-5b06-4254-a101-5f08e0f9c8e7Re: How To Highlight Jupyter Code In Blogspjcpjcpjc270006WTXBactivefalsepjcpjcpjc270006WTXBactivefalseLikes2016-03-15T15:25:48-04:002016-03-15T15:25:48-04:00"but it seems that things have changed now, and that colors are required. "
Kids these days with their pesky colors ;)
Back in my day, we used VI on a terminal and liked it!"but it seems that things have changed now, and that colors are required. "
Kids these days with their pesky colors ;)
Back in my day, we used VI on a terminal and liked it!falsefalseRE: How To Highlight Jupyter Code In Blogs0urn:lsid:ibm.com:blogs:comment-ad0247d2-7d78-4942-be7c-3143c9b8ac01Re: Operational Data Science: Part 2JeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-02-24T03:48:19-05:002016-02-24T03:48:19-05:00Thank you Irv, the CAP job task analysis is indeed a nice refinement of the above.Thank you Irv, the CAP job task analysis is indeed a nice refinement of the above.falsefalseRE: Operational Data Science: Part 20urn:lsid:ibm.com:blogs:comment-67a653ac-789c-43b5-b221-1b05584e9732Re: Operational Data Science: Part 2IrvL3100001UBCactivefalseIrvL3100001UBCactivefalseLikes2016-02-23T15:19:57-05:002016-02-23T15:19:57-05:00You might also want to refer to the Job Task Analysis for Certified Analytics Professionals developed by INFORMS. See https://www.informs.org/Sites/Certified-Analytics-Professional-Program/Applicants/Analytics-Job-Task-Analysis
The Life-Cycle Management domain is listed, and is often missed by many practitioners of analytics and data science.
You might also want to refer to the Job Task Analysis for Certified Analytics Professionals developed by INFORMS. See https://www.informs.org/Sites/Certified-Analytics-Professional-Program/Applicants/Analytics-Job-Task-Analysis
The Life-Cycle Management doma...falsefalseRE: Operational Data Science: Part 20urn:lsid:ibm.com:blogs:comment-87d4521f-1f61-48c2-91bc-61d61dac7050Re: Why PythonJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-02-08T04:41:23-05:002016-02-08T04:41:23-05:00Paul, you are right, and I hope I did not imply that R was a bad choice. It must be popular for good reasons after all.
The GPL license is what kills it for commercial software. Out of commercial software R is certainly a choice that can make sense.
Another reason to favor Python for me is that R is quite slow compared to Python packages in my experience. However, last time I wrote this, I got feedback on ways to speed R I wasn't familiar with, hence I am now more cautious about this.Paul, you are right, and I hope I did not imply that R was a bad choice. It must be popular for good reasons after all.
The GPL license is what kills it for commercial software. Out of commercial software R is certainly a choice that can make sense.
Ano...falsefalseRE: Why Python0urn:lsid:ibm.com:blogs:comment-3dd53e4a-4a50-4838-a9bb-d24ed8ddb878Re: Why PythonPaulRubin270002PQ11activefalsePaulRubin270002PQ11activefalseLikes2016-02-07T17:03:19-05:002016-02-07T17:03:19-05:00While I agree with a number of your opinions, you can indeed code arbitrary algorithms in R. Also, the R ecology has packages for connecting to a variety of online data sources. Perhaps most importantly, you not only can build web sites with R (and Shiny), but they are easily made interactive with the data and analysis.While I agree with a number of your opinions, you can indeed code arbitrary algorithms in R. Also, the R ecology has packages for connecting to a variety of online data sources. Perhaps most importantly, you not only can build web sites with R (and Shiny), but...falsefalseRE: Why Python0urn:lsid:ibm.com:blogs:comment-ead93997-2b23-425a-8ffd-08e370041786Re: Why PythonJeanFrancoisPuget2700028FGPactivefalseJeanFrancoisPuget2700028FGPactivefalseLikes2016-02-04T12:16:02-05:002016-02-04T12:16:02-05:00@mkeller
One thing that may help. Spark ML seems to be quite good at providing a Python API that matches the Scala API. for instance PCA is available in both:
Scala
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.ml.feature.PCA
Therefore, I recommend you rather use ML instead of MLLib.
Unfortunately, it does not solve everything. For instance, SVD is not (yet) available in Spark ML. It is only available, in Scala, in Spark MLLib.
@mkeller
One thing that may help. Spark ML seems to be quite good at providing a Python API that matches the Scala API. for instance PCA is available in both:
Scala
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.ml.feature.PCA...falsefalseRE: Why Python0