SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
國立臺北護理健康大學 NTUHS
Clustering
Orozco Hsu
2021-12-06
1
About me
• Education
• NCU (MIS)、NCCU (CS)
• Work Experience
• Telecom big data Innovation
• AI projects
• Retail marketing technology
• User Group
• TW Spark User Group
• TW Hadoop User Group
• Taiwan Data Engineer Association Director
• Research
• Big Data/ ML/ AIOT/ AI Columnist
2
Tutorial
Content
3
K-means algorithm and other algorithms demo
Hard clustering v.s. Soft clustering
Homework
Clustering introduction
Recommendation on K-means
Code
• Download code
• https://github.com/orozcohsu/ntunhs_2021.git
• Folder
• 20211206_day_master
4
Clustering introduction
• 為一種非監督式學習,用來解決分群問題
• 事前不須要對數據進行標記
• 應用情境
• 文件分群: 結合文字探勘技術,利用斷詞後的文字做為特徵值,如分群後
的結果以人工的方式判斷某一群比較像政治類新聞,並且給予該群名稱
• 市場區隔: 透過產品的特徵值進行分群,分群的結果可比較產品間的差異
• 客戶分群: 透過客戶行為擷取出特徵值,分群後的結果將客戶進行區隔,
針對不同群的客戶執行特別的行銷方案
• 生物分群: 界、門、綱、目、科、屬、種
5
Clustering introduction
• 顧客分群常見做法介紹
• 透過銷售紀錄找出三個關
鍵指標
• R – 最近互動時間
• F – 購買頻次
• M – 購買金額
6
參考: https://couplehonest.com/rfm-nes-cohort-google-sheet-excel-crm/
Clustering introduction
• 利用客戶RFM作為分群的樣本資料集
7
參考: https://towardsdatascience.com/segmenting-customers-using-k-means-and-transaction-records-76f4055d856a
Clustering introduction
• 常見的演算法
• K-Menas
• Hierarchical Clustering
• Mini-Batch K-Means
• BIRCH
• DBSCAN
• Spectral Clustering
• Gaussian Mixture Model
8
Mini-Batch K-Means
• 步驟簡述
• 傳統的K-Means可能會遇到大資
料集產生的時間、空間的問題,
因為所有資料都必須置放於記憶
體當中
• 採用隨機較小的樣本資料集,以
便於放置記憶體當中,計算過程
中不斷拿取小樣本進行更新,直
到模型收斂為止
9
參考: https://www.itread01.com/content/1546477941.html
Hierarchical Clustering
• 步驟簡述
• 把每一個點當作一個群組
• 透過掃描過整個資料及尋找出最近的
兩個群組,並把這兩個點榜再一起變
成一個群組
• 尋找下一個最近的的兩個群組,再綁
再一起變成一個群組
• 直到所有資料都被分成一群,或是透
過設定參數到分到幾個群時自動停止
• 特色
• 比較耗能,每一次迴圈都要比對所有
樣本資料
• 透過樹狀圖可以完整了解群組關係
10
參考:
https://www.researchgate.net/figure/Dendrogram-
obtained-by-hierarchical-cluster-analysis-HCA-of-the-
morphological_fig1_335658239
DBSCAN
11
• 步驟簡述
• 計算樣本的密度,透過設定多長
的半徑內,有出現幾個點,不斷
延伸,延伸到無法延伸,所有出
現在前面延伸範圍的點分成一個
群組
• 特色
• 不須設定群的數量
• 常用來偵測 noise 樣本 參考: https://zhuanlan.zhihu.com/p/353705498
BIRCH
• 步驟簡述
• 利用樹結構來幫助實現快速的分群,
該結構類似於平衡B+樹
• 稱之為分群特徵樹(Clustering
Feature Tree,簡稱CF Tree)
• 該樹的每一個節點是由若干個分群特
徵(Clustering Feature,簡稱CF)組成
• 執行速度很快,只需要單遍掃描資料
集就能進行聚類
• 適合於資料量大,分群數量 K也比較
多的情況
• 特色
• 不須設定群的數量
12
參考: https://www.gushiciku.cn/dc_tw/104504172
Spectral Clustering
• 步驟簡述
• 結合圖論的分析,將資料點間的關係建構權重圖(weighted graph),
也就是將頂點(vertex)作為資料點,邊(edge)則表示資料點間的距離
• 透過鄰接矩陣,則可把兩點間連接的強度一一表示。接下來將圖切割成數
個子圖以達到分群的效果。然而,裁切的方式應最小化子圖間的連接關係,
同時最大化每個子圖內的連接關係
• 特色
• 對於稀疏資料點的分群有顯著的效果
• 相似矩陣的計算方式得到不同的分群效果
• 相似的定義
13
參考: https://www.jianshu.com/p/9ada98cd322b
Spectral Clustering
14
參考: https://www.researchgate.net/figure/Comparison-between-K-Means-and-spectral-clustering_fig1_319284000
Gaussian Mixture Model
• 步驟簡述
• 可以被視為k-means的延伸,目的是做更正確的數據
分群
• 當資料分布於各群的邊界上時,容易會出現資料分類
不正確,透過最大期望演算法(EM)方法,持續實作
E-M步驟,重複直到收斂為止,目的就是找出適當的
資料分群
• E步驟:對於每個點,找到每個聚類中成員的權重
• M步驟:對於每個群集「權重」,根據所有數據點更新
其位置
• 特色
• 需事先決定k群分布
• 常用於語音識別
15
參考: https://towardsdatascience.com/gaussian-mixture-models-explained-6986aaf5a95
Gaussian Mixture Model
16
• GMM 則是藉由統計後,計算
機率分布得到中心點和sigma
作為模型資訊
• 在一維空間中就是高斯分佈的
鐘型二維空間中會出現類似陀
圓形的樣子
參考: https://jarvus.dragonbeef.net/note/noteKmeansGMM.php
K-means
• 為非監督式學習一種
• 不需要準備數據標記
17
參考: https://zhuanlan.zhihu.com/p/97510390
K-means
• 演算法步驟
• 定義K值,決定分群數目
• 隨機給各K群中心點,計算所有訓練樣本,把每個訓練樣本分配到距離最
近的K群當中
• 移動各K群的中心點,讓該中心點為該群所有樣本距離和的平均處
• 重複上述動作,直到中心點不再移動為止
• 算法說明 (1)
• 輸入: K值
• 訓練樣本: x(1), x(2), x(3), x(4)… x(m)
• 隨機選擇各K群中心點: u1, u2, u3…uk
18
K-means
• 算法說明 (2)
• 紀錄距離最短的群,然後把該點分配到該群
19
K-means
• 算法說明 (3)
• 從 1 ~ K 查訪所有中心點,並移動開中心點到新的位置,也就是該群的
所有樣本至中心點的平均值處
• 重複步驟,直到各K群中心點不再移動為止
20
K-means
• 算法說明 (4)
• 根據成本函數的定義,模型預測值與實際值的誤差
21
K-means
• 常見的問題
• 選擇K群予各別的中心點為隨機取樣,最終分群的結果與隨機中心點有關
• 不同的隨機中心點可能會得到不同的分群結果
• 成本函數可能會收斂在一個局部最佳解,而不是全域最佳解
• 通常作法為多做幾次隨機中心點,最終訓練出不同K群中心點後,再用這
些值計算出成本函數,從中選擇成本函數最小的
22
次數編號 K值 各K群中心點 計算成本函數
001 8 001: u1, u2, u3…uk 0.5
002 8 002: u1, u2, u3…uk 0.3
003 8 003: u1, u2, u3…uk 0.1
K-means
• K值的選擇
• 經驗法則
• 先分100群,透過觀察每一群的特徵後,人工進行合併各群
• 透過輪廓係數,觀察成本函數與K值間的關係,找出鞍點 (Saddle point)
即為K值
23
a: 一個樣本與其所在的群(同群)之間的平均距離
b: 一個樣本與其距離最近的下一個群內的樣本點的平均距離
S: 介於 [-1,1],該值則越大越好,代表越好
kmeans.ipynb
K-means + Canopy 的快速算法
• 原因
• K-means的計算複雜度低,但演算法本身效能十分依賴各群隨機取樣的
中心點,同時對於噪音數據也十分敏感
• 為解決以上問題,引進 Canopy 算法,為 K-means 先粗略生成各群隨
機中心點,因此可以減少計算時本身的迭代次數
• 演算法步驟
• 根據 T1, T2 兩個參數確定群的中心點,大於 T1 會被認為是離群中心點
過遠而去除,小於T2 會被認為離自身的群過近,不適合作為群的中心點
• 通過以上邏輯對於每一個訓練樣本進行計算篩選,首先會過濾掉偏離的
噪音數據之外,也會生成一定數量的相對合理的中心點
24
K-means + Canopy 的快速算法
• 算法說明(1)
• 將訓練樣本進行排序,紀錄於列表中,排序後不可以改變,
• 設定初始值 T1, T2,且 T1 > T2
• 從訓練樣本中,隨機取一個樣本為中心點,計算與其他所有的距離
• 若距離小於 T1 但大於 T2,則該點屬於該中心點所在的 canopy 內
• 若距離小於 T2,則該點與該中心點距離過近,不適合在做中心點,於是將該點從
列表中刪除
• 重複上述步驟,完成列表上的樣本點
• 此時會得出 n 個中心點,將這些點用於 K-means 的隨機中心點
• n 為初始 K值
• 檢視最終分群結果 (視覺化圖表),如果某群內的樣本數量小於一定數據,則可判定
為噪音數據
25
K-means + Canopy 的快速算法
26
參考: https://zh.codeprj.com/blog/b1b65d1.html
canopy.ipynb
Hard clustering v.s. Soft clustering
• Hard clustering
• Each point is assigned to a one and only one cluster (hard assignment)
• With K-means we try to find K centroids {μ1,…,μK} and the corresponding
• Soft clustering (Fuzzy C-Means Clustering: FCM)
• Each point is assigned to all the clusters with different weights or probabilities
(soft assignment)
27
Hard clustering v.s. Soft clustering
• 演算法步驟
• 透過模糊分群的方式,計算每個訓練樣本屬於各群的程度
• 該方法利用了隸屬值 (membership value) 進行模糊化
• 類似機率的概念,每個樣本最終的隸屬值之和為1
• 演算法步驟 (1)
• 訓練樣本 x
• 劃分 c 群
• ci 為該群的中心點
• 某樣本 xj 屬於 ci ,隸屬值表示為 uij
28
Hard clustering v.s. Soft clustering
• 演算法步驟 (2)
• 欲取得一個函數的最小值,只要將該成本函數求導,並令為0
29
成本函數:
fcm.ipynb
Hard clustering v.s. Soft clustering
30
參考: http://wyj-learning.blogspot.com/2017/12/fuzzy-c-means-clustering.html
Recommendation (K-means)
• 透過 movies.csv 數據集,進行用戶行為分析
• 利用 K-means 演算法進行電影推薦
• 數據集介紹
• 9742部電影
• 100836用戶評分
31
Recommendation (K-means)
• 探討 science fiction and romance 兩種類型的電影客戶偏好
32
Recommendation
• 嘗試說明推薦系統與分群的關係
33
參考: https://comsysto.wordpress.com/2013/04/03/background-of-collaborative-filtering-with-mahout/
Recommendation
• 如何定義相似度
• 角度
• 餘弦相似性 (Cosine similarity)
• 距離
• 歐氏距離 (Euclidean distance)
• 漢明距離 (Hamming distance)
• 曼哈頓距離 (Manhattan distance)
• 切比雪夫距離 (Chebyshev distance)
• 馬氏距離 (Mahalanobis distance)
• 係數
• 雅卡爾指數 (Jaccard similarity coefficient)
34
參考: https://towardsdatascience.com/log-book-guide-to-distance-measuring-approaches-for-k-means-clustering-f137807e8e21
Recommendation
35
作業
• 什麼是 K-means? 基本迭代步驟是什麼?
• 有哪些方法可以加快K-means的執行效率?
• 繼續完成 homework.ipynb,完成客戶分群
• 決定K值
• 每一群客戶的客戶評分分析
• 是否有存在相似的群,如果存在,可以手動合併
36

Weitere ähnliche Inhalte

Ähnlich wie 3 clustering 1

2_Clustering.pdf
2_Clustering.pdf2_Clustering.pdf
2_Clustering.pdfFEG
 
Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Carter Chen
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdfFEG
 
5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdfFEG
 
Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Zijian Zhao
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practicesFEG
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdfFEG
 
# From statistics to ai
# From statistics to ai# From statistics to ai
# From statistics to aiTerence Huang
 
Densifying a behavioral recommender system by social networks
Densifying a behavioral recommender system by social networksDensifying a behavioral recommender system by social networks
Densifying a behavioral recommender system by social networks柏宇 陳
 
3_Decision_tree.pdf
3_Decision_tree.pdf3_Decision_tree.pdf
3_Decision_tree.pdfFEG
 
机器学习与深度学习简介.pdf
机器学习与深度学习简介.pdf机器学习与深度学习简介.pdf
机器学习与深度学习简介.pdfCyanny LIANG
 
服务计算:现状,思考与建议
服务计算:现状,思考与建议服务计算:现状,思考与建议
服务计算:现状,思考与建议IBM
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
IT445_Week_8.pdf
IT445_Week_8.pdfIT445_Week_8.pdf
IT445_Week_8.pdfAiondBdkpt
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘Riquelme624
 
Hangzhou Deep Learning Meetup-Deep Reinforcement Learning
Hangzhou Deep Learning Meetup-Deep Reinforcement LearningHangzhou Deep Learning Meetup-Deep Reinforcement Learning
Hangzhou Deep Learning Meetup-Deep Reinforcement LearningXiaohu ZHU
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习Shaoning Pan
 
知识的摘要
知识的摘要知识的摘要
知识的摘要Gong Cheng
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptxFEG
 
從 NN 到 嗯嗯
從 NN 到 嗯嗯從 NN 到 嗯嗯
從 NN 到 嗯嗯Heng-Xiu Xu
 

Ähnlich wie 3 clustering 1 (20)

2_Clustering.pdf
2_Clustering.pdf2_Clustering.pdf
2_Clustering.pdf
 
Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
 
5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf
 
Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdf
 
# From statistics to ai
# From statistics to ai# From statistics to ai
# From statistics to ai
 
Densifying a behavioral recommender system by social networks
Densifying a behavioral recommender system by social networksDensifying a behavioral recommender system by social networks
Densifying a behavioral recommender system by social networks
 
3_Decision_tree.pdf
3_Decision_tree.pdf3_Decision_tree.pdf
3_Decision_tree.pdf
 
机器学习与深度学习简介.pdf
机器学习与深度学习简介.pdf机器学习与深度学习简介.pdf
机器学习与深度学习简介.pdf
 
服务计算:现状,思考与建议
服务计算:现状,思考与建议服务计算:现状,思考与建议
服务计算:现状,思考与建议
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
IT445_Week_8.pdf
IT445_Week_8.pdfIT445_Week_8.pdf
IT445_Week_8.pdf
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
 
Hangzhou Deep Learning Meetup-Deep Reinforcement Learning
Hangzhou Deep Learning Meetup-Deep Reinforcement LearningHangzhou Deep Learning Meetup-Deep Reinforcement Learning
Hangzhou Deep Learning Meetup-Deep Reinforcement Learning
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习
 
知识的摘要
知识的摘要知识的摘要
知识的摘要
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx
 
從 NN 到 嗯嗯
從 NN 到 嗯嗯從 NN 到 嗯嗯
從 NN 到 嗯嗯
 

Mehr von FEG

Sequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfSequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfFEG
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdfFEG
 
2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratch2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratchFEG
 
2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratchFEG
 
2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratchFEG
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_RulesFEG
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)FEG
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis VisualizationFEG
 
Transfer Learning (20230516)
Transfer Learning (20230516)Transfer Learning (20230516)
Transfer Learning (20230516)FEG
 
Image Classification (20230411)
Image Classification (20230411)Image Classification (20230411)
Image Classification (20230411)FEG
 
Google CoLab (20230321)
Google CoLab (20230321)Google CoLab (20230321)
Google CoLab (20230321)FEG
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised LearningFEG
 
UnSupervised Learning Clustering
UnSupervised Learning ClusteringUnSupervised Learning Clustering
UnSupervised Learning ClusteringFEG
 
Data Visualization in Excel
Data Visualization in ExcelData Visualization in Excel
Data Visualization in ExcelFEG
 
6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdfFEG
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdfFEG
 
5_BERT.pdf
5_BERT.pdf5_BERT.pdf
5_BERT.pdfFEG
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdfFEG
 
5_RNN_LSTM.pdf
5_RNN_LSTM.pdf5_RNN_LSTM.pdf
5_RNN_LSTM.pdfFEG
 
2_學院碩士班_分類模型_20220523.pdf
2_學院碩士班_分類模型_20220523.pdf2_學院碩士班_分類模型_20220523.pdf
2_學院碩士班_分類模型_20220523.pdfFEG
 

Mehr von FEG (20)

Sequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfSequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdf
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
 
2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratch2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratch
 
2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch
 
2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization
 
Transfer Learning (20230516)
Transfer Learning (20230516)Transfer Learning (20230516)
Transfer Learning (20230516)
 
Image Classification (20230411)
Image Classification (20230411)Image Classification (20230411)
Image Classification (20230411)
 
Google CoLab (20230321)
Google CoLab (20230321)Google CoLab (20230321)
Google CoLab (20230321)
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised Learning
 
UnSupervised Learning Clustering
UnSupervised Learning ClusteringUnSupervised Learning Clustering
UnSupervised Learning Clustering
 
Data Visualization in Excel
Data Visualization in ExcelData Visualization in Excel
Data Visualization in Excel
 
6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf
 
5_BERT.pdf
5_BERT.pdf5_BERT.pdf
5_BERT.pdf
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf
 
5_RNN_LSTM.pdf
5_RNN_LSTM.pdf5_RNN_LSTM.pdf
5_RNN_LSTM.pdf
 
2_學院碩士班_分類模型_20220523.pdf
2_學院碩士班_分類模型_20220523.pdf2_學院碩士班_分類模型_20220523.pdf
2_學院碩士班_分類模型_20220523.pdf
 

Kürzlich hochgeladen

我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...黑客 接单【TG/微信qoqoqdqd】
 
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制bairnshajjes
 
Grade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxGrade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxPriscilleXu
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制gravestomas0
 
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxJAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxCHANSUITNEEMoe
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制kathrynalvarez364
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdfshanshanhui1
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书kathrynalvarez364
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单jakepaige317
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书kathrynalvarez364
 

Kürzlich hochgeladen (10)

我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
 
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
 
Grade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxGrade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptx
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
 
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxJAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
 

3 clustering 1

  • 2. About me • Education • NCU (MIS)、NCCU (CS) • Work Experience • Telecom big data Innovation • AI projects • Retail marketing technology • User Group • TW Spark User Group • TW Hadoop User Group • Taiwan Data Engineer Association Director • Research • Big Data/ ML/ AIOT/ AI Columnist 2
  • 3. Tutorial Content 3 K-means algorithm and other algorithms demo Hard clustering v.s. Soft clustering Homework Clustering introduction Recommendation on K-means
  • 4. Code • Download code • https://github.com/orozcohsu/ntunhs_2021.git • Folder • 20211206_day_master 4
  • 5. Clustering introduction • 為一種非監督式學習,用來解決分群問題 • 事前不須要對數據進行標記 • 應用情境 • 文件分群: 結合文字探勘技術,利用斷詞後的文字做為特徵值,如分群後 的結果以人工的方式判斷某一群比較像政治類新聞,並且給予該群名稱 • 市場區隔: 透過產品的特徵值進行分群,分群的結果可比較產品間的差異 • 客戶分群: 透過客戶行為擷取出特徵值,分群後的結果將客戶進行區隔, 針對不同群的客戶執行特別的行銷方案 • 生物分群: 界、門、綱、目、科、屬、種 5
  • 6. Clustering introduction • 顧客分群常見做法介紹 • 透過銷售紀錄找出三個關 鍵指標 • R – 最近互動時間 • F – 購買頻次 • M – 購買金額 6 參考: https://couplehonest.com/rfm-nes-cohort-google-sheet-excel-crm/
  • 7. Clustering introduction • 利用客戶RFM作為分群的樣本資料集 7 參考: https://towardsdatascience.com/segmenting-customers-using-k-means-and-transaction-records-76f4055d856a
  • 8. Clustering introduction • 常見的演算法 • K-Menas • Hierarchical Clustering • Mini-Batch K-Means • BIRCH • DBSCAN • Spectral Clustering • Gaussian Mixture Model 8
  • 9. Mini-Batch K-Means • 步驟簡述 • 傳統的K-Means可能會遇到大資 料集產生的時間、空間的問題, 因為所有資料都必須置放於記憶 體當中 • 採用隨機較小的樣本資料集,以 便於放置記憶體當中,計算過程 中不斷拿取小樣本進行更新,直 到模型收斂為止 9 參考: https://www.itread01.com/content/1546477941.html
  • 10. Hierarchical Clustering • 步驟簡述 • 把每一個點當作一個群組 • 透過掃描過整個資料及尋找出最近的 兩個群組,並把這兩個點榜再一起變 成一個群組 • 尋找下一個最近的的兩個群組,再綁 再一起變成一個群組 • 直到所有資料都被分成一群,或是透 過設定參數到分到幾個群時自動停止 • 特色 • 比較耗能,每一次迴圈都要比對所有 樣本資料 • 透過樹狀圖可以完整了解群組關係 10 參考: https://www.researchgate.net/figure/Dendrogram- obtained-by-hierarchical-cluster-analysis-HCA-of-the- morphological_fig1_335658239
  • 12. BIRCH • 步驟簡述 • 利用樹結構來幫助實現快速的分群, 該結構類似於平衡B+樹 • 稱之為分群特徵樹(Clustering Feature Tree,簡稱CF Tree) • 該樹的每一個節點是由若干個分群特 徵(Clustering Feature,簡稱CF)組成 • 執行速度很快,只需要單遍掃描資料 集就能進行聚類 • 適合於資料量大,分群數量 K也比較 多的情況 • 特色 • 不須設定群的數量 12 參考: https://www.gushiciku.cn/dc_tw/104504172
  • 13. Spectral Clustering • 步驟簡述 • 結合圖論的分析,將資料點間的關係建構權重圖(weighted graph), 也就是將頂點(vertex)作為資料點,邊(edge)則表示資料點間的距離 • 透過鄰接矩陣,則可把兩點間連接的強度一一表示。接下來將圖切割成數 個子圖以達到分群的效果。然而,裁切的方式應最小化子圖間的連接關係, 同時最大化每個子圖內的連接關係 • 特色 • 對於稀疏資料點的分群有顯著的效果 • 相似矩陣的計算方式得到不同的分群效果 • 相似的定義 13 參考: https://www.jianshu.com/p/9ada98cd322b
  • 15. Gaussian Mixture Model • 步驟簡述 • 可以被視為k-means的延伸,目的是做更正確的數據 分群 • 當資料分布於各群的邊界上時,容易會出現資料分類 不正確,透過最大期望演算法(EM)方法,持續實作 E-M步驟,重複直到收斂為止,目的就是找出適當的 資料分群 • E步驟:對於每個點,找到每個聚類中成員的權重 • M步驟:對於每個群集「權重」,根據所有數據點更新 其位置 • 特色 • 需事先決定k群分布 • 常用於語音識別 15 參考: https://towardsdatascience.com/gaussian-mixture-models-explained-6986aaf5a95
  • 16. Gaussian Mixture Model 16 • GMM 則是藉由統計後,計算 機率分布得到中心點和sigma 作為模型資訊 • 在一維空間中就是高斯分佈的 鐘型二維空間中會出現類似陀 圓形的樣子 參考: https://jarvus.dragonbeef.net/note/noteKmeansGMM.php
  • 18. K-means • 演算法步驟 • 定義K值,決定分群數目 • 隨機給各K群中心點,計算所有訓練樣本,把每個訓練樣本分配到距離最 近的K群當中 • 移動各K群的中心點,讓該中心點為該群所有樣本距離和的平均處 • 重複上述動作,直到中心點不再移動為止 • 算法說明 (1) • 輸入: K值 • 訓練樣本: x(1), x(2), x(3), x(4)… x(m) • 隨機選擇各K群中心點: u1, u2, u3…uk 18
  • 19. K-means • 算法說明 (2) • 紀錄距離最短的群,然後把該點分配到該群 19
  • 20. K-means • 算法說明 (3) • 從 1 ~ K 查訪所有中心點,並移動開中心點到新的位置,也就是該群的 所有樣本至中心點的平均值處 • 重複步驟,直到各K群中心點不再移動為止 20
  • 21. K-means • 算法說明 (4) • 根據成本函數的定義,模型預測值與實際值的誤差 21
  • 22. K-means • 常見的問題 • 選擇K群予各別的中心點為隨機取樣,最終分群的結果與隨機中心點有關 • 不同的隨機中心點可能會得到不同的分群結果 • 成本函數可能會收斂在一個局部最佳解,而不是全域最佳解 • 通常作法為多做幾次隨機中心點,最終訓練出不同K群中心點後,再用這 些值計算出成本函數,從中選擇成本函數最小的 22 次數編號 K值 各K群中心點 計算成本函數 001 8 001: u1, u2, u3…uk 0.5 002 8 002: u1, u2, u3…uk 0.3 003 8 003: u1, u2, u3…uk 0.1
  • 23. K-means • K值的選擇 • 經驗法則 • 先分100群,透過觀察每一群的特徵後,人工進行合併各群 • 透過輪廓係數,觀察成本函數與K值間的關係,找出鞍點 (Saddle point) 即為K值 23 a: 一個樣本與其所在的群(同群)之間的平均距離 b: 一個樣本與其距離最近的下一個群內的樣本點的平均距離 S: 介於 [-1,1],該值則越大越好,代表越好 kmeans.ipynb
  • 24. K-means + Canopy 的快速算法 • 原因 • K-means的計算複雜度低,但演算法本身效能十分依賴各群隨機取樣的 中心點,同時對於噪音數據也十分敏感 • 為解決以上問題,引進 Canopy 算法,為 K-means 先粗略生成各群隨 機中心點,因此可以減少計算時本身的迭代次數 • 演算法步驟 • 根據 T1, T2 兩個參數確定群的中心點,大於 T1 會被認為是離群中心點 過遠而去除,小於T2 會被認為離自身的群過近,不適合作為群的中心點 • 通過以上邏輯對於每一個訓練樣本進行計算篩選,首先會過濾掉偏離的 噪音數據之外,也會生成一定數量的相對合理的中心點 24
  • 25. K-means + Canopy 的快速算法 • 算法說明(1) • 將訓練樣本進行排序,紀錄於列表中,排序後不可以改變, • 設定初始值 T1, T2,且 T1 > T2 • 從訓練樣本中,隨機取一個樣本為中心點,計算與其他所有的距離 • 若距離小於 T1 但大於 T2,則該點屬於該中心點所在的 canopy 內 • 若距離小於 T2,則該點與該中心點距離過近,不適合在做中心點,於是將該點從 列表中刪除 • 重複上述步驟,完成列表上的樣本點 • 此時會得出 n 個中心點,將這些點用於 K-means 的隨機中心點 • n 為初始 K值 • 檢視最終分群結果 (視覺化圖表),如果某群內的樣本數量小於一定數據,則可判定 為噪音數據 25
  • 26. K-means + Canopy 的快速算法 26 參考: https://zh.codeprj.com/blog/b1b65d1.html canopy.ipynb
  • 27. Hard clustering v.s. Soft clustering • Hard clustering • Each point is assigned to a one and only one cluster (hard assignment) • With K-means we try to find K centroids {μ1,…,μK} and the corresponding • Soft clustering (Fuzzy C-Means Clustering: FCM) • Each point is assigned to all the clusters with different weights or probabilities (soft assignment) 27
  • 28. Hard clustering v.s. Soft clustering • 演算法步驟 • 透過模糊分群的方式,計算每個訓練樣本屬於各群的程度 • 該方法利用了隸屬值 (membership value) 進行模糊化 • 類似機率的概念,每個樣本最終的隸屬值之和為1 • 演算法步驟 (1) • 訓練樣本 x • 劃分 c 群 • ci 為該群的中心點 • 某樣本 xj 屬於 ci ,隸屬值表示為 uij 28
  • 29. Hard clustering v.s. Soft clustering • 演算法步驟 (2) • 欲取得一個函數的最小值,只要將該成本函數求導,並令為0 29 成本函數: fcm.ipynb
  • 30. Hard clustering v.s. Soft clustering 30 參考: http://wyj-learning.blogspot.com/2017/12/fuzzy-c-means-clustering.html
  • 31. Recommendation (K-means) • 透過 movies.csv 數據集,進行用戶行為分析 • 利用 K-means 演算法進行電影推薦 • 數據集介紹 • 9742部電影 • 100836用戶評分 31
  • 32. Recommendation (K-means) • 探討 science fiction and romance 兩種類型的電影客戶偏好 32
  • 34. Recommendation • 如何定義相似度 • 角度 • 餘弦相似性 (Cosine similarity) • 距離 • 歐氏距離 (Euclidean distance) • 漢明距離 (Hamming distance) • 曼哈頓距離 (Manhattan distance) • 切比雪夫距離 (Chebyshev distance) • 馬氏距離 (Mahalanobis distance) • 係數 • 雅卡爾指數 (Jaccard similarity coefficient) 34 參考: https://towardsdatascience.com/log-book-guide-to-distance-measuring-approaches-for-k-means-clustering-f137807e8e21
  • 36. 作業 • 什麼是 K-means? 基本迭代步驟是什麼? • 有哪些方法可以加快K-means的執行效率? • 繼續完成 homework.ipynb,完成客戶分群 • 決定K值 • 每一群客戶的客戶評分分析 • 是否有存在相似的群,如果存在,可以手動合併 36