LECTURE 01: Introduction to Algorithms and Basic Linux Computing

Slides:



Advertisements
Similar presentations
What is Statistical Modeling
Advertisements

Data Visualization STAT 890, STAT 442, CM 462
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
1 MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING By Kaan Tariman M.S. in Computer Science CSCI 8810 Course Project.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Chapter 3 Software Two major types of software
Data Mining: A Closer Look
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
U.S. Department of the Interior U.S. Geological Survey David V. Hill, Information Dynamics, Contractor to USGS/EROS 12/08/2011 Satellite Image Processing.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Algorithms Describing what you know. Contents What are they and were do we find them? Why show the algorithm? What formalisms are used for presenting.
INTRODUCTION TO COMPUTER PROGRAMMING itc-314 LECTURE 01.
Topics Introduction Hardware and Software How Computers Store Data
CSC141 Introduction to Computer Programming
Week 7 Working with the BASH Shell. Objectives  Redirect the input and output of a command  Identify and manipulate common shell environment variables.
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Artificial Neural Network Theory and Application Ashish Venugopal Sriram Gollapalli Ulas Bardak.
CS654: Digital Image Analysis Lecture 3: Data Structure for Image Analysis.
 The most intelligent device - “Human Brain”.  The machine that revolutionized the whole world – “computer”.  Inefficiencies of the computer has lead.
Machine Learning.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Some questions -What is metadata? -Data about data.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
CHAPTER 1: Introduction. 2 Why “Learn”? Machine learning is programming computers to optimize a performance criterion using example data or past experience.
WHAT IS THIS? Clue…it’s a drink SIMPLE SEQUENCE CONTROL STRUCTURE Introduction A computer is an extremely powerful, fast machine. In less than a second,
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Data Summit 2016 H104: Building Hadoop Applications Abhik Roy Database Technologies - Experian LinkedIn Profile:
Business Analytics Several odds and ends Copyright © 2016 Curt Hill.
Applications and Rendering pipeline
Big data classification using neural network
Who am I? Work in Probabilistic Machine Learning Like to teach 
Topic: Introduction to Computing Science and Programming + Algorithm
Nature & Types of Software
Topics Introduction Hardware and Software How Computers Store Data
Machine Learning overview Chapter 18, 21
Deep Learning Amin Sobhani.
Machine Learning overview Chapter 18, 21
Lesson Objectives Aims From the spec:
Eick: Introduction Machine Learning
School of Computer Science & Engineering
Topic: Python’s building blocks -> Variables, Values, and Types
System Programming and administration
Course: Introduction to Computers
Reading: Pedro Domingos: A Few Useful Things to Know about Machine Learning source: /cacm12.pdf reading.
Introduction to Data Science Lecture 7 Machine Learning Overview
AWS Batch Overview A highly-efficient, dynamically-scaled, batch computing service May 2017.
CH. 1: Introduction 1.1 What is Machine Learning Example:
Introduction CSE 1310 – Introduction to Computers and Programming
Machine Learning Ali Ghodsi Department of Statistics
Unsupervised Learning and Autoencoders
Chapter 15 QUERY EXECUTION.
Making PowerShell Useful
Objective of This Course
CSE 303 Lecture 1 introduction to Linux/Unix environment
CS110: Discussion about Spark
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Topics Introduction Hardware and Software How Computers Store Data
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
Christoph F. Eick: A Gentle Introduction to Machine Learning
Machine Learning with Databricks
Design and Analysis of Algorithms
Automatic Handwriting Generation
Machine Learning overview Chapter 18, 21
COMPUTER ORGANIZATION
Machine Learning for Cyber
Presentation transcript:

LECTURE 01: Introduction to Algorithms and Basic Linux Computing Topics: The Login Environment Processes and Shells The Bash Shell The Command Line (Very Basic) .profile and .bashrc Customization Resources: Syllabus Lynda.com: YouTube: Ubuntu Installation The Linux Desktop Login Resources Introduction to Linux Environment Variables Customizing the Environment The Command Prompt Unix and Shells

What Is An Algorithm? Wikipedia: “In mathematics and computer science, an algorithm is a self-contained step- by-step set of operations to be performed.” Algorithms perform calculation, data processing, and/or automated reasoning tasks. The English word 'algorithm' comes from Medieval Latin word algorism and the Greek word "arithmos" (ἀριθμός). Khan Academy: “A set of steps to accomplish a task.” Typical algorithms might be your strategy for beating traffic when you drive to work, or how you get out of bed and prepare for school each morning. We use computer to implement algorithms that are too computationally complex to do manually. Programming is more about algorithms than languages and syntax.

What Is A Functional Mapping? A functional mapping is a mathematical function that expresses a relationship between inputs and output (e.g., converts data to labels). Some mappings are deterministic (e.g., they produce the same result each time an input sequence is applied). Some mappings are stochastic (e.g., they can produce different outcomes for the same input). In this microcourse, we will focus on algorithms that learn mappings between images and numbers. An image is a picture stored pixel by pixel (e.g., jpeg, png, gif). Each pixel can be represented by three colors (e.g., rgb) or a single grayscale value (represented numerically using the range [0,255]).

Machine Learning: Automatically Learning Mappings In supervised learning, we provide the machine with lots of examples of input data and the associated labels (e.g., answers). Labels often come from expert knowledge (e.g., a human expert reviews the data). Data labeled by humans is expensive to develop and difficult to interpret. Unsupervised learning is a type of machine learning algorithm used to draw inferences from datasets consisting of input data without labeled responses. The most common unsupervised learning method is cluster analysis, which is used for exploratory data analysis to find hidden patterns or grouping in data.

Big Data: Machines Need Data to Learn Mappings Big data is a term for data sets that are so large or complex that traditional data processing applications are inadequate to deal with them. There are so many variables to learn in a real-world problem involving human inference that almost any data set is too small. Big data and machine learning are used to automatically learn, or discover, relationships between data. Only with vast amounts of data do true underlying relationships emerge. Complex machine learning systems are able to “memorize” patterns in small data sets, but are unable to generalize well to new or previously unseen datasets.

Computation Plays A Vital Role High performance machine learning systems use large Linux compute clusters to learn (e.g., Amazon AWS, Microsoft Azure). Algorithms are often optimized to run on low- cost high performance chips known as a Graphics Processing Unit (GPU). Algorithms run in parallel (on multiple CPUs simultaneously) because training is expensive. In this course, you will use a Linux compute cluster located at neuronix.nedcdata.org (at Temple University). This cluster consists of 5 compute nodes with 128 general purpose cores, 4 GPUs, over 20T of disk space, and 1T of physical memory, at a total system cost of $30K.

Summary This microcourse will teach you the basics of how to design and implement a functional mapping for real-world data. Algorithms are everywhere today, even when you shop online. Machine learning and big data play an integral role in the development of these algorithms. Linux computing clusters are used to train, optimize and evaluate algorithms. Therefore, in this microcourse, you will learn the basics of Linux-based distributed parallel computing in addition to learning about algorithms, big data and machine learning.