CS 470 - Spring 2020.


[Home]

Welcome to CS 470!

Video of the Day

Titanic Facts

Poll of the Day

What is the new normal for you? (continued)

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/25/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. (titanic attributes) I have posted some updates to the document since Monday. You should probably get a fresh copy.

    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

    A few students have a conflict with that date. To accomodate them, I will offer the exam on Monday May 4th at 7pm, when I am giving another exam. If you are interested in the alternate timeslot, please let me know so that I can be sure that we have a big enough room.

    The final exam will administered remotely. Stay tuned for more information.

    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
  • neural_nets.ipynb neural_nets.html
  • learning_apps.ipynb learning_apps.html
  • sklcompare.py compare various sci kit learn algorithms.
  • learning.ipynb learning.html

  • Jupyter notebook keyboard shortcuts


    [Home]
    Last modified: 02/27/2020 17:35:01