Kadenze「Machine Learning for Musicians and Artists」とは?
Machine Learning for Musicians and Artists - an Online Machine Art Course at Kadenze
「MACHINE LEARNING FOR MUSICIANS AND ARTISTS」はe-learningサイトKadenzeの講義名である。ミュージシャンやアーティストの作品制作向けに、機械学習の講義が行なわれている。
講師紹介
講師はRebecca Fiebrink(@RebeccaFiebrink)さん。ロンドンのゴールドスミス大学の講師の方。
Session1
Introductionなので省略。
Session2 Classification
- 位置によって音を変える
- ダンサーの動きを想定
- flow
- input
- model
- 教師あり学習
- ダンサーの位置とラベル付け
- left right
- 教師あり学習
- output
- Building a Simple Classifier
- wikinator
- 低い音、高い音の位置をプロット
- trainingさせる
- Nearest Neighbor and Decision Stump Algorithms
- 一番近い点に注目
- decision stump
- thresholdを持つ
- 座標で判定
- Decision Boundaries and Comparing Classifiers
- processingのbuttonを押すと領域を描画
- nearest alogrithnmなどのアルゴリズムを選択できる
- 境界が曲線で複雑
- decision stumpではうまく境界を引けない場合がある
- 実際はnoiseが混じる場合がある
- sensitiviすぎると境界がおかしくなる
- k-nearest
- 3-nearest neighbor
- 3は変えられる
- Working with Multiple Classes; Decision Trees
- 3つ以上の変数を考える
- red,blue,green
- decision stumpはおかしくなる
- one decision node
- decision treeを使う
- 3つでも分けられる
- 3つ以上の変数を考える
- Artistic Applications of Classification
- labelありdata
- credit cardの不正利用
- medical condition
- email spam
- face position
- prior shopping
- 妊娠しているのかを商品購入履歴から聞く
- music
- genre
- note
- enjoy
- humans
- position,pose
- location in room
- EEG sensor
- other
- tweet angry
- raining?
- sound
- instrument
- chrod
- animaition
- color
- object
- generative algorithnm
- classificationがマッチするのか考える必要
- Features
- poolの中にダンサーがいると3次元
- 100次元なんかもある
- leap motion
- 15次元
- 指の位置
- 5本の指で3次元
- 指を広げる、閉じるの位置をtraining
- 15次元を可視化するのは難しい
- wekinatorがデータを保持している
- spleed sheetはcomputor扱いやすい
- Features Selection
- finger up, downで音を変える
- 一つの指で判定してみる
- 他の指の位置を無視する
- wikinatorでどの指を見るのか選択
- 水平線上に点を打つ
- y featureを見ない
- feature selectionが大事
- Anatomy of a musical classification system: Blinky
- lap top オーケストラ
- webcam
- ライトを読み込んで音を鳴らす
- 18 features
- six classes
- Practical tips for building classifiers with Wekinator
- drum example
- 位置でdrumの音を変える
- Conclusion
- 他のアルゴリズムも今後学ぶ
Session3:Regression
- what is regression
- 楽器を例にする
- kinect
- chuck
- 手の位置で音を変える
- smoothly change
- outputがnumber
- two types
- linear regression
- neural networks
- what is a regression model
- x positionだけ入力してみる
- hand positionで変える
- low pitch
- high pitch
- train
- train後、点を打つ
- 位置により音の高さが変わる
- draw line
- linear regression
- y = ax + b
- complicate y = ax + bx + c
- 直線になるのでばらつきがあるとはっきり分けることができない
- Polynomial regression
- parabola
- 二次曲線
- y = ax^2 + bx + c
- 次元が増えると複雑な曲線になる
- parabola
- Which regression model is best?
- どういうときにどのモデルを選択するのが良いのか
- nearest neibourはnoiseにsensitive
- dataによって回帰の曲線がかなり変わる
- bestなアルゴリズムはない
- Introduction to neural networks for regression
- unitをneuron
- weightとbias
- valueはtrainによってセット
- s shape fuction
- 0に近づくと05
- sigmoid
- perception
- 1つのニューロン
- layerを構成
- input layer
- handx,y,z
- layerを重ねる
- hidden layer
- outputは一つ
- Using neural networks
- wekinatorのdefaultはhidden layerが一つ
- nodeごとにsigmoid
- 曲線がsigmoidになる
- うまくいかない場合もある
- better curve
- add hidden node
- add hidden layer
- more node
- neuralnet work
- complexityがあがる
- no free lunch
- no best algorithnm
- Mapping and creation of new expressive
- interface design
- buttonを怒って押そうが結果は同じ
- violine
- position
- speed
- complicated wayで演奏される
- ボタンとは違う
- color
- patternなど
- hardware to software
- one instance
- アコースティック
- midi controller
- one to oneは演奏難しい
- input mapping out dozen
- wekinator
- all to all mapping
- The Blotar comes alive
- game track
- USB接続
- joy stick
- 3次元が二つ
- max
- easy to controll
- Training as optimization: Linear and polynomical
- 数式の説明
- Training neural networks
- optimazation problem
- unknown values
- objective function
- random numberをevaluate
- smarter search
- changing unknown value
- 変数を少しずつ変えて調整する
- derivative score
- Gradient descent
- Back propagation
- output
- gradient descentを使う
- behind out layerのnodeを見る
- weka
- optimazation problem
- Pratical tips for using regression with Wikinator
- Conclusion
Session 4: Classification, Part II; Design considerations
- Overview
- classifier
- どのようにモデルを作るか
- どのようなアルゴリズムが良いのか経験的に知っている
- What is a good classifier
- noiseがあるか
- Cはマッチしすぎ
- Occams Razor
- classifierを複雑にしすぎない
- K-nearest Neighbor; Reasoning about Feature Spaces
- ユークリッド
- 距離の公式
- features
- heart rate
- classes
- calm
- excited
- 距離が近い方を該当クラスに
- Kはparameterを表す
- 1-nearestよりは計算時間かかる
- overfit
- データにフィットしすぎ
- Naive Bayes
- class1,2になる確率
- fox,cat
- foxが庭に来る
- webcamで監視
- cat,foxの体の大きさを調べる
- foxes
- 平均の大きさが密集している
- とても大きい、小さいが少ない
- cat90%
- fox10%
- bayes rule
- body length以外も試せる
- fast training
- ナイーブベイズ分類器を頑張って丁寧に解説してみる - Qiita
- Decision Stumps and Decision Trees
- labelが間違っている場合
- BかCのLine
- Cが良いのはmiddleだから
- ocamn razor
- entropy
- entropyが低いようにdecision nodeを決める
- C4.5アルゴリズム
- labelが間違っている場合
- AdaBoost
- 外れたデータをweight
- unweighted error
- 広がった境界に加わったデータ
- またweightする
- iterationする
- AdaBoost - Wikipedia
- Support Vector Machines
- marginを最大化
- circle boundary
- 3次元にして単純な線で切る
- 2次元にすると境界ができている
- higher dimentionnal
- kernel
- RBF
- Cが多すぎるとoverfit
- kernelのタイプによってうまくいくかが変わる
- Evaluating Classifiers
- 複数のアルゴリズムを試して良いのを選ぶ
- cross-validation
- hould out test
- テストを繰り返す
- average fold accuracy
- Using a Probability Distribution Over Classes
- 手の位置で音を変える
- Using more than one classifier at once
Session 5: Sensors and features: Generating useful inputs for machine learning
- Intro
- Smoothing and Filtering: Arduino Demo
- Video Feature
- oF addon
- color tracking
- RGB space
- pixel
- Fiducials
- 回転もとれる
- Haar cascades
- 顔認識など
- sunglassesをつける
- ada boostを使用
- Frame前後の比較
- moving quickly
- pixelに変化
- Optical flow
- How Fast to send them?
- wkinator
- featureを早く送る
- 録音時間が長いと時間もかかる