C++ Logo

SG19

Advanced search

Subject: Re: SG19 July 9 telecon call
From: Michael Wong (fraggamuffin_at_[hidden])
Date: 2020-07-10 15:38:08


Here are the rest of the minutes. Thanks to Phil Ratzloff.

ATTENDEES

Michael Wong, Richard Dosselmann, Antony Peacock, Baran Erfani, Inbal Levi,
Jesun Firos, Jolanta Opara, Kevin Deweese, Larry Lewis, Michael Chiu, Paul
Preney, Rene Morell, Scott McMillan, Walter Brown

LOGISTICS

ISO meetings canceled thru Dec

CppCon - 80% online, 20% physical

C++20 – accepted in Prague; national ballots just received; waiting to work
thru ISO processes

STATUS

Reinforcement Learning

LL: determining underlying technologies (e.g. tensor, neural nets)

Graph

PR: No significant change

Auto-Differentiation

(no report)

*STATISTICS (P1708) Review*

RD: (Overview)

RD: (Intro)

WB

    Why these functions, and not others (e.g. skewness, kertosis)?

MW

    Plan: layered delivery (simple), followed by others like kertosis

    Should they be delivered together? Separately?

RD

    Delivering similar functionality as other language (esp. Python)

    Based on existing literature

WB

    Look for existing ISO paper for statistics?

PR

     How to find them?

WB

    ISO web site. Write to them to request relevant paper(s).

MW

    I’ll take that on.

    SG6 (Numerics) may add other perspectives & requirements beyond
matching other languages (hence involvement of WB)

JO

    Suggest simple function median() to call quantile with 0.5

    I think it’s counter-intuitive to have default value for quantile of 0.5

JO

    Not mentioned; general weights should be non-negative

    geometric_mean: should negative values be allowed (tricky); should be
stated explicitly

    harmonic_mean: (same)

    will send you notes

JO

    quantile: the sum of weights is 1.0. Not identified in mean

JO

    Pop variance (7): exponent should be outside parenthesis

MD

    Keep stats function in <stats>

WB

    Define why you want them in their own header

   Random functionality is in <random>

    Special math functions were put <cmath>

*Context: <review mean example>*

WB

    Design slightly problematic

    Result=double is questionable; More effort to eval the type (e.g. from
input_range R)

    Result template arg should come first (usability)

PR

    Agree with WB

    Suggest return type of auto

MC

    What’s the justification of these functions, in comparison to using
lambda’s

RD

    To provide a straight-forward implementation of statistical functions,
similar to other languages.

MC

    We have an opportunity to handle more specific implementations.

    The current implementations imply naïve implementations and other
features may be important to be supported.

    tag_invoke [should be looked at to support different, useful
implementations]

WB

    P1895

IL

    might be relevant (?)

    https://www.iso.org/obp/ui/#iso:std:iso:3534:-1:ed-2:v2:en

    (Statistics — Vocabulary and symbols)

RM

    tag_invoke.. https://wg21.link/p1895

    Also.. I wrote an isolate more recent application of tag_invoke here..
https://github.com/bfgroup/duck_invoke

*Context: <var func>*

JO

    NaN values: What is NaN?

WB

    quiet NaN or signalling NaN

JO

    Population vs sample: Which is more frequency used

MC

    I think you should just have one variance and pass a weight. (weight
instead of choice)

*Context: sorted_quantile, unsorted_quantile*

JO

    sorted_ and unsorted_ are strange names:

    median is quantile, quantile is not median: suggest median (helper)
function

    we always have 2 numbers; would like to have policy to choose one number

MC

    When using quantile is used for text, then it doesn’t make sense to
return average

RD

    unsorted_quantile has lower restrictions on type of range

WB

    What about the concept of a sorted_input_range?

    Allow overload resolution to select the proper function

PP

    Examples might be simpler using structured bindings instead of get<n>()

MC

    Disagree with handling of text

    Nothing to do with statistics

MD

    SG19 feedback was that it was almost a side benefit.

    We should support it if it made sense and users find it useful.

JO

    I would like to see in quantile a list of quantiles I can specify

MD

    You want to specify multiple quantiles?

JO

    Yes

*Context: <mode>*

*Context: <accumulator objects>*

LL

    Is there a way for someone to do a kahan summation?

MC

    Why is mean in an accumulator a function? Why not just a member value?

WB

    That requires some thought. There are a number of values involved.

MD

    Mode returns a collection, not a single value

PP

    do we want to return a range?

    Concepts might help clean things up. Would that be helpful?

MD

   [Where are] kurtosis & skewness [used]?

MC

    They’re in Matlab

MW

    Can they be useful outside of machine learning?

    What other languages?

    Where do we stop?

MC

    Are there plans to have an implementation?

    Boost proposal?

MD

    I have a quick-and-dirty implementation

MC

    It would be helpful to propose it to boost

On Thu, Jul 9, 2020 at 2:21 PM Michael Wong <fraggamuffin_at_[hidden]> wrote:

>
>
> On Wed, Jul 8, 2020 at 9:43 PM Michael Wong <fraggamuffin_at_[hidden]>
> wrote:
>
>> SG19 Machine Learning 2 hours. This session will focus on the Stats paper
>> but can also update other topics.
>>
>> Hi,
>>
>> Michael Wong is inviting you to a scheduled Zoom meeting.
>>
>> Topic: SG19 monthly Apr 2020-Oct 2020
>> Time: 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Every month on the Second Thu, until Oct 8, 2020, 7 occurrence(s)
>> Apr 9, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> May 14, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Jun 11, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Jul 9, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Aug 13, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Sep 10, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Oct 8, 2020 18:00 UTC (2:00pm Eastern Time US and Canada)
>> Please download and import the following iCalendar (.ics) files to
>> your
>> calendar system.
>> Monthly:
>>
>> https://iso.zoom.us/meeting/v50sceqopj4pyLdu5Mx1orYgnZZUj0RNqw/ics?icsToken=98tyKuuhrz0pGtyQs1-CArUqE53ibvG1kmhirrYIsQe0DDJqZQ3MDNdIYoBRAc-B
>>
>> Join from PC, Mac, Linux, iOS or Android:
>> https://iso.zoom.us/j/291630853?pwd=WUlKbS9SNFNRa0QyWXRWenlGSDhaQT09
>> Password: 339768
>>
>> Or iPhone one-tap :
>> US: +14086380968,,291630853# or +16468769923,,291630853#
>> Or Telephone:
>> Dial(for higher quality, dial a number based on your current
>> location):
>> US: +1 408 638 0968 or +1 646 876 9923 or +1 669 900 6833 or +1
>> 253 215 8782 or +1 301 715 8592 or +1 312 626 6799 or +1 346 248 7799
>> or 877 853 5247 (Toll Free)
>> Meeting ID: 291 630 853
>> Password: 339768
>> International numbers available: https://iso.zoom.us/u/abhaIjFKLZ
>>
>> Or Skype for Business (Lync):
>> https://iso.zoom.us/skype/291630853
>>
>> Agenda:
>>
>> 1. Opening and introductions
>>
>> The ISO Code of conduct:
>> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf
>> The IEC Code of Conduct:
>> https://basecamp.iec.ch/download/iec-code-of-conduct-for-delegates-and-experts/
>> The WG21 Practices and Procedures and Code of Conduct:
>> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>>
>> 1.1 Roll call of participants
>>
> Richard Dosselmann, Paul Preeny, Antony Peacock, Bran Erfani, Inbal Levi,
> Jessum Firoz, Jolanta Opara, Kevin Deweese, Larry Lewis, Michael Chiu, Phil
> Ratzloff, Rene Morell, Scott McMillan, Walter Brown, Michael Wong, Paul
> Preney
>
>> 1.2 Adopt agenda
>>
> Approve. Phil and Michael Minute takers
>
>> 1.3 Approve minutes from previous meeting, and approve publishing
>> previously approved minutes to ISOCPP.org
>>
>> 1.4 Action items from previous meetings
>>
>> 2. Main issues (125 min)
>>
>> 2.1 General logistics
>>
>> Meeting plan, focus on one paper per meeting but does not preclude other
>> paper updates:
>>
>> Apr 9, 2020 02:00 PM: stats paper- DONE
>> May 14, 2020 02:00 PM: Stats paper replaces Differential calculus
>> DONE
>> Jun 11, 2020 02:00 PM: Graph paper- DONE
>> Jul 9, 2020 02:00 PM: Stats paper
>> Aug 13, 2020 02:00 PM: Differential calculus + Reinforcement Learning
>> Sep 10, 2020 02:00 PM: Graph paper
>> Oct 8, 2020 02:00 PM: stats paper
>>
>> ISO meeting status
>>
>> CPPCON status
>>
>> future C++ Std meetings
>>
>> 2.2 Paper reviews
>>
>> 2.2.1: ML topics
>>
>> 2.2.1.1 Stats review Richard Dosselman et al
>>
>> P1708R1: Math proposal for Machine Learning
>>
>> https://docs.google.com/document/d/1VAgcyvL1riMdGz7tQIT9eTtSSfV3CoCEMWKk8GvVuFY/edit
>>
>> > std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2
>> > above is the stats paper that was reviewed in Prague
>> > http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
>> >
>> > Review Jolanta Polish feedback.
>> > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
>>
>> Preview attachment stats feedback.docx
>> <https://mail.google.com/mail/u/0?ui=2&ik=7b3eb0b4ff&attid=0.1&permmsgid=msg-f:1671130344765626535&th=17310c31cd2198a7&view=att&disp=safe>
>> stats feedback.docx
>> 15 KB
>>
>> <https://mail.google.com/mail/u/0?ui=2&ik=7b3eb0b4ff&attid=0.1&permmsgid=msg-f:1671130344765626535&th=17310c31cd2198a7&view=att&disp=safe>
>>
>>
>>
>>
>>
>>
>> Preview attachment stats.pdf
>> <https://mail.google.com/mail/u/0?ui=2&ik=7b3eb0b4ff&attid=0.1&permmsgid=msg-f:1671397124497524079&th=1731fed44c48c56f&view=att&disp=safe>
>> stats.pdf
>> 224 KB
>>
>> <https://mail.google.com/mail/u/0?ui=2&ik=7b3eb0b4ff&attid=0.1&permmsgid=msg-f:1671397124497524079&th=1731fed44c48c56f&view=att&disp=safe>
>>
>>
>>
>>
>>
>>
>>
>> 2.2.1.2 Reinforcement Learning Larry Lewis Jorge Silva
>>
>> Reinforcement Learning proposal:
>>
>> 2.2.1.3 Graph Proposal Phil Ratsloff et al
>>
>> P1709R1: Graph Proposal for Machine Learning
>>
>> P1709R3:
>>
>> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing
>>
>>
>> https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/edit?usp=sharing
>> <
>>
>> https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE%2Fedit%3Fusp%3Dsharing&data=02%7C01%7CPhil.Ratzloff%40sas.com%7C729b2cf8502641e4ae5e08d749064578%7Cb1c14d5c362545b3a430
>> 9552373a0c2f%7C0%7C0%7C637058163592253027&sdata=4UQm8tqrcUbiZsr200UMrOaEModJYGNgP1oNot9PbAg%3D&reserved=0>
>>
>>
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>
>>
>> 2.2.1.4: Differentiable Programing by Marco Foco
>>
>>
>> <https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit>
>>
>> 2.2.3 any other proposal for reviews?
>>
>> 2.3 Other Papers and proposals
>>
>> P1416R1: SG19 - Linear Algebra for Data Science and Machine Learning
>>
>> https://docs.google.com/document/d/1IKUNiUhBgRURW-UkspK7fAAyIhfXuMxjk7xKikK4Yp8/edit#heading=h.tj9hitg7dbtr
>>
>> P1415: Machine Learning Layered list
>>
>> https://docs.google.com/document/d/1elNFdIXWoetbxjO1OKol_Wj8fyi4Z4hogfj5tLVSj64/edit#heading=h.tj9hitg7dbtr
>>
>> 2.2.2 SG14 Linear Algebra progress:
>> Different layers of proposal
>>
>> https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit
>>
>> 2.5 Future F2F meetings:
>>
>> 2.6 future C++ Standard meetings:
>> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>>
>> -2020-02-10 to 15: Prague, Czech Republic
>>
>> - 2020-06-01 to 06: Bulgaria
>> - 2020-11: (New York, tentative)
>> - 2021-02-22 to 27: Kona, HI, USA
>>
>> 3. Any other business
>>
>> New reflector
>>
>> http://lists.isocpp.org/mailman/listinfo.cgi/sg19
>>
>> Old Reflector
>> https://groups.google.com/a/isocpp.org/forum/#!newtopic/sg19
>> <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14>
>>
>> Code and proposal Staging area
>>
>> 4. Review
>>
>> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
>> working draft]
>>
>> 4.2 Review action items (5 min)
>>
>> 5. Closing process
>>
>> 5.1 Establish next agenda
>>
>> TBD
>>
>> 5.2 Future meeting
>>
>> Jul 9, 2020 02:00 PM
>> Aug 13, 2020 02:00 PM
>> Sep 10, 2020 02:00 PM
>> Oct 8, 2020 02:00 PM
>>
>



SG19 list run by sg19-owner@lists.isocpp.org

SG19 Archives on Google Groups