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 Wed, Jul 8, 2020 at 9:43 PM Michael Wong <fraggamuffin@gmail.com> 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.pdfThe 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.htmlPreview attachment stats feedback.docx
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>
2.2.1.4: Differentiable Programing by Marco Foco
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