> Each of them is a transformer that utilizes y during fit, where y is a
usual vector of labels of training samples, just like in case of
classification.
I am actually confused by this. How are you going to encode the
similarities / dissimilarities between samples if y is a vector?
> Another possible application is getting a similarity matrix according to
the metric learned. Thus, there will be 2 transformers for each algorithm:
one maps input data from the original space into a linearly transformed
one, and the other maps input data into a square similarity matrix, that
can be used for clustering, for example.
Please give a code example in your proposal to see how this would look like.
M.
On Thu, Mar 26, 2015 at 5:18 AM, Artem <barmaley....@gmail.com> wrote:
> Ok, so I removed matrix y from the proposal
> <https://github.com/scikit-learn/scikit-learn/wiki/GSoC-2015-Proposal:-Metric-Learning-module>.
> Therefore I also shortened the first iteration by one week, since no
> changes to the current code are needed.
>
> This allowed me to extend the last iteration by one week, which makes
> kernel ITML a bit more probable.
> I'm going to send this proposal to melange tomorrow, so if you have
> comments — please reply.
>
> Also, if some of previous objections were not addressed, please repeat
> them. I might have missed something.
>
> On Wed, Mar 25, 2015 at 5:05 AM, Mathieu Blondel <math...@mblondel.org>
> wrote:
>
>> I think the problem with matrix-like Y is that Y would be symmetric. Thus
>> for doing cross-validation one would need to select both rows and columns.
>> This is why I suggested to add a _pairwise_y property like the _pairwise
>> property that we use in kernel methods, e.g.,
>>
>> https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/kernel_pca.py
>>
>> This project could potentially be developed in a separate git repo. This
>> would take off the pressure of having to design a perfect API. This will of
>> course depend on how many slots we get and how we want to prioritize them.
>>
>> M.
>>
>> On Wed, Mar 25, 2015 at 10:04 AM, Vlad Niculae <zephy...@gmail.com>
>> wrote:
>>
>>> Hi Artem, hi everybody,
>>>
>>> There were two API issues and I think both need thought. The first is
>>> the matrix-like Y which at the moment overlaps semantically with multilabel
>>> and multioutput-multiclass (though I think it could be seen as a form of
>>> multi-target regression…)
>>>
>>> The second is the `estimator.metric` which would be a new convention.
>>> The problem here is proxying fit/predict/{set|get}_params calls to the
>>> parent, as Joel noted.
>>>
>>> IMHO the first is slightly less scary that the second, but I’m not sure
>>> where we should draw the line.
>>>
>>> A few thoughts and questions about your proposal, on top of the
>>> excellent comments the others gave so far:
>>>
>>> The matrix-like Y links to a question I had: you say it only has -1, 1s
>>> and 0s. But don’t metric learning methods support more fine-grained
>>> (continuous) values there? Otherwise the expressiveness gain over just
>>> having a classification y is not that big, is it?
>>>
>>> Overall the proposal would benefit by including a bit more detail on the
>>> metric learning methods and the relationship/differences/tradeoffs between
>>> them.
>>>
>>> Would metric learning be useful for regression in any way? My question
>>> was triggered by your saying that it could be used in the KNN classifier,
>>> which made me wonder why not in the regressor. E.g. one could bin the `y`.
>>>
>>> Nitpicks:
>>>
>>> * what does SWE stand for?
>>> * missing articles: equivalent to (linear) -> equivalent to a (linear),
>>> as if trained kernelized -> as if we trained a kernelized, Core
>>> contribution-> The core contribution, expect integration phase -> expect
>>> the integration phase.
>>> * I think ITML skips from review #1 to review #3.
>>>
>>> Hope this helps,
>>>
>>> Yours,
>>> Vlad
>>>
>>> > On 24 Mar 2015, at 20:25, Artem <barmaley....@gmail.com> wrote:
>>> >
>>> > You mean matrix-like y?
>>> >
>>> > Gael said
>>> > > FWIW It'll require some changes to cross-validation routines.
>>> > I'd rather we try not to add new needs and usecases to these before
>>> we release 1.0. We are already having a hard time covering in a
>>> homogeneous way all the possible options.
>>> >
>>> > Then Andreas
>>> > 1.2: matrix-like Y should actually be fine with cross-validation. I
>>> think it would be nice if we could get some benefit by having a
>>> classification-like y, but I'm not opposed to also allowing matrix Y.
>>> >
>>> > So if we don't want to alter API, I suppose this feature should be
>>> postponed until 1.0?
>>> >
>>> >
>>> > On Wed, Mar 25, 2015 at 1:44 AM, Olivier Grisel <
>>> olivier.gri...@ensta.org> wrote:
>>> > I also share Gael's concerns with respect to extending our API in yet
>>> > another direction at a time where we are trying to focus on ironing
>>> > out consistency issues...
>>> >
>>> > --
>>> > Olivier
>>> >
>>> >
>>> ------------------------------------------------------------------------------
>>> > Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> > by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> > things parallel software development, from weekly thought leadership
>>> blogs to
>>> > news, videos, case studies, tutorials and more. Take a look and join
>>> the
>>> > conversation now. http://goparallel.sourceforge.net/
>>> > _______________________________________________
>>> > Scikit-learn-general mailing list
>>> > Scikit-learn-general@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>> >
>>> >
>>> ------------------------------------------------------------------------------
>>> > Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> > by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> > things parallel software development, from weekly thought leadership
>>> blogs to
>>> > news, videos, case studies, tutorials and more. Take a look and join
>>> the
>>> > conversation now.
>>> http://goparallel.sourceforge.net/_______________________________________________
>>> > Scikit-learn-general mailing list
>>> > Scikit-learn-general@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> things parallel software development, from weekly thought leadership
>>> blogs to
>>> news, videos, case studies, tutorials and more. Take a look and join the
>>> conversation now. http://goparallel.sourceforge.net/
>>> _______________________________________________
>>> Scikit-learn-general mailing list
>>> Scikit-learn-general@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub
>> for all
>> things parallel software development, from weekly thought leadership
>> blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Scikit-learn-general mailing list
>> Scikit-learn-general@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>
>>
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general