72:老師矩陣還有什麼用呀
RN:就像我們之前有說過的
矩陣可以拿來做紀錄
除了紀錄影像之外
也可以紀錄狀態的改變
有的時候都會覺得下雨天的時候開車的人更多了
假設下雨天的時候選擇交通工具的狀態改變如下
狀態 | 前一天開車 | 前一天騎車 |
---|---|---|
今天開車 | 0.9 | 0.7 |
今天騎車 | 0.1 | 0.3 |
這是一個「轉移矩陣」(Transition Matrix)
他在記錄狀態改變的走向
如果今天下雨,前一天是開車,則今天有 90% 可能繼續開車
如果今天下雨,前一天是開車,則今天有 10% 可能改成騎車
轉移矩陣的用處
是希望能找到「穩定狀態」
我們舉另一個例子
假如一間餐廳有三道招牌菜
每天在這些招牌菜選擇的忠實顧客的狀態有以下紀錄:
狀態 | 前一天吃 A | 前一天吃 B | 前一天吃 C |
---|---|---|---|
今天吃 A | 0.5 | 0.4 | 0.1 |
今天吃 B | 0.2 | 0.4 | 0.3 |
今天吃 C | 0.3 | 0.2 | 0.6 |
假設現在這三道菜的忠實顧客比例為 0.1, 0.1, 0.8
則我們可以用下面簡單的方式檢驗
無論你將原始的顧客比例設為多少
最後都會達到「穩定狀態」
也就是顧客比例 0.3158, 0.2983, 0.386
import numpy as np
trans_matrix = np.array([[0.5, 0.4, 0.1],
[0.2, 0.4, 0.3],
[0.3, 0.2, 0.6]])
now_cus = np.array([0.0, 0.0, 1.0])
temp_cus = np.array([0.0, 0.0, 0.0])
while not np.array_equal(temp_cus, now_cus):
temp_cus = now_cus
now_cus = np.round(np.dot(trans_matrix, now_cus), 4)
print(now_cus)