These slides are distributed under a Creative Commons license for educational purposes. DeepLearning.AI makes the slides available to cite as the source, but they cannot be used or distributed for commercial purposes without permission. The full details of the license are available at the URL provided.
Generative adversarial networks (GANs) are a class of unsupervised machine learning models used to generate new data with the same statistics as the training set. GANs work by having two neural networks, a generator and discriminator, compete against each other. The generator tries to generate fake images that look real, while the discriminator tries to tell real images apart from fake ones. This adversarial process allows the generator to produce highly realistic images. The paper proposes GANs and introduces their objective functions and training procedure to generate images similar to samples from the training data distribution.
Andrew Ng es un renombrado científico de la computación y profesor de la Universidad de Stanford, reconocido mundialmente por su contribución al campo del aprendizaje automático y la inteligencia artificial. Su visión y experiencia han ayudado a moldear la forma en que se enseña y se aplica el aprendizaje automático en la industria y la academia.
Ng es co-fundador de Google Brain, un equipo de investigación en inteligencia artificial de Google, y ha desempeñado un papel clave en la popularización y difusión del aprendizaje automático en la comunidad global. Sin embargo, es ampliamente conocido por su dedicación a la educación y su enfoque en hacer que el aprendizaje automático sea accesible para todos.
Uno de los logros más destacados de Andrew Ng es su creación de cursos en línea que han llegado a millones de estudiantes de todo el mundo. Estos cursos, disponibles en plataformas como Coursera, se centran en brindar una comprensión sólida y práctica del aprendizaje automático y la ciencia de datos, incluso para aquellos sin un fondo técnico sólido.
Los cursos de Andrew Ng se caracterizan por:
Claridad Conceptual: Ng tiene un talento para explicar conceptos complejos de manera sencilla y accesible. Sus clases están diseñadas para que incluso los principiantes puedan entender y aplicar los principios del aprendizaje automático.
Enfoque Práctico: Además de comprender la teoría, los cursos de Ng se centran en la aplicación práctica. Los estudiantes trabajan en proyectos y ejercicios que les permiten poner en práctica lo que han aprendido.
Amplio Alcance: Los cursos cubren una amplia gama de temas, desde los fundamentos del aprendizaje automático hasta temas más avanzados como la visión por computadora, el procesamiento del lenguaje natural y la inteligencia artificial.
Flexibilidad: Los cursos en línea de Ng están diseñados para ser flexibles y permitir a los estudiantes aprender a su propio ritmo. Esto hace que sean ideales para profesionales que trabajan y personas con horarios ocupados.
Impacto Duradero: Los estudiantes que han completado los cursos de Andrew Ng han informado un aumento significativo en sus habilidades y conocimiento en el campo del aprendizaje automático. Muchos han utilizado este conocimiento para avanzar en sus carreras y contribuir a proyectos innovadores.
Andrew Ng es un líder en el campo del aprendizaje automático y la inteligencia artificial, y sus cursos en línea son una puerta de entrada para que cualquier persona interesada en la tecnología pueda aprender y aplicar los principios del aprendizaje automático y la ciencia de datos en el mundo real. Su enfoque accesible y práctico ha tenido un impacto duradero en la educación y la industria tecnológica.
Object Orientation vs. Functional Programming in PythonPython Ireland
The document discusses object orientation and functional programming approaches in Python. It covers various object-oriented programming concepts like the template method pattern, abstract base classes, mixins, and composition. It also covers functional programming concepts like callbacks, higher-order functions, decorators, and partial function application. It concludes that Python supports both paradigms well and that depending on the situation, one approach may be more appropriate, but the tools can also complement each other.
This document provides an overview of recommender systems including background information, implementation details, and a demonstration. It discusses machine learning applications like unsupervised learning, linear regression, and gradient descent algorithms. It covers content-based filtering using known product features and collaborative filtering to identify unknown product features. Examples are given on using linear regression and gradient descent to make predictions for skills data and handle unknown values.
This document discusses linear regression with one variable using gradient descent. It introduces linear regression as a machine learning algorithm for predicting a real-valued output given a single input variable. Gradient descent is presented as an approach for minimizing the cost function to find the optimal parameters for the linear regression model. The gradient descent algorithm is explained as iteratively updating the parameters in the direction of the negative gradient to reduce the cost until reaching a minimum.
RSpec best practice - avoid using before and letBruce Li
The document discusses best practices for writing RSpec tests, including avoiding the use of before and let hooks, keeping tests focused on a single topic, and using descriptive language. It provides examples of refactoring tests to follow these practices, such as flattening nested contexts, using four-phase tests with preparation, exercise, verification and teardown steps, and formatting tests in a documentation style. The document emphasizes that tests should be well-written with minimal technical debt to serve as a safety net for refactoring and prevent project deadlines from becoming "death marches." It also notes the importance of validating that refactored tests still work as intended.
Generative adversarial networks (GANs) are a class of unsupervised machine learning models used to generate new data with the same statistics as the training set. GANs work by having two neural networks, a generator and discriminator, compete against each other. The generator tries to generate fake images that look real, while the discriminator tries to tell real images apart from fake ones. This adversarial process allows the generator to produce highly realistic images. The paper proposes GANs and introduces their objective functions and training procedure to generate images similar to samples from the training data distribution.
Andrew Ng es un renombrado científico de la computación y profesor de la Universidad de Stanford, reconocido mundialmente por su contribución al campo del aprendizaje automático y la inteligencia artificial. Su visión y experiencia han ayudado a moldear la forma en que se enseña y se aplica el aprendizaje automático en la industria y la academia.
Ng es co-fundador de Google Brain, un equipo de investigación en inteligencia artificial de Google, y ha desempeñado un papel clave en la popularización y difusión del aprendizaje automático en la comunidad global. Sin embargo, es ampliamente conocido por su dedicación a la educación y su enfoque en hacer que el aprendizaje automático sea accesible para todos.
Uno de los logros más destacados de Andrew Ng es su creación de cursos en línea que han llegado a millones de estudiantes de todo el mundo. Estos cursos, disponibles en plataformas como Coursera, se centran en brindar una comprensión sólida y práctica del aprendizaje automático y la ciencia de datos, incluso para aquellos sin un fondo técnico sólido.
Los cursos de Andrew Ng se caracterizan por:
Claridad Conceptual: Ng tiene un talento para explicar conceptos complejos de manera sencilla y accesible. Sus clases están diseñadas para que incluso los principiantes puedan entender y aplicar los principios del aprendizaje automático.
Enfoque Práctico: Además de comprender la teoría, los cursos de Ng se centran en la aplicación práctica. Los estudiantes trabajan en proyectos y ejercicios que les permiten poner en práctica lo que han aprendido.
Amplio Alcance: Los cursos cubren una amplia gama de temas, desde los fundamentos del aprendizaje automático hasta temas más avanzados como la visión por computadora, el procesamiento del lenguaje natural y la inteligencia artificial.
Flexibilidad: Los cursos en línea de Ng están diseñados para ser flexibles y permitir a los estudiantes aprender a su propio ritmo. Esto hace que sean ideales para profesionales que trabajan y personas con horarios ocupados.
Impacto Duradero: Los estudiantes que han completado los cursos de Andrew Ng han informado un aumento significativo en sus habilidades y conocimiento en el campo del aprendizaje automático. Muchos han utilizado este conocimiento para avanzar en sus carreras y contribuir a proyectos innovadores.
Andrew Ng es un líder en el campo del aprendizaje automático y la inteligencia artificial, y sus cursos en línea son una puerta de entrada para que cualquier persona interesada en la tecnología pueda aprender y aplicar los principios del aprendizaje automático y la ciencia de datos en el mundo real. Su enfoque accesible y práctico ha tenido un impacto duradero en la educación y la industria tecnológica.
Object Orientation vs. Functional Programming in PythonPython Ireland
The document discusses object orientation and functional programming approaches in Python. It covers various object-oriented programming concepts like the template method pattern, abstract base classes, mixins, and composition. It also covers functional programming concepts like callbacks, higher-order functions, decorators, and partial function application. It concludes that Python supports both paradigms well and that depending on the situation, one approach may be more appropriate, but the tools can also complement each other.
This document provides an overview of recommender systems including background information, implementation details, and a demonstration. It discusses machine learning applications like unsupervised learning, linear regression, and gradient descent algorithms. It covers content-based filtering using known product features and collaborative filtering to identify unknown product features. Examples are given on using linear regression and gradient descent to make predictions for skills data and handle unknown values.
This document discusses linear regression with one variable using gradient descent. It introduces linear regression as a machine learning algorithm for predicting a real-valued output given a single input variable. Gradient descent is presented as an approach for minimizing the cost function to find the optimal parameters for the linear regression model. The gradient descent algorithm is explained as iteratively updating the parameters in the direction of the negative gradient to reduce the cost until reaching a minimum.
RSpec best practice - avoid using before and letBruce Li
The document discusses best practices for writing RSpec tests, including avoiding the use of before and let hooks, keeping tests focused on a single topic, and using descriptive language. It provides examples of refactoring tests to follow these practices, such as flattening nested contexts, using four-phase tests with preparation, exercise, verification and teardown steps, and formatting tests in a documentation style. The document emphasizes that tests should be well-written with minimal technical debt to serve as a safety net for refactoring and prevent project deadlines from becoming "death marches." It also notes the importance of validating that refactored tests still work as intended.
Deep Learning: Introduction & Chapter 5 Machine Learning BasicsJason Tsai
Given lecture for Deep Learning 101 study group with Frank Wu on Dec. 9th, 2016.
Reference: https://www.deeplearningbook.org/
Initiated by Taiwan AI Group (https://www.facebook.com/groups/Taiwan.AI.Group/)
This document discusses refactoring code to improve its structure and design without changing its external behavior. It provides examples of refactoring techniques like extracting methods, replacing conditionals with polymorphism, introducing named parameters, and replacing magic numbers with symbolic constants. The goal of refactoring is to make code easier to understand and cheaper to modify over time.
Catching co occurrence information using word2vec-inspired matrix factorizationhyunsung lee
- Factorizing a PMI matrix involves using matrix factorization techniques to represent words in a latent space based on their co-occurrence information, similar to word2vec.
- Recommender systems use matrix factorization to represent users and items numerically in a latent space to predict target values like ratings. Known ratings are used to find latent vectors for users and items that best approximate the rating matrix.
- These latent vectors can then be used to predict unknown ratings by taking the dot product of the user and item vectors.
This document discusses refactoring code in Ruby. It provides examples of refactoring techniques like replacing conditionals with polymorphism, introducing named parameters, replacing magic numbers with symbolic constants, extracting surrounding methods, and replacing loops with closure methods. The goal of refactoring is to clean up code without changing its external behavior in order to make it more readable, flexible and maintainable.
The document summarizes a presentation titled "Yoyak" given by Heejong Lee at ScalaDays 2015. The presentation introduces Yoyak, a static analysis framework developed by the speaker. It covers the following topics:
- Static analysis and abstract interpretation theory
- Implementation highlights of the Yoyak framework
- Experiences using Scala in developing Yoyak
- The roadmap for future development of Yoyak
This document provides an introduction to Python programming including why Python is used, how to install Python, writing basic Python programs, variables, data types, operators, conditional statements, loops, lists, tuples, sets, dictionaries, and functions. It covers many fundamental Python concepts and provides examples to illustrate each concept.
This document provides an introduction to Python programming including why to use Python, installing Python, writing basic programs, variables, data types, operators, conditional statements, loops, lists, tuples, sets, dictionaries, and functions. It covers many fundamental concepts in Python like taking user input, arithmetic operators, string methods, comparison operators, logical operators, if/else statements, for/while loops, and built-in vs user-defined functions. The goal is to help beginners get started with Python programming.
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...Simplilearn
This presentation on Machine Learning will help you understand why Machine Learning came into picture, what is Machine Learning, types of Machine Learning, Machine Learning algorithms with a detailed explanation on linear regression, decision tree & support vector machine and at the end you will also see a use case implementation where we classify whether a recipe is of a cupcake or muffin using SVM algorithm. Machine learning is a core sub-area of artificial intelligence; it enables computers to get into a mode of self-learning without being explicitly programmed. When exposed to new data, these computer programs are enabled to learn, grow, change, and develop by themselves. So, to put simply, the iterative aspect of machine learning is the ability to adapt to new data independently. Now, let us get started with this Machine Learning presentation and understand what it is and why it matters.
Below topics are explained in this Machine Learning presentation:
1. Why Machine Learning?
2. What is Machine Learning?
3. Types of Machine Learning
4. Machine Learning Algorithms
- Linear Regression
- Decision Trees
- Support Vector Machine
5. Use case: Classify whether a recipe is of a cupcake or a muffin using SVM
About Simplilearn Machine Learning course:
A form of artificial intelligence, Machine Learning is revolutionizing the world of computing as well as all people’s digital interactions. Machine Learning powers such innovative automated technologies as recommendation engines, facial recognition, fraud protection and even self-driving cars. This Machine Learning course prepares engineers, data scientists and other professionals with knowledge and hands-on skills required for certification and job competency in Machine Learning.
Why learn Machine Learning?
Machine Learning is taking over the world- and with that, there is a growing need among companies for professionals to know the ins and outs of Machine Learning
The Machine Learning market size is expected to grow from USD 1.03 Billion in 2016 to USD 8.81 Billion by 2022, at a Compound Annual Growth Rate (CAGR) of 44.1% during the forecast period.
We recommend this Machine Learning training course for the following professionals in particular:
1. Developers aspiring to be a data scientist or Machine Learning engineer
2. Information architects who want to gain expertise in Machine Learning algorithms
3. Analytics professionals who want to work in Machine Learning or artificial intelligence
4. Graduates looking to build a career in data science and Machine Learning
Learn more at: https://www.simplilearn.com/
발표자: 이활석 (Naver Clova)
발표일: 2017.11.
(현) NAVER Clova Vision
(현) TFKR 운영진
개요:
최근 딥러닝 연구는 지도학습에서 비지도학습으로 급격히 무게 중심이 옮겨지고 있습니다.
특히 컴퓨터 비전 기술 분야에서는 지도학습에 해당하는 이미지 내에 존재하는 정보를 찾는 인식 기술에서,
비지도학습에 해당하는 특정 정보를 담는 이미지를 생성하는 기술인 생성 기술로 연구 동향이 바뀌어 가고 있습니다.
본 세미나에서는 생성 기술의 두 축을 담당하고 있는 VAE(variational autoencoder)와 GAN(generative adversarial network) 동작 원리에 대해서 간략히 살펴 보고, 관련된 주요 논문들의 결과를 공유하고자 합니다.
딥러닝에 대한 지식이 없더라도 생성 모델을 학습할 수 있는 두 방법론인 VAE와 GAN의 개념에 대해 이해하고
그 기술 수준을 파악할 수 있도록 강의 내용을 구성하였습니다.
Windy City DB - Recommendation Engine with Neo4jMax De Marzi
This document discusses recommendation engines and provides examples using Gremlin and Cypher to generate recommendations in a graph database. It begins with an overview of collaborative filtering, content-based filtering, and hybrid recommendation approaches. It then demonstrates how to build recommendations using Gremlin to find similar users and recommend items those users liked. It also shows how to build recommendations using Cypher to find similar users and recommend uncviewed items highly rated by those similar users.
NIPS2017 Few-shot Learning and Graph ConvolutionKazuki Fujikawa
The document discusses meta-learning and prototypical networks for few-shot learning. It introduces prototypical networks, which learn a metric space such that classification can be performed by finding the nearest class prototype to a query example in embedding space. The document summarizes results on few-shot image classification benchmarks like Omniglot and miniImageNet, finding that prototypical networks achieve state-of-the-art performance.
Learning from Computer Simulation to Tackle Real-World ProblemsNAVER Engineering
Deep learning has made great strides for problems that can be learned with direct supervision, in which a large dataset with high-quality annotation is provided (e.g., ImageNet). However, collecting such a large dataset is expensive and time-consuming. In this talk, I will discuss our recent works on learning from computer simulation to tackle real-world problems. I will first present our novel Simulated+Unsupervised (S+U) domain adaptation algorithm, which fully leverages the flexibility of data simulators and bidirectional mappings between synthetic and real data. We show that our approach achieves the improved performance on the gaze estimation task, outperforming the prior approach by Shrivastava et al. Next, I will introduce our work on building data-driven vehicle collision prediction algorithms. Today’s vehicle collision prediction algorithms are rule-based and have not benefited from the recent developments in deep learning. This is because it is almost impossible to collect a large amount of collision data from the real world. To address this challenge, we collect a large accident dataset using a popular video game named GTA and train end-to-end classification algorithms which identify dangerous objects from a given image. Furthermore, we devise a novel domain adaptation method with which we can further improve the performance of our algorithm in the real-world.
The document provides an introduction to machine learning. It discusses the author's path to becoming a data scientist and some key machine learning concepts, including:
- Required skills at different experience levels for machine learning roles
- Popular machine learning approaches like deep learning and reinforcement learning
- Common machine learning problems like one shot learning and imbalanced datasets
- How machine learning works by using tricks on data through parametric models and free parameters
- Key questions in machine learning like what to teach, how to teach, and to what entity
- Popular machine learning frameworks like TensorFlow that automate tasks
Deep Reinforcement Learning Through Policy Optimization, John Schulman, OpenAIJack Clark
This document discusses deep reinforcement learning through policy optimization. It begins with an introduction to reinforcement learning and how deep neural networks can be used to approximate policies, value functions, and models. It then discusses how deep reinforcement learning can be applied to problems in robotics, business operations, and other machine learning domains. The document reviews how reinforcement learning relates to other machine learning problems like supervised learning and contextual bandits. It provides an overview of policy gradient methods and the cross-entropy method for policy optimization before discussing Markov decision processes, parameterized policies, and specific policy gradient algorithms like the vanilla policy gradient algorithm and trust region policy optimization.
The document discusses neural networks, generative adversarial networks, and image-to-image translation. It begins by explaining how neural networks learn through forward propagation, calculating loss, and using the loss to update weights via backpropagation. Generative adversarial networks are introduced as a game between a generator and discriminator, where the generator tries to fool the discriminator and vice versa. Image-to-image translation uses conditional GANs to translate images from one domain to another, such as maps to aerial photos.
This document discusses using machine learning with R for data analysis. It covers topics like preparing data, running models, and interpreting results. It explains techniques like regression, classification, dimensionality reduction, and clustering. Regression is used to predict numbers given other numbers, while classification identifies categories. Dimensionality reduction finds combinations of variables with maximum variance. Clustering groups similar data points. R is recommended for its statistical analysis, functions, and because it is free and open source. Examples are provided for techniques like linear regression, support vector machines, principal component analysis, and k-means clustering.
Raccomender engines use content-based and collaborative filtering approaches to make recommendations. Content-based filtering recommends items based on a comparison of item characteristics to a user's profile, while collaborative filtering builds models from users' past behaviors and preferences to identify similar users and predict interests. The document then provides examples of how matrix factorization models are used for both content-based and collaborative filtering to learn latent representations of users and items from rating data through iterative optimization.
Max De Marzi gave a presentation on Gremlin, a graph traversal language used for traversing property graphs. He explained that Gremlin is implemented by most graph database vendors and is primarily used with Groovy. He demonstrated how to use Gremlin to query a Neo4j graph database, showing examples of traversing nodes and relationships. Finally, he presented a Gremlin script for providing movie recommendations based on a user's genres and ratings.
Deep Learning: Introduction & Chapter 5 Machine Learning BasicsJason Tsai
Given lecture for Deep Learning 101 study group with Frank Wu on Dec. 9th, 2016.
Reference: https://www.deeplearningbook.org/
Initiated by Taiwan AI Group (https://www.facebook.com/groups/Taiwan.AI.Group/)
This document discusses refactoring code to improve its structure and design without changing its external behavior. It provides examples of refactoring techniques like extracting methods, replacing conditionals with polymorphism, introducing named parameters, and replacing magic numbers with symbolic constants. The goal of refactoring is to make code easier to understand and cheaper to modify over time.
Catching co occurrence information using word2vec-inspired matrix factorizationhyunsung lee
- Factorizing a PMI matrix involves using matrix factorization techniques to represent words in a latent space based on their co-occurrence information, similar to word2vec.
- Recommender systems use matrix factorization to represent users and items numerically in a latent space to predict target values like ratings. Known ratings are used to find latent vectors for users and items that best approximate the rating matrix.
- These latent vectors can then be used to predict unknown ratings by taking the dot product of the user and item vectors.
This document discusses refactoring code in Ruby. It provides examples of refactoring techniques like replacing conditionals with polymorphism, introducing named parameters, replacing magic numbers with symbolic constants, extracting surrounding methods, and replacing loops with closure methods. The goal of refactoring is to clean up code without changing its external behavior in order to make it more readable, flexible and maintainable.
The document summarizes a presentation titled "Yoyak" given by Heejong Lee at ScalaDays 2015. The presentation introduces Yoyak, a static analysis framework developed by the speaker. It covers the following topics:
- Static analysis and abstract interpretation theory
- Implementation highlights of the Yoyak framework
- Experiences using Scala in developing Yoyak
- The roadmap for future development of Yoyak
This document provides an introduction to Python programming including why Python is used, how to install Python, writing basic Python programs, variables, data types, operators, conditional statements, loops, lists, tuples, sets, dictionaries, and functions. It covers many fundamental Python concepts and provides examples to illustrate each concept.
This document provides an introduction to Python programming including why to use Python, installing Python, writing basic programs, variables, data types, operators, conditional statements, loops, lists, tuples, sets, dictionaries, and functions. It covers many fundamental concepts in Python like taking user input, arithmetic operators, string methods, comparison operators, logical operators, if/else statements, for/while loops, and built-in vs user-defined functions. The goal is to help beginners get started with Python programming.
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...Simplilearn
This presentation on Machine Learning will help you understand why Machine Learning came into picture, what is Machine Learning, types of Machine Learning, Machine Learning algorithms with a detailed explanation on linear regression, decision tree & support vector machine and at the end you will also see a use case implementation where we classify whether a recipe is of a cupcake or muffin using SVM algorithm. Machine learning is a core sub-area of artificial intelligence; it enables computers to get into a mode of self-learning without being explicitly programmed. When exposed to new data, these computer programs are enabled to learn, grow, change, and develop by themselves. So, to put simply, the iterative aspect of machine learning is the ability to adapt to new data independently. Now, let us get started with this Machine Learning presentation and understand what it is and why it matters.
Below topics are explained in this Machine Learning presentation:
1. Why Machine Learning?
2. What is Machine Learning?
3. Types of Machine Learning
4. Machine Learning Algorithms
- Linear Regression
- Decision Trees
- Support Vector Machine
5. Use case: Classify whether a recipe is of a cupcake or a muffin using SVM
About Simplilearn Machine Learning course:
A form of artificial intelligence, Machine Learning is revolutionizing the world of computing as well as all people’s digital interactions. Machine Learning powers such innovative automated technologies as recommendation engines, facial recognition, fraud protection and even self-driving cars. This Machine Learning course prepares engineers, data scientists and other professionals with knowledge and hands-on skills required for certification and job competency in Machine Learning.
Why learn Machine Learning?
Machine Learning is taking over the world- and with that, there is a growing need among companies for professionals to know the ins and outs of Machine Learning
The Machine Learning market size is expected to grow from USD 1.03 Billion in 2016 to USD 8.81 Billion by 2022, at a Compound Annual Growth Rate (CAGR) of 44.1% during the forecast period.
We recommend this Machine Learning training course for the following professionals in particular:
1. Developers aspiring to be a data scientist or Machine Learning engineer
2. Information architects who want to gain expertise in Machine Learning algorithms
3. Analytics professionals who want to work in Machine Learning or artificial intelligence
4. Graduates looking to build a career in data science and Machine Learning
Learn more at: https://www.simplilearn.com/
발표자: 이활석 (Naver Clova)
발표일: 2017.11.
(현) NAVER Clova Vision
(현) TFKR 운영진
개요:
최근 딥러닝 연구는 지도학습에서 비지도학습으로 급격히 무게 중심이 옮겨지고 있습니다.
특히 컴퓨터 비전 기술 분야에서는 지도학습에 해당하는 이미지 내에 존재하는 정보를 찾는 인식 기술에서,
비지도학습에 해당하는 특정 정보를 담는 이미지를 생성하는 기술인 생성 기술로 연구 동향이 바뀌어 가고 있습니다.
본 세미나에서는 생성 기술의 두 축을 담당하고 있는 VAE(variational autoencoder)와 GAN(generative adversarial network) 동작 원리에 대해서 간략히 살펴 보고, 관련된 주요 논문들의 결과를 공유하고자 합니다.
딥러닝에 대한 지식이 없더라도 생성 모델을 학습할 수 있는 두 방법론인 VAE와 GAN의 개념에 대해 이해하고
그 기술 수준을 파악할 수 있도록 강의 내용을 구성하였습니다.
Windy City DB - Recommendation Engine with Neo4jMax De Marzi
This document discusses recommendation engines and provides examples using Gremlin and Cypher to generate recommendations in a graph database. It begins with an overview of collaborative filtering, content-based filtering, and hybrid recommendation approaches. It then demonstrates how to build recommendations using Gremlin to find similar users and recommend items those users liked. It also shows how to build recommendations using Cypher to find similar users and recommend uncviewed items highly rated by those similar users.
NIPS2017 Few-shot Learning and Graph ConvolutionKazuki Fujikawa
The document discusses meta-learning and prototypical networks for few-shot learning. It introduces prototypical networks, which learn a metric space such that classification can be performed by finding the nearest class prototype to a query example in embedding space. The document summarizes results on few-shot image classification benchmarks like Omniglot and miniImageNet, finding that prototypical networks achieve state-of-the-art performance.
Learning from Computer Simulation to Tackle Real-World ProblemsNAVER Engineering
Deep learning has made great strides for problems that can be learned with direct supervision, in which a large dataset with high-quality annotation is provided (e.g., ImageNet). However, collecting such a large dataset is expensive and time-consuming. In this talk, I will discuss our recent works on learning from computer simulation to tackle real-world problems. I will first present our novel Simulated+Unsupervised (S+U) domain adaptation algorithm, which fully leverages the flexibility of data simulators and bidirectional mappings between synthetic and real data. We show that our approach achieves the improved performance on the gaze estimation task, outperforming the prior approach by Shrivastava et al. Next, I will introduce our work on building data-driven vehicle collision prediction algorithms. Today’s vehicle collision prediction algorithms are rule-based and have not benefited from the recent developments in deep learning. This is because it is almost impossible to collect a large amount of collision data from the real world. To address this challenge, we collect a large accident dataset using a popular video game named GTA and train end-to-end classification algorithms which identify dangerous objects from a given image. Furthermore, we devise a novel domain adaptation method with which we can further improve the performance of our algorithm in the real-world.
The document provides an introduction to machine learning. It discusses the author's path to becoming a data scientist and some key machine learning concepts, including:
- Required skills at different experience levels for machine learning roles
- Popular machine learning approaches like deep learning and reinforcement learning
- Common machine learning problems like one shot learning and imbalanced datasets
- How machine learning works by using tricks on data through parametric models and free parameters
- Key questions in machine learning like what to teach, how to teach, and to what entity
- Popular machine learning frameworks like TensorFlow that automate tasks
Deep Reinforcement Learning Through Policy Optimization, John Schulman, OpenAIJack Clark
This document discusses deep reinforcement learning through policy optimization. It begins with an introduction to reinforcement learning and how deep neural networks can be used to approximate policies, value functions, and models. It then discusses how deep reinforcement learning can be applied to problems in robotics, business operations, and other machine learning domains. The document reviews how reinforcement learning relates to other machine learning problems like supervised learning and contextual bandits. It provides an overview of policy gradient methods and the cross-entropy method for policy optimization before discussing Markov decision processes, parameterized policies, and specific policy gradient algorithms like the vanilla policy gradient algorithm and trust region policy optimization.
The document discusses neural networks, generative adversarial networks, and image-to-image translation. It begins by explaining how neural networks learn through forward propagation, calculating loss, and using the loss to update weights via backpropagation. Generative adversarial networks are introduced as a game between a generator and discriminator, where the generator tries to fool the discriminator and vice versa. Image-to-image translation uses conditional GANs to translate images from one domain to another, such as maps to aerial photos.
This document discusses using machine learning with R for data analysis. It covers topics like preparing data, running models, and interpreting results. It explains techniques like regression, classification, dimensionality reduction, and clustering. Regression is used to predict numbers given other numbers, while classification identifies categories. Dimensionality reduction finds combinations of variables with maximum variance. Clustering groups similar data points. R is recommended for its statistical analysis, functions, and because it is free and open source. Examples are provided for techniques like linear regression, support vector machines, principal component analysis, and k-means clustering.
Raccomender engines use content-based and collaborative filtering approaches to make recommendations. Content-based filtering recommends items based on a comparison of item characteristics to a user's profile, while collaborative filtering builds models from users' past behaviors and preferences to identify similar users and predict interests. The document then provides examples of how matrix factorization models are used for both content-based and collaborative filtering to learn latent representations of users and items from rating data through iterative optimization.
Max De Marzi gave a presentation on Gremlin, a graph traversal language used for traversing property graphs. He explained that Gremlin is implemented by most graph database vendors and is primarily used with Groovy. He demonstrated how to use Gremlin to query a Neo4j graph database, showing examples of traversing nodes and relationships. Finally, he presented a Gremlin script for providing movie recommendations based on a user's genres and ratings.
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
This presentation was provided by Racquel Jemison, Ph.D., Christina MacLaughlin, Ph.D., and Paulomi Majumder. Ph.D., all of the American Chemical Society, for the second session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session Two: 'Expanding Pathways to Publishing Careers,' was held June 13, 2024.
Temple of Asclepius in Thrace. Excavation resultsKrassimira Luka
The temple and the sanctuary around were dedicated to Asklepios Zmidrenus. This name has been known since 1875 when an inscription dedicated to him was discovered in Rome. The inscription is dated in 227 AD and was left by soldiers originating from the city of Philippopolis (modern Plovdiv).
1. Copyright Notice
These slides are distributed under the Creative Commons License.
DeepLearning.AI makes these slides available for educational purposes. You may not use or distribute
these slides for commercial purposes. You may make copies of these slides and use or distribute them for
educational purposes as long as you cite DeepLearning.AI as the source of the slides.
For the rest of the details of the license, see https://creativecommons.org/licenses/by-sa/2.0/legalcode
4. Andrew Ng
Predicting movie ratings
User rates movies using one to five stars
Ratings
= no. of users
nu
= no. of movies
nm
r(i,j)=1 if user j has
rated movie i
y(i,j) = rating given by
user j to movie i
(defined only if r(i,j)=1)
𝑛! = 4
𝑛" = 5
𝑟(1,1) = 1
𝑟(3,1) = 0 𝑦($,&) = 4
Movie Alice(1) Bob(2) Carol(3) Dave(4)
Love at last
Romance forever
Cute puppies of love
Nonstop car chases
Swords vs. karate
5
5
?
0
0
5
?
4
0
0
0
?
0
5
5
0
0
?
4
?
6. Andrew Ng
What if we have features of the movies?
Movie Alice(1) Bob(2) Carol(3) Dave(4)
Love at last 5 5 0 0
Romance forever 5 ? ? 0
Cute puppies of love ? 4 0 ?
Nonstop car chases 0 0 5 4
Swords vs. karate 0 0 5 ?
For user j: Predict user j’s rating for movie i as
For user 1: Predict rating for movie i as:
x1
(romance)
x2
(action)
0.9 0
1.0 0.01
0.99 0
0.1 1.0
0 0.9
just linear
regression
𝑛! = 4
𝑛" = 5
𝑛 = 2
w(1) = !
"
𝑏($)
= 0 x(3) = ".'
" w(1) $ x(3) + b(1) = 4.95
w(j) $ x(i) + b(j)
𝑥($) =
0.9
0
𝑥(()
=
0.99
0
w · x(i) b
+
(1) (1)
7. Andrew Ng
Notation:
r(i,j) = 1 if user j has rated movie i (0 otherwise)
y(i,j)
= rating given by user j on movie i (if defined)
w(j)
, b(j)
= parameters for user j
x(i)
= feature vector for movie i
For user j and movie i, predict rating: w(j) ! x(i) + b(j)
m(j)
= no. of movies rated by user j
To learn w(j), b(j)
1
2𝑚())
+
*:,(*,)).$
𝑤())
$ 𝑥(*)
+ 𝑏())
− 𝑦(*,)) /
J 𝑤 ( , 𝑏 ( =
min
!(")"(")
Cost function
+
λ
2𝑚($)
+
&'(
)
𝑤&
($) *
10. Problem motivation
Movie Alice (1) Bob (2) Carol (3) Dave (4) x1
(romance)
x2
(action)
Love at last 5 5 0 0 0.9 0
Romance forever 5 ? ? 0 1.0 0.01
Cute puppies of love ? 4 0 ? 0.99 0
Nonstop car chases 0 0 5 4 0.1 1.0
Swords vs. karate 0 0 5 ? 0 0.9
11. Problem motivation
𝑤(#)%
5
0
𝑏(#) = 0
, 𝑤(&)%
5
0
, 𝑏(&) = 0
, 𝑤(')%
0
5
, 𝑏(') = 0
, 𝑤(()%
0
5
, 𝑏(() = 0
𝑥(#) =
1
0
using 𝒘(𝒋)! 𝒙(𝒊) + 𝒃(𝒋)
→
𝑤(#) ! 𝑥(#) ≈ 5
𝑤(&) ! 𝑥(#) ≈ 5
𝑤(') ! 𝑥(#) ≈ 0
𝑤(() ! 𝑥(#) ≈ 0
Movie Alice (1) Bob (2) Carol (3) Dave (4) x1
(romance)
x2
(action)
Love at last 5 5 0 0 ? ?
Romance forever 5 ? ? 0 ? ?
Cute puppies of love ? 4 0 ? ? ?
Nonstop car chases 0 0 5 4 ? ?
Swords vs. karate 0 0 5 ? ? ?
𝑥(")
𝑥($)
16. Andrew Ng
Binary labels
Movie Alice(1) Bob(2) Carol(3) Dave(4)
Love at last 1 1 0 0
Romance forever 1 ? ? 0
Cute puppies of love ? 1 0 ?
Nonstop car chases 0 0 1 1
Swords vs. karate 0 0 1 ?
17. Andrew Ng
Example applications
1. Did user j purchase an item after being shown?
2. Did user j fav/like an item?
3. Did user j spend at least 30sec with an item?
4. Did user j click on an item?
Meaning of ratings:
1 - engaged after being shown item
0 - did not engage after being shown item
? - item not yet shown
18. Andrew Ng
From regression to binary classification
Previously:
Predict 𝒚 𝒊,𝒋 as 𝒘(𝒋) 6 𝒙(𝒊) + 𝒃(𝒋)
For binary labels:
Predict that the probability of 𝒚 𝒊,𝒋 = 𝟏
is given by 𝒘(𝒋) 6 𝒙(𝒊) + 𝒃(𝒋)
where g 𝑧 =
9
9:;"#
g
19. Andrew Ng
Cost function for binary application
Previous cost function:
Loss for binary labels 𝑦(+,():
Loss for
single
example
cost for all examples
3
2,0 :4 2,0 %#
𝑤(0) ! 𝑥(2) + 𝑏(0) − 𝑦(2,0) &
+
λ
2
3
2%#
1(
3
5%#
1
𝑥5
(2) &
+
λ
2
3
0%#
1'
3
5%#
1
𝑤5
0 &
1
2
𝐽 𝑤, 𝑏, 𝑥 = +
(&,():* &,( '"
𝐿 𝑓(-,.,/) 𝑥 , 𝑦 &,(
𝑓(3,0,2) 𝑥 = 𝑔(𝑤 ( 6 𝑥 + + 𝑏 ( )
𝐿 𝑓(,,.,6) 𝑥 , 𝑦 2,0 = − 𝑦 2,0 log 𝑓(,,.,6) 𝑥 − 1 − 𝑦 2,0 log 1 − 𝑓(,,.,6) 𝑥
𝑔(𝑤(0) ! 𝑥(2) + 𝑏(0))
24. Andrew Ng
Gradient descent algorithm
Learning rate
Derivative
Repeat until convergence
0
1
2
3
-0.5 0 0.5 1 1.5 2 2.5
Derivatives in ML
25. Andrew Ng
Custom Training Loop
w = tf.Variable(3.0)
x = 1.0
y = 1.0 # target value
alpha = 0.01
iterations = 30
for iter in range(iterations):
# Use TensorFlow’s Gradient tape to record the steps
# used to compute the cost J, to enable auto differentiation.
with tf.GradientTape() as tape:
fwb = w*x
costJ = (fwb - y)**2
# Use the gradient tape to calculate the gradients
# of the cost with respect to the parameter w.
[dJdw] = tape.gradient( costJ, [w] )
# Run one step of gradient descent by updating
# the value of w to reduce the cost.
w.assign_add(-alpha * dJdw)
Fix b = 0 for this example
tf.variables require special function to
modify
Tf.variables are the parameters we want
to optimize
𝑱 = (𝒘𝒙 − 𝟏)𝟐
f(x) y
𝝏
𝝏𝒘
𝑱(𝒘)
f(x)
Auto Diff
Auto Grad
26. Andrew Ng
Implementation in TensorFlow
Gradient descent algorithm
Repeat until convergence
iterations = 200
for iter in range(iterations):
# Use TensorFlow’s GradientTape
# to record the operations used to compute the cost
with tf.GradientTape() as tape:
# Compute the cost (forward pass is included in cost)
cost_value = cofiCostFuncV(X, W, b, Ynorm, R,
num_users, num_movies, lambda)
# Use the gradient tape to automatically retrieve
# the gradients of the trainable variables with respect to
the loss
grads = tape.gradient( cost_value, [X,W,b] )
# Run one step of gradient descent by updating
# the value of the variables to minimize the loss.
optimizer.apply_gradients( zip(grads, [X,W,b]) )
# Instantiate an optimizer.
optimizer = keras.optimizers.Adam(learning_rate=1e-1)
Dataset credit: Harper and Konstan. 2015. The MovieLens Datasets: History and Context
𝑛E 𝑛F
28. Andrew Ng
Finding related items
find item k with 𝒙(𝒌) similar to x(i)
i.e. with smallest
distance
The features x(i) of item i are quite hard to interpret.
𝒙(𝒌) − 𝒙(𝒊) 𝟐
5
8.)
*
𝑥8
(1)
− 𝑥8
(+) &
𝒙(𝒌)
x(i)
To find other items related to it,
29. Andrew Ng
Limitations of Collaborative Filtering
Cold start problem. How to
• rank new items that few users have rated?
• show something reasonable to new users who have rated few
items?
Use side information about items or users:
• Item: Genre, movie stars, studio, ….
• User: Demographics (age, gender, location), expressed
preferences, …
31. Andrew Ng
Collaborative filtering vs Content-based filtering
Collaborative filtering:
Recommend items to you based on rating of users who
gave similar ratings as you
Content-based filtering:
Recommend items to you based on features of user and item
to find good match
if user j has rated item i
rating given by user j on item i (if defined)
32. Andrew Ng
Examples of user and item features
Movie features:
• Year
• Genre/Genres
• Reviews
• Average rating
• …
𝐱𝐮
(𝐣)
𝐟𝐨𝐫 𝐮𝐬𝐞𝐫 𝐣
𝐱𝐦
(𝐢)
𝐟𝐨𝐫 𝐦𝐨𝐯𝐢𝐞 𝐢
User features:
• Age
• Gender
• Country
• Movies watched
• Average rating per genre
• …
Vector size
could be
different
35. Andrew Ng
Neural network architecture
User network
128
64 32
Movie network
32
128
256
Prediction :
𝒗𝒖 $ 𝒗𝒎
xu vu
⋮
⋮ ⋮
xm vm
⋮
⋮
⋮
𝒕𝒐 𝒑𝒓𝒆𝒅𝒊𝒄𝒕 𝒕𝒉𝒆 𝒑𝒓𝒐𝒃𝒂𝒃𝒊𝒍𝒊𝒕𝒚 that 𝒚(𝒊,𝒋) 𝒊𝒔 𝟏
𝒈
36. Andrew Ng
Neural network architecture
Cost
function
⋮
𝐽 = 5
+,( :-(+,().)
𝑣!
(() 6 𝑣"
(+) − 𝑦(+,() &
+ NN regularization term
Prediction
vu
xu
⋮
⋮
xm
vm
⋮ ⋮ ⋮
37. Andrew Ng
Learned user and item vectors:
Note: This can be pre-computed ahead of time
To find movies similar to movie i:
𝒗𝒖
(𝒋)
is a vector of length 32 that describes user j with features 𝒙𝒖
(𝒋)
𝒗𝒎
(𝒊)
is a vector of length 32 that describes movie i with features 𝒙𝒎
(𝒊)
39. Andrew Ng
vu
xu
⋮
⋮
xm
vm
⋮ ⋮ ⋮
⋮
predictions
How to efficiently find recommendation from
a large set of items?
• Movies 1000+
• Ads 1m+
• Songs 10m+
• Products 10m+
40. Andrew Ng
Two steps: Retrieval & Ranking
Retrieval:
• Generate large list of plausible item candidates
e.g.
1) For each of the last 10 movies watched by the user,
find 10 most similar movies
2) For most viewed 3 genres, find the top 10 movies
3) Top 20 movies in the country
• Combine retrieved items into list, removing duplicates
and items already watched/purchased
41. Andrew Ng
Two steps: Retrieval & ranking
• Take list retrieved
and rank using
learned model
• Display ranked items to user
vu
xu
⋮
⋮
xm
vm
⋮ ⋮ ⋮
⋮
predictions
Ranking:
42. Andrew Ng
Retrieval step
• Retrieving more items results in better performance,
but slower recommendations.
• To analyse/optimize the trade-off, carry out offline experiments
to see if retrieving additional items results in more relevant
recommendations (i.e., 𝑝 𝑦 &,(
= 1 of items displayed to user
are higher).
44. Andrew Ng
What is the goal of the recommender system?
Recommend:
• Movies most likely to be rated 5 stars by user
• Products most likely to be purchased
• Ads most likely to be clicked on
• Products generating the largest profit
• Video leading to maximum watch time
45. Andrew Ng
Ethical considerations with recommender systems
Travel industry
More
profitable
Good travel experience
to more users
Bid higher
for ads
Payday loans
Squeeze customers
more
More profit
Bid higher
for ads
Amelioration: Do not accept ads from exploitative businesses
46. Andrew Ng
Other problematic cases:
• Maximizing user engagement (e.g. watch time) has led to large
social media/video sharing sites to amplify conspiracy theories and
hate/toxicity
Amelioration : Filter out problematic content such as hate speech,
fraud, scams and violent content
• Can a ranking system maximize your profit rather than users’
welfare be presented in a transparent way?
Amelioration : Be transparent with users
48. user_NN = tf.keras.models.Sequential([
tf.keras.layers.Dense(256, activation='relu'),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(32)
])
item_NN = tf.keras.models.Sequential([
tf.keras.layers.Dense(256, activation='relu'),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(32 )
])
# create the user input and point to the base network
input_user = tf.keras.layers.Input(shape=(num_user_features))
vu = user_NN(input_user)
vu = tf.linalg.l2_normalize(vu, axis=1)
# create the item input and point to the base network
input_item = tf.keras.layers.Input(shape=(num_item_features))
vm = item_NN(input_item)
vm = tf.linalg.l2_normalize(vm, axis=1)
# measure the similarity of the two vector outputs
output = tf.keras.layers.Dot(axes=1)([vu, vm])
# specify the inputs and output of the model
model = Model([input_user, input_item], output)
# Specify the cost function
cost_fn = tf.keras.losses.MeanSquaredError()
vu
vm
Prediction