Back to Courses

Algorithms Courses - Page 26

Showing results 251-260 of 326
Approximation Algorithms Part II
Approximation algorithms, Part 2 This is the continuation of Approximation algorithms, Part 1. Here you will learn linear programming duality applied to the design of some approximation algorithms, and semidefinite programming applied to Maxcut. By taking the two parts of this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques. Upon completion, you will be able to recognize, when faced with a new combinatorial optimization problem, whether it is close to one of a few known basic problems, and will be able to design linear programming relaxations and use randomized rounding to attempt to solve your own problem. The course content and in particular the homework is of a theoretical nature without any programming assignments. This is the second of a two-part course on Approximation Algorithms.
Machine Learning Algorithms: Supervised Learning Tip to Tail
This course takes you from understanding the fundamentals of a machine learning project. Learners will understand and implement supervised learning techniques on real case studies to analyze business case scenarios where decision trees, k-nearest neighbours and support vector machines are optimally used. Learners will also gain skills to contrast the practical consequences of different data preparation steps and describe common production issues in applied ML. To be successful, you should have at least beginner-level background in Python programming (e.g., be able to read and code trace existing code, be comfortable with conditionals, loops, variables, lists, dictionaries and arrays). You should have a basic understanding of linear algebra (vector notation) and statistics (probability distributions and mean/median/mode). This is the second course of the Applied Machine Learning Specialization brought to you by Coursera and the Alberta Machine Intelligence Institute.
Probabilistic Graphical Models 1: Representation
Probabilistic graphical models (PGMs) are a rich framework for encoding probability distributions over complex domains: joint (multivariate) distributions over large numbers of random variables that interact with each other. These representations sit at the intersection of statistics and computer science, relying on concepts from probability theory, graph algorithms, machine learning, and more. They are the basis for the state-of-the-art methods in a wide variety of applications, such as medical diagnosis, image understanding, speech recognition, natural language processing, and many, many more. They are also a foundational tool in formulating many machine learning problems. This course is the first in a sequence of three. It describes the two basic PGM representations: Bayesian Networks, which rely on a directed graph; and Markov networks, which use an undirected graph. The course discusses both the theoretical properties of these representations as well as their use in practice. The (highly recommended) honors track contains several hands-on assignments on how to represent some real-world problems. The course also presents some important extensions beyond the basic PGM representation, which allow more complex models to be encoded compactly.
Build a Guessing Game Application using C++
In this project you will create a guessing game application that pits the computer against the user. You will create variables, static methods, decision constructs, and loops in C++ to create the game. C++ is a language developed to provide an Object-Oriented version of the C language. Learning C++ then gives the programmer a wide variety of career paths to choose from. It is used in many applications, from text editors to games to device drivers to Web Server code such as SQL Server. There is no more efficient higher level language than C, and C can be used within C++ code, since the C++ compiler supports C as well. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
C++ Inheritance, Aggregation and Composition
In this project you will create a C++ application that inherits from a Car class and use aggregation and composition in a class that uses one to many Car objects. A hallmark of Object-Oriented programming is code-reuse. Code re-use allows the developer to use tried and tested code, which results in more reliable code and saves in development time as well. In Object-Oriented Programming in a language such as C++, code re-use can be accomplished in two distinctive ways. One way is to inherit from an existing class by extending its existing functionality. Another common way to re-use code is through aggregation and composition. In aggregation, the class is made up of other existing classes that may exist independent of the child class. In composition, the child class depends on its parent for existence. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
Get Familiar with ML basics in a Kaggle Competition
In this 1-hour long project, you will be able to understand how to predict which passengers survived the Titanic shipwreck and make your first submission in an Machine Learning competition inside the Kaggle platform. Also, you as a beginner in Machine Learning applications, will get familiar and get a deep understanding of how to start a model prediction using basic supervised Machine Learning models. We will choose classifiers to learn, predict, and make an Exploratory Data Analysis (also called EDA). At the end, you will know how to measure a model performance, and submit your model to the competition and get a score from Kaggle. This guided project is for beginners in Data Science who want to do a practical application using Machine Learning. You will get familiar with the methods used in machine learning applications and data analysis. In order to be successful in this project, you should have an account on the Kaggle platform (no cost is necessary). Be familiar with some basic Python programming, we will use numpy and pandas libraries. Some background in Statistics is appreciated, like as knowledge in probability, but it’s not a requirement.
Optimize ML Models and Deploy Human-in-the-Loop Pipelines
In the third course of the Practical Data Science Specialization, you will learn a series of performance-improvement and cost-reduction techniques to automatically tune model accuracy, compare prediction performance, and generate new training data with human intelligence. After tuning your text classifier using Amazon SageMaker Hyper-parameter Tuning (HPT), you will deploy two model candidates into an A/B test to compare their real-time prediction performance and automatically scale the winning model using Amazon SageMaker Hosting. Lastly, you will set up a human-in-the-loop pipeline to fix misclassified predictions and generate new training data using Amazon Augmented AI and Amazon SageMaker Ground Truth. Practical data science is geared towards handling massive datasets that do not fit in your local hardware and could originate from multiple sources. One of the biggest benefits of developing and running data science projects in the cloud is the agility and elasticity that the cloud offers to scale up and out at a minimum cost. The Practical Data Science Specialization helps you develop the practical skills to effectively deploy your data science projects and overcome challenges at each step of the ML workflow using Amazon SageMaker. This Specialization is designed for data-focused developers, scientists, and analysts familiar with the Python and SQL programming languages and want to learn how to build, train, and deploy scalable, end-to-end ML pipelines - both automated and human-in-the-loop - in the AWS cloud.
AI Capstone Project with Deep Learning
In this capstone, learners will apply their deep learning knowledge and expertise to a real world challenge. They will use a library of their choice to develop and test a deep learning model. They will load and pre-process data for a real problem, build the model and validate it. Learners will then present a project report to demonstrate the validity of their model and their proficiency in the field of Deep Learning. Learning Outcomes: • determine what kind of deep learning method to use in which situation • know how to build a deep learning model to solve a real problem • master the process of creating a deep learning pipeline • apply knowledge of deep learning to improve models using real data • demonstrate ability to present and communicate outcomes of deep learning projects
Machine Translation
Welcome to the CLICS-Machine Translation MOOC This MOOC explains the basic principles of machine translation. Machine translation is the task of translating from one natural language to another natural language. Therefore, these algorithms can help people communicate in different languages. Such algorithms are used in common applications, from Google Translate to apps on your mobile device. After taking this course you will be able to understand the main difficulties of translating natural languages and the principles of different machine translation approaches. A main focus of the course will be the current state-of-the-art neural machine translation technology which uses deep learning methods to model the translation process. You will be able to decide which concepts fit your machine translation application best. This course is taught by Prof. Dr. Alexander Waibel (http://isl.anthropomatik.kit.edu/english/21_74.php) and Assistant Professor Dr. Jan Niehus (https://www.maastrichtuniversity.nl/jan.niehues).
Cloud Computing Concepts: Part 2
Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more! Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required. The course also features interviews with leading researchers and managers, from both industry and academia. This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.