Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Leveraging Graphs for Better AI

Leveraging Graphs for Better AI

Today's tech news is littered with buzzwords and acronyms like - ML, AI, big data, smart devices, even graph. What does 'graph' actually provide and mean for technology and business solutions in the artificial intelligence or machine learning space?

Jennifer Reif

June 12, 2019
Tweet

More Decks by Jennifer Reif

Other Decks in Technology

Transcript

  1. Jennifer Reif Software Engineer, Neo4j - Developer - Blogger -

    Conference speaker Love cats, coffee, and traveling :) [email protected] @JMHReif The Right Tool for Real-World Networks
  2. • Current data science models ignore network structure • Graphs

    add highly predictive features to existing ML models • Otherwise unattainable predictions based on relationships Novel & More Accurate Predictions
 with the Data You Already Have Machine Learning Pipeline
  3. “The idea is that graph networks are bigger than 


    any one machine-learning approach. Graphs bring an ability to generalize about structure that the individual neural nets don't have.” "Where do the graphs come from that 
 graph networks operate over?”
  4. Building a Graph ML Model Data Sources Native Graph Platform

    Machine Learning Aggregate Disparate Data and Cleanse Build Predictive Models Unify Graphs and Engineer Features Parquet JSON and more… MLlib and more…
  5. Spark Graph Native Graph Platform Machine Learning Example: Spark &

    Neo4j Workflow Graph Transactions Graph Analytics Cypher 9 in Spark 3.0 to create non- persistent graphs MLlib to Train Models Native Graph Algorithms, Processing, and Storage Morpheus integration
  6. Explore Graphs Build Graph Solutions • Massively scalable • Powerful

    data pipelining • Robust ML Libraries • Non-persistent, non-native graphs • Persistent, dynamic graphs • Graph native query and algorithm performance • Constantly growing list of graph algorithms and embeddings
  7. Steps Forward in Graph Data Science Query Based Knowledge Graph

    Query Based Feature Engineering Graph Algorithm Feature Engineering Graph Embeddings Graph Neural Networks Enterprise Delivery Data Science Complexity Knowledge Graphs Graph Feature Engineering Graph Native Learning Graph Persistence
  8. Steps Forward in Graph Data Science Query Based Knowledge Graph

    Query Based Feature Engineering Graph Algorithm Feature Engineering Graph Embeddings Graph Neural Networks Enterprise Maturity Data Science Complexity
  9. Query-Based Knowledge Graphs
 Connecting the Dots • Multiple graph layers

    of financial information • Includes corporate data with cross-relationships, external news, and customized weighting • Dashboards and tools • Credit risk • Investment risk • Portfolio news recommendations
  10. Steps Forward in Graph Data Science Query Based Knowledge Graph

    Graph Algorithm Feature Engineering Graph Embeddings Graph Neural Networks Query Based Feature Engineering Enterprise Maturity Data Science Complexity
  11. HetioNet is a knowledge graph integrating over 50 years of

    biomedical data Leveraged to predict new uses for drugs by using the graph topology to create features to predict new links Query-Based Feature Engineering
 Mining Data for Drug Discovery het.io
  12. HetioNet is a knowledge graph integrating over 50 years of

    biomedical data Leveraged to predict new uses for drugs by using the graph topology to create features to predict new links het.io Query-Based Feature Engineering
 Mining Data for Drug Discovery
  13. Spark Graph Native Graph Platform Machine Learning • Merge distributed

    data into DataFrames • Reshape your tables 
 into graphs • Explore cypher queries • Move to Neo4j to build expert queries • Persist your graph Knowledge Graphs: 
 Getting Started Example with Spark • Bring query based graph features to ML pipeline Graph Transactions Graph Analytics
  14. Steps Forward in Graph Data Science Query Based Feature Engineering

    Graph Embeddings Graph Neural Networks Query Based Knowledge Graph Graph Algorithm Feature Engineering Enterprise Maturity Data Science Complexity
  15. Feature Engineering is how we combine and process the data

    to create new, more meaningful features, such as clustering or connectivity metrics. Graph Connected Feature Engineering Add More Descriptive Features: - Influence - Relationships - Communities Extraction
  16. !22 Graph Feature Categories & Algorithms Pathfinding 
 & Search

    Finds the optimal paths or evaluates 
 route availability and quality Centrality / Importance Determines the importance of distinct nodes in the network Community Detection Detects group clustering or partition options Heuristic 
 Link Prediction Estimates the likelihood of nodes 
 forming a relationship Evaluates how alike nodes are Similarity Embeddings Learned representations
 of connectivity or topology
  17. • Connected components to identify disjointed graphs sharing identifiers •

    PageRank to measure influence and transaction volumes • Louvain to identify communities that frequently interact • Jaccard to measure account similarity Graph Connected Feature Engineering 
 Financial Crime: Detecting Fraud Large financial institutions already have existing pipelines to identify fraud via heuristics and models
 Graph based features improve accuracy:
  18. Spark Graph Native Graph Platform Machine Learning • Merge distributed

    data into DataFrames • Reshape your tables 
 into graphs • Explore cypher queries and simple algorithms • Persist your graph • Create rule based features • Run native graph algorithms and write to graph or stream Graph Feature Engineering: 
 Getting Started Example with Spark • Bring graph features to ML pipeline for training Graph Transactions Graph Analytics
  19. !26 Graph Algorithms in Neo4J • Parallel Breadth First Search

    • Parallel Depth First Search • Shortest Path • Single-Source Shortest Path • All Pairs Shortest Path • Minimum Spanning Tree • A* Shortest Path • Yen’s K Shortest Path • K-Spanning Tree (MST) • Random Walk • Degree Centrality • Closeness Centrality • CC Variations: Harmonic, Dangalchev, Wasserman & Faust • Betweenness Centrality • Approximate Betweenness Centrality • PageRank • Personalized PageRank • ArticleRank • Eigenvector Centrality • Triangle Count • Clustering Coefficients • Connected Components (Union Find) • Strongly Connected Components • Label Propagation • Louvain Modularity – 1 Step & Multi-Step • Balanced Triad (identification) • Euclidean Distance • Cosine Similarity • Jaccard Similarity • Overlap Similarity • Pearson Similarity Pathfinding 
 & Search Centrality / Importance Community Detection Similarity neo4j.com/docs/
 graph-algorithms/current/ Link 
 Prediction • Adamic Adar • Common Neighbors • Preferential Attachment • Resource Allocations • Same Community • Total Neighbors
  20. Steps Forward in Graph Data Science Query Based Knowledge Graph

    Graph Algorithm Feature Engineering Graph Neural Networks Query Based Feature Engineering Graph Embeddings Enterprise Maturity Data Science Complexity
  21. Embedding transforms graphs into a feature vector, or set of

    vectors, describing topology, connectivity, or attributes of nodes and edges in the graph !28 Graph Embeddings • Vertex/Node embeddings: describe connectivity of each node • Path embeddings: traversals across the graph • Graph embeddings: encode an entire graph into a single vector
  22. Spark Graph Native Graph Platform Machine Learning • Merge distributed

    data into DataFrames • Reshape your tables 
 into graphs • Explore cypher queries and simple algorithms • Move to Neo4j to build expert queries • Write to persist • Stay tuned for DeepWalk and DeepGL algorithms Graph Feature Engineering-Embedding: 
 Getting Started Example with Spark • Bring graph features to ML pipeline for training Graph Transactions Graph Analytics
  23. Steps Forward in Graph Data Science Query Based Knowledge Graph

    Graph Algorithm Feature Engineering Query Based Feature Engineering Graph Neural Networks Graph Embeddings Enterprise Maturity Data Science Complexity
  24. Graph Native Learning refers to deep learning models that take

    a graph as an input, performs computations, and return a graph !33 Graph Native Learning Battaglia et al, 2018
  25. Example: electron path prediction Bradshaw et al, 2019 !34 Graph

    Native Learning Given reactants and reagents, what will the products be? Given reactants and reagents, what will the products be?
  26. Progressing in Graph Data Science Query Based Knowledge Graph Query

    Based Feature Engineering Graph Algorithm Feature Engineering Graph Embeddings Graph Neural Networks Enterprise Maturity Data Science Complexity Knowledge Graphs Graph Feature Engineering Graph Native Learning Graph Persistence