---
# System prepended metadata

title: Ch3 Types of Learning
tags: [機器學習基石上：數學篇]

---

---
tags: 機器學習基石上：數學篇
---

Ch3 Types of Learning
===

## Content
[TOC]

## [Slides & Videos](https://www.csie.ntu.edu.tw/~htlin/mooc/)


## [Learning with Different Output Space](https://www.coursera.org/learn/ntumlone-mathematicalfoundations/lecture/8Ykqy/learning-with-different-output-space)

### 較進階的問題
#### Structured Learning
<!-- ![](https://johnnyasd12.gitbooks.io/machine-learning-ntu/content/assets/structuredLearning.jpg) -->
![](https://i.imgur.com/3VziAgd.png)

## [Learning with Different Data Label](https://www.coursera.org/learn/ntumlone-mathematicalfoundations/lecture/xCoo9/learning-with-different-data-label)

#### Clustering 應用

- articles => topics
- consumer profiles => consumer groups

#### 其他 Clustering 問題

<!-- ![](https://johnnyasd12.gitbooks.io/machine-learning-ntu/content/assets/unsupervised01.jpg) -->
![](https://i.imgur.com/SRrm2yb.png)
- 密度分析
- 異常資料偵測

### Semi-Supervised Learning
<!-- ![](https://johnnyasd12.gitbooks.io/machine-learning-ntu/content/assets/semiSupervised.jpg) -->
![](https://i.imgur.com/V8t1E9A.png)

### Reinforcement Learning
<!-- ![](https://johnnyasd12.gitbooks.io/machine-learning-ntu/content/assets/reinforceLearning.jpg) -->
![](https://i.imgur.com/QERtcYW.png)

## [Learning with Different Protocol](https://www.coursera.org/learn/ntumlone-mathematicalfoundations/lecture/qWVk1/learning-with-different-protocol)

- Batch
    - 一次進一整批資料，學好 $g$，$g$就不動了
- Online Learning
- PLA 的變形可以用在 Online Learning
- Reinforcement Learning
- Active Learning
    - 讓機器有問問題的能力(ex: 機器現在有這個x它不認識, 問y是多少)

## [Learning with Different Input Space](https://www.coursera.org/learn/ntumlone-mathematicalfoundations/lecture/T1w6q/learning-with-different-input-space)

### Concrete Features v.s. Raw Features

![](https://i.imgur.com/BF1ygMf.png)
- **concrete** features：很具體的 feature，可能跟我們想要做的事情(要輸出的東西) 有關
    - 實際上 concrete feature 代表一些滿複雜的、已經處理過的資訊
    - 通常都帶有一些人類的智慧對這個問題的描述，我們常稱之為 domain knowledge

![](https://i.imgur.com/hq2K1ci.png)
- **raw** features：通常比 concrete features 還要來得抽象一些，越抽象就表示對機器來說這個問題越困難
- 把 raw feature 轉換成 concrete feature 的過程，可能是人幫機器做，也可能是機器自動做
    - 而人幫機器做又稱 feature engineering

#### 特別困難的問題
ex: 從抽象的features中抽取出有意義的features
input feature:
- 使用者ID
- 歌曲ID

predict:
- 使用者給歌曲的分數
















