AI because why not.


  • Banned

    @dkf said in The Official Funny Stuff Thread™:

    Machine learning is all “curve fitting” except in a much higher dimensional space

    I wouldn't say that's entirely accurate. Curve fitting is taking a static data set and trying to figure out the best approximation that would also work for future static data sets. Whereas in driving the car, the data isn't static, in the sense that the sensory input at time T depends on the algorithmic output at time T-1 (and all the previous outputs in some degree). If you turn less at T-1, you'll be in a different spot at T.

    @dkf said in The Official Funny Stuff Thread™:

    The big problem with that is how to not match the (inevitably present) noise as well (this is the overfitting problem and almost all things that people make fun of AI over are due to it);

    The noise and the overfitting are two separate problems. You can have a 100% noiseless, super accurate, super precise dataset with zero measurement error anywhere, and still overfit.

    Combining these sorts of things properly is still a research-grade problem. The details of how it should be done are definitely not fully understood.

    From what I remember, it was research-grade not because it's not fully understood, but rather because we lack the computational power to use those algorithms in practice for real world problems and so non-genetic learning algorithms are used instead. But maybe I remember wrong.


    Now I wonder. Did the world move from underneath me and the words don't mean what they used to mean anymore? Did machine learning stop being a super generic term encompassing almost every branch of AI research and became a designation specifically for the very narrow class of algorithms useful for image processing, financial forecasting and almost nothing else?



  • @Gąska said in AI because why not.:

    I wouldn't say that's entirely accurate. Curve fitting is taking a static data set and trying to figure out the best approximation that would also work for future static data sets. Whereas in driving the car, the data isn't static, in the sense that the sensory input at time T depends on the algorithmic output at time T-1 (and all the previous outputs in some degree). If you turn less at T-1, you'll be in a different spot at T.

    That's just adding some additional dimensions. I.e., think of curve fitting in the state/phase space.

    Edit:

    Did machine learning stop being a super generic term encompassing almost every branch of AI research and became a designation specifically for the very narrow class of algorithms useful for image processing, financial forecasting and almost nothing else?

    Yeah, I've noticed the latter too. There's much more interesting stuff in machine learning than just neural networks. I find talking about stochastic optimization helps occasionally, as it won't lead people to jump to conclusions about the methods too early.

    I've never really understood why anybody would equate AI with machine learning one way or another. AI is much broader, and there's plenty of AI that doesn't involve anything machine-learning like (or even stochastic optimization). I also don't really see ML as a subfield of AI. The two overlap, but calling something like an image filter "AI" is terribly useful IMO. (I seem to be a bit of a minority in the latter. I don't care that much - AI is so overloaded/broad that it's more or less useless as a categorization.)


  • Banned

    @cvi said in AI because why not.:

    @Gąska said in AI because why not.:

    I wouldn't say that's entirely accurate. Curve fitting is taking a static data set and trying to figure out the best approximation that would also work for future static data sets. Whereas in driving the car, the data isn't static, in the sense that the sensory input at time T depends on the algorithmic output at time T-1 (and all the previous outputs in some degree). If you turn less at T-1, you'll be in a different spot at T.

    That's just adding some additional dimensions. I.e., think of curve fitting in the state/phase space.

    If the output is a continuous range, doesn't that result in infinitely many dimensions, though? How do you encode spacetimecausality in an N-dimensional vector in a way that doesn't end up with combinatorial explosion?



  • @Gąska I don't think it matters that the output is a continuous range. The size of the state/phase space only depends on the number of variables that you need to describe states in the system. (Which isn't to say that it isn't very high-dimensional.)

    To go back to your example above with the car driving. At each time T, you have a state. Your output depends on this state, and on this state only. The state may depend on earlier decisions/states, but it doesn't necessarily encode all of history uniquely (meaning you can't necessarily go from T to a T-1 in an unique way).

    Also, in practice, you can't keep all history around. Even if you explicitly propagate history, it's usually for a fixed amount of time. (And, if you're into ML, you can try let the networks figure out what they want to keep around.)


  • Banned

    @cvi you kinda got the problem backwards. It's not about changing the current action based on prior action. It's about changing the current action based on future action, which will be selected based on future state, which is dependent on current action. Therefore, to know which action is the best one right now, you also must consider what actions will be possible in the future depending on what you choose now. That doesn't sound like something that can adequately be encoded in N-dimensional vectors, no matter how large N is. I'm no expert but it seems to me that an algorithm that's aware of passing time and the causal link between current actions and future parameters would do much better than any literal curve-fitting algorithm no matter how many dimensions and how much data it has. Which suggests the problem at hand is fundamentally different from literal curve-fitting. But as I said, I'm no expert.


  • Banned

    Or to make a non-car example. A similar problem appears in chess - what is a good move now depends on what is a good move in the future and what state that future good move requires and what you can do to make that future good state happen.

    If all ML is curve-fitting, then either curve-fitting makes for a good chess bot, or chess bots aren't ML.



  • @Gąska Ok, fair. I didn't get that from your initial post in this thread. The part about making different decisions at T-1 makes a bit more sense in this context.

    FWIW, I would also traditionally associate a different class of methods with that kind of problem.

    But, I still think the same ideas apply. You make decisions based on the current state S - it's not like you can do anything else. A certain state S gives you a decision d. During training, you train the system such that the decisions d lead you towards a desirable future state. The utility function you use during training would then need to encode the likelihood of reaching that desired state in the end. Makes training a bitch.

    If you want to think of it in terms of a traditional minimax algorithm. Instead of doing the recursive exploration of the states that you can reach from your current state, you "cache" the results of this with your ML technique. (There are probably smarter ways to go about this.)


  • Discourse touched me in a no-no place

    @Gąska said in AI because why not.:

    If all ML is curve-fitting, then either curve-fitting makes for a good chess bot, or chess bots aren't ML.

    The thing you're missing is that this is in a very high dimensionality abstract space. Part of that abstract space can include the history of previous decisions (if the network is recurrent). When an ML-based chess bot is made, it's trained on a lot of records of existing games so that it is likely to choose moves similar to those made before; it's curve-fitting the whole history of chess games.

    I make no claim that this a good approach.



  • @Gąska said in AI because why not.:

    an algorithm that's aware of passing time and the causal link between current actions and future parameters would do much better than any literal curve-fitting algorithm

    Not an expert either but as I understand it, the curve fitting happens in the training (i. e. machine learning) phase. The resulting curve is the "algorithm that's aware of passing time and the causal link between current actions and future parameters". When making a decision, you evaluate that curve with the current state and each possible action as input, and choose the action for which the output of the curve is minimal. In this phase there's no machine learning going on (though you can feed the actual outcome of the chosen action back into your curve fitting algorithm to try to improve the fit).



  • Your example of teaching an algorithm to drive (or any kind of reinforcement learning) is very good because, on the one hand, it's just a fancy score maximiser, while on the other hand, the machine is literally learning to do stuff in simulated or even real world.

    Genetic algorithms could be just function optimizers, but I guess they could be machine learning, too.

    Two points, though:

    Is it looking for a relationship between some x and some y? No.

    AFAIK, it's usually implemented as a function taking some state (game screen, inputs from car sensors, whatever) and returning the optimal action maximising some kind of score (game score, getting the car closer to objective while satisfying safety conditions, whatever). The trick to maximise the overall score in the future instead of getting stuck with short-term gains obtainable now shouldn't be lost on the model, either. I think it's possible to call the state X and the action y, though of course it's not a classical regression problem.

    machine learning is any kind of computer algorithm that modifies its answers based on prior results

    I don't have a definition I would swear by (and I don't want to pick holes in yours, either). I'd say that machine learning methods should be data-driven as opposed to having a physical model of the process. It also tends to have a lot of parameters to optimise, much more than "classical" models tend to have. But this tends to include stuff like interpolation and and smoothing methods (e.g. LOESS), which doesn't feel like machine learning.

    Hmm. Is PLS machine learning? It has a clear underlying model (they all do, of course, but it's sometimes more vague) and is a relatively straightforward regression method, but people around me would tend to call it machine learning. If not, then SVM with radial basis functions is definitely machine learning (at least according to people here), despite it's not that much more complicated. (The data is just preprocessed to vastly increase dimensionality in an attempt to handle nonlinear effects by throwing more linear stuff at them.)

    Would you say PLS or SVM matches your idea of "modifies its answers based on prior results"?


  • Discourse touched me in a no-no place

    @aitap said in AI because why not.:

    Is PLS machine learning?

    Perhaps, but with an incredibly restricted space of possible models that it can construct. (Basically the algorithm only builds linear models without recurrence terms.)


  • ♿ (Parody)

    @Gąska said in AI because why not.:

    @dkf said in The Official Funny Stuff Thread™:

    @dkf said in The Official Funny Stuff Thread™:

    The big problem with that is how to not match the (inevitably present) noise as well (this is the overfitting problem and almost all things that people make fun of AI over are due to it);

    The noise and the overfitting are two separate problems. You can have a 100% noiseless, super accurate, super precise dataset with zero measurement error anywhere, and still overfit.

    Eh, I wouldn't call them separate, exactly. Lots of overlap and dependency.

    Now I wonder. Did the world move from underneath me and the words don't mean what they used to mean anymore? Did machine learning stop being a super generic term encompassing almost every branch of AI research and became a designation specifically for the very narrow class of algorithms useful for image processing, financial forecasting and almost nothing else?

    Yeah, to me, it seemed obvious that GAs were machine learning. I haven't heard anything so far in here to convince me otherwise, though obviously I acknowledge that language development doesn't have to make sense.


  • ♿ (Parody)

    @Gąska said in AI because why not.:

    Or to make a non-car example. A similar problem appears in chess - what is a good move now depends on what is a good move in the future and what state that future good move requires and what you can do to make that future good state happen.

    If all ML is curve-fitting, then either curve-fitting makes for a good chess bot, or chess bots aren't ML.

    The fitting is based on some objective function that you've defined and then optimizing that for some desired outcome. It might or might not be a very good function (in lots of ways). Doesn't make it not "curve fitting," which is a pretty broad analogy here.



  • @boomzilla said in AI because why not.:

    Yeah, to me, it seemed obvious that GAs were machine learning.

    Funny, to me it seemed obvious that GAs aren't machine learning, though I can't really put my finger on why...

    In my opinion the confusion and differences of understanding here come from a conflagration of domains: machine learning is a domain of problems, namely the problems that involve mechanically building a useful model based on a collection of individual examples. GAs, NNs, various regression methods, and so on, are techniques which can be applied to these, or possibly other, problems. So the answer to "are these machine learning* is "no", while the answer to "can these be used to solve machine learning problems" is "yes".

    (AI, meanwhile, doesn't really mean anything and never has, apart from the fluffy desire to anthropomorphize computers)


  • ♿ (Parody)

    @ixvedeusi said in AI because why not.:

    In my opinion the confusion and differences of understanding here come from a conflagration of domains: machine learning is a domain of problems, namely the problems that involve mechanically building a useful model based on a collection of individual examples. GAs, NNs, various regression methods, and so on, are techniques which can be applied to these, or possibly other, problems. So the answer to "are these machine learning* is "no", while the answer to "can these be used to solve machine learning problems" is "yes".

    Hmm. I guess to me ML was the action of the learning, not the problem it was trying to solve.



  • @boomzilla said in AI because why not.:

    Hmm. I guess to me ML was the action of the learning, not the problem it was trying to solve.

    Hm, maybe? Though I'm not quite certain how different what you're saying is from what I'm trying to say. In the context of ML, the "action of learning" is *building a useful model based on a collection of individual examples". So to build something that "does ML," you need to solve the "ML problem". This might possibly be done by applying one or more of the techniques cited above, and/or some other techniques.

    To go with a programming metaphor for once, my main claim is that "machine learning" is a concept from the problem (or business) domain, while "genetic algorithm" (and also "neural network") is a concept from the program domain.


  • ♿ (Parody)

    @ixvedeusi said in AI because why not.:

    To go with a programming metaphor for once, my main claim is that "machine learning" is a concept from the problem (or business) domain, while "genetic algorithm" (and also "neural network") is a concept from the program domain.

    Yeah, that just doesn't make any sense to me, I'm afraid.TDEMSYR

    Whew. That was close.



  • @boomzilla said in AI because why not.:

    TDEMSYR

    😿


  • Considered Harmful

    @aitap said in AI because why not.:

    But this tends to include stuff like interpolation and and smoothing methods (e.g. LOESS), which doesn't feel like machine learning.
    Hmm. Is PLS machine learning? It has a clear underlying model (they all do, of course, but it's sometimes more vague) and is a relatively straightforward regression method, but people around me would tend to call it machine learning. If not, then SVM with radial basis functions is definitely machine learning (at least according to people here), despite it's not that much more complicated. (The data is just preprocessed to vastly increase dimensionality in an attempt to handle nonlinear effects by throwing more linear stuff at them.)

    Ah, yes. :nods sagely: Cricket is a fascinating sport.


  • Notification Spam Recipient

    @Gąska said in AI because why not.:

    the words don't mean what they used to mean anymore?

    Always.


Log in to reply