CS 470 - Spring 2020.


[Home]

Welcome to CS 470!

Video of the Day

Appalachian Spring Something for which to be thankful.

Poll of the Day

What is something good and unexpected that has happened to you or your family?

https://pollev.com/cs470 You may also download the app to your phone. Use the "cs470" poll id.

Coronavirus COVID-19 Global Cases by Johns Hopkins CSSE

Lecture : Learning. 3/27/2020

Administrivia

  • I have office hours Wednesdays from 4-6 pm, via zoom, standard meeting id: 316-021-726

  • ULA office hours - also on zoom. See the [Contact Info and Schedule] as well as piazza. The zoom office hours meetings are posted on canvas, under zoom. If you have trouble connecting, post a note to piazza or email cs470help@cs.yale.edu.

  • [Assignments]. hw6 has been posted. We will continue discussing it. from DTL onward.

    Question about hw5 MDP simulator. Make an xterm connection to the zoo and cd to /c/cs470/hws/aima/gui and Run

    python3 grid_mdp.py &

  • Mac alternative to mobaXterm: XQuartz

  • CS 570 project assignment is also available in [Assignments]. So far two have been submitted and approved.

    Final Exam: Friday May 1, 2pm

    The final exam will be open book and take home. I will provide more information about the scope in the coming weeks.

    Lecture: AI and the New Normal

    An adult is someone who looks both ways before crossing the street, and then gets hit by an airplane.

    Over the past few weeks, we have had our lives disrupted. I want to take this opportunity to discuss one way to think about your experience from an AI perspective. Specifically, I want to consider the Planning Domain Definition Language (PDDL) model of planning. Here is the shopping plan we looked at earlier.

    PlanningProblem(
    init='At(Home) & Sells(SM, Milk) & Sells(SM, Banana) & Sells(HW, Drill)',
    goals='Have(Milk) & Have(Banana) & Have(Drill)', 
    actions=[Action('Buy(x, store)',
               precond='At(store) & Sells(store, x)',
               effect='Have(x)'),
             Action('Go(x, y)',
               precond='At(x)',
               effect='At(y) & ~At(x)')])
    
    How would you have to modify this plan to achieve the goal: Have(N95FaceMask)?

    The PDDL plan would not work because its assumptions are no longer valid. This is true for much of our lives now. The goals and plans and actions that we took for granted are often no longer valid. We need to revisit our assumptions, abandon our old goals, formulate new plans.

    I invite you to think about this in the coming weeks. What plans no longer work? How do you cope? How do you recompute? How would you program a robot to revise its plans? How would a robot benefit from having relationships with other agents? This strikes me as a good take home exam question.

    Lecture: Learning

    The big picture.

    In traditional programming, we write rules that work on data to produce answers. The rules are the program and the data may be images or search terms or the web pages populating the internet. The results are answers: a set of links to relevant web pages.

      Traditional programming paradigm:
      
      Input: rules + data
      Output: answers
    

    With machine learning, we alter that paradigm. The input to machine learning, at least for supervised learning, is data and answers. The output is the rules for prediction.

      Machine Learning paradigm:
      
      Input: data + answers
      Output: rules (prediction function)
    

    Consider the hw6 dataset of Titanic passengers. The data is the training set of passengers with their various features. The answers are the target values, 0 or 1 to designate perished or survived. We process that data and answers through some learning algorithm, and get a prediction function which is a set or rules.

    We are trying to get the machine to figure out the rules, based on the data. That is machine learning.

    By and large, we do not make any cognitive claims for machine learning. ML does not provide models for human cognitive processes. Even neural networks, which are inspire by the architecture and behavior of neurons in the brain, should not be construed as cognitive models.

    ML is a pure engineering or statistics endeavor. We are interested in the input/output behavior of the machine. We are not trying to understand how people learn.

    Having said that, there are cognitive models of human learning. The reality is that they do not scale very well. They work on small domains, but cannot handle boatloads of data that are the wheelhouse of ML.

  • Readings: chapters 18-20
  • 2019 Scassellati Slides:
  • Stuart Russell, Berkeley Slides:

  • 0304.ipynb 0304.html
  • 0306.ipynb 0306.html
  • 0323.ipynb 0323.html
  • Machine Learning using scikit learn sklearn.html
  • learning_apps.ipynb learning_apps.html
  • neural_nets.ipynb neural_nets.html
  • sklcompare.py compare various sci kit learn algorithms.
  • learning.ipynb learning.html

  • Jupyter notebook keyboard shortcuts


    [Home]