On Wed, Aug 7, 2019 at 6:07 PM Michael Wong <fraggamuffin@gmail.com> wrote:

SG19 Machine Learning 2 hours 
Topic: ISOCPP SG19 Machine Learning 
Time: May 9, 2019 1:00 PM Eastern Time (US and Canada) 
    Every month on the Second Thu, until Sep 12, 2019, 5 occurrence(s) 
    May 9, 2019 1:00 PM 
    Jun 13, 2019 1:00 PM 
    Jul 11, 2019 1:00 PM 
    Aug 8, 2019 1:00 PM 
    Sep 12, 2019 1:00 PM 
    Please download and import the following iCalendar (.ics) files to your 
calendar system. 

Join from PC, Mac, Linux, iOS or Android: https://iso.zoom.us/j/405838761 

Or iPhone one-tap : 
    US: +14086380968,,405838761# or +16468769923,,405838761# 
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 877 
853 5247 (Toll Free) or 877 369 0926 (Toll Free) 
    Meeting ID: 405 838 761 
    International numbers available: https://zoom.us/u/abhaIjFKLZ 

Or Skype for Business (Lync): 


1. Opening and introductions 

1.1 Roll call of participants 

Matthew Galati, Phil Ratzloff, Richard Dosselmann, Michael Wong, Andrew Lumsdaine, Javier Cabezas, Frank Seide, William Tambellini, Marco Foco, Vincent Reverdy, Mgirkar, fultz

1.2 Adopt agenda 

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 
All C++ reflector are now moved to listserv 


2.2 Paper reviews 

Review Cologne results

2.2.1: ML topics 
Differentiable Programing by Marco Foco 

implemented library version of differentiable programming
symbolic differentiation from a templated ast, now workign on forward and backward automatic differentiation
these are not good solutions because of the loss of the type system, because to inspect the ast, you have to declare functions as taking all auto parameters

for SG6, forward differentiatin needsimaginary numbers

Richard Dosselman 
Math proposal for Machine Learning 

Generally positive
use optional for return value to know if there was an empty set given
on Median: hard to get consensus, I still want it to return a single value instead of a pair
iterators to start and end incase there is an even length and there are 2 values to the median, Jens wanted a pair
more people seem to normally expect a value
LEWGI also seems to want a value
mean of photos may not be meaningful and this is about numerics
but it could be useful

also may want to mean and std dev of vectors
does opencv library have this for images? for mean and std dev
also means of tensors along any axis in cmtk with generic reduction operators

woudl be surprising if they are not there in opencv.
Should we use overloads to support beyond numerics

how an image different from a matrix? Its not, colour may have 3 or 4 planes of numbers
how close are we getting to numpy? cmtk I try to put somethign close to numpy
similar interfaces on to pytorch, tensorflow

should mode allocate memory internally, shoud input be pre-sorted or not?
previously also want it to be pre-sorted liek other in stl library
also add to passing in the allocator

stddev has complex numbers and higher moments
also use less then comparator for sorts

from LA, if someone median mean mode, that require 4 passes over, can we have a combine function that would make a single pass
will this always give you numerically stable way when you use any floats

look at anythign from std similar for guidance
boost accumulate allows you to combine and compose multiple ones

Graph Proposal for Machine Learning 

what is an adjancency array, which is a new thing, all teh edges stored in a single vector,
note Sebastien Messmer's email post meeting on the definition
open library vs closed framework,
successor of BGL I wil share it and open it after cleaning it up

std library should just have a reference impl for adjacency array and list
STL does really nicely in taht container with intreface and that may be important for graphs
yes that is a perfect example

taking input and next revision will focus more on the functsions using iterators and ranges
and I like it better

also looking at concepts and ranges. What other description needed for range compliant and range friendly
descriptors are needed, but how is that different then an iterator? Good question, once you have properties, the descriptor is a way to retrieve a property on the edge or vertex

Peter Gottscling mentioned that MTL has this idea of cursors as a property map which is similar to what is in Boost graph. This is different then what has been traditionally been done. there might be multiple properties per node. Have separate arrays for each property and this led us to the idea of vertex descriptor where a single cursor can dereference and access one single property

might offer solution in new BGL

D1416R1: SG19 - Linear Algebra for Data Science and Machine Learning 

P1415: Machine Learning Layered list 

Vincent working on tree extensions to graphs
graph linear algebra
There is a property tree in boost if needed :

2.2.2 SG14 Linear Algebra progress: 
Different layers of proposal 

2.2.3 any other proposal for reviews? 

2.3 Other Papers and proposals 

2.5 Future F2F meetings: 

2.6 future C++ Standard meetings: 

   - *2019-11-04 to 09: Belfast, Northern Ireland;* Archer Yates 

-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 


Old Reflector 

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 


5.2 Future meeting 

Aug 8 
Sep 12 
Oct 10 
Nov 14 - cancelled due to DST change and switching to a new cycle. 

Sent from my iPad