2020年9月19日 星期六

世界第一簡單機器學習

 世界第一簡單機器學習

2019年4月

第1章 怎麼做迴歸?

- 正規化的方法分為兩種,Ridge迴歸盡可能減少大數值的係數,和Lasso迴歸增加數值趨近零的係數。    

第2章 怎麼進行識別?    

- 模型的輸出為權重w的函數,所以當w改變,誤差的值也會不同。遇到這樣的問題,我們可用梯度下降法(Gradient Descent)來求解。

- 由所有的訓練資料D計算梯度的方法,稱為批量梯度下降法(Batch Gradient Descent);將D分割成適當的大小,以此為單位計算梯度的方法稱為小批量梯度下降法(Mini-batch Gradient Descen);由D隨機選出一個資料,僅以此資料計算梯度的方法,稱為隨機梯度下降法(Stochastic Gradient Descent)

- ID3是演算法是建立決策樹的最基本步驟

- 亂度Entropy和資訊量

- 將原資料的亂度減去分割後的資料亂度,得到詢問可獲得的資訊量,該量成為資訊增益量Gain

- 關於資料集算度的計算方法,除了上述的亂度(Entropy)之外,還有一種方法是以下面的式子計算吉尼係數(Gini Cofficient)

Gini(D)=1-Pyes^2-Pno^2

- 奧卡姆剃刀(Occam's Razor),目的是「選擇符合資料且最單純的假說」

- 決策樹會過於適應訓練資料容易發生過度學習(Overfitting)

第3章 評估結果    

- 要掌握機器學習未知資料時的性能。其中,最簡單的方法是,將手邊的資料分割成訓練用和評估用。稱為分割學習法,機器在學習時先不使用評估資料,等到要計算準確率時才使用。這樣一來就能模擬遇到未知資料的情況。  

- 會影響訓練結果的超參數(Hyperparameter),比如線性迴歸中正則化須的權重數、決策樹訓練的樹木深度等等。調查配置訓練的超參數是否妥當,這個過程就稱為檢驗。若在檢驗作業中使用評估資料的話,評估用資料就不能算是未知資料了。

- 所以,使用分割學習法來評估性能時,一開始應該將資料分成訓練用、檢驗用、評估用三部分


- 對資料進行分割,資料的分割份數稱為折數(fold),通常會採用10折交叉驗證。

- 評估用資料元素數為1的分割法,另外稱為留一法(Leave-one-out)。

- 準確率是在評估資料中,正確辨識類別的資料比例。為了簡化說明,舉例二分類識別問題的評估法。這是有沒有罹患某種疾病、是不是垃圾信件等問題。符合預設條件的訓練資料為正例(positive)、不符合的資料為負例(negative)。

- 混淆矩陣(Confusion Matrix)


- 只有準確度是不夠的:未罹患疾病的人數遠比罹患疾病的人數還多的情況,也就是資料中的負例比正例多很多的意思。比如1000人中僅1人罹患疾病的極端情況,使用全部判定為負的分類器,這樣準確率會是0.999。為了能夠區分這樣的情況,我們需要以其他指標來評估機器學習的結果。

- 根據上表,準確度Accuracy= TP+TN / TP+FN+FP+TN (正解數除以全部資料數就是準確率)。

- 精確度Precision,這是分類器判定為正時,可以多麼相信該結果的指標。

Presision = TP / TP+FP (正確判定為正的數量除以分類器判定為positive的數量就是精確度)。

舉例:被判定罹患某種疾病且該診斷為正的正確比例

- 召回率Recall=TP / TP+FN (正確判定為正的數量除以所有正例的數量就是召回率)。

例:對象資料中的所有病患中,有多少人被正確診斷罹患疾病

- 精確度和召回率往往是此消彼長的關係,一邊數值高,另一邊數值就低。

舉例來說,罹患某疾病的症狀很明顯時,分類器才判定為正的精確率會高,不過這樣了話會忽略掉輕微症狀,造成召回率變低。相反地,優先提高召回率,稍微有一些症狀就判定為正,使用這樣的分類器,會導致雖然漏掉病患的情況減少,但可能造成很多沒有生病的人需要接受精密檢查。

- 於是,我們會用下面的式子定義綜合判斷精確率和召回率的指標F值

F-measure = 2 X Precision x Recall / Precision + Recall

- 若是三種類別的情況,混淆矩陣會變成3x3。由混淆矩陣求出各類別的性能,平均後的數值為巨觀平均(Macro Average);由類別計算TP、FP、FN、TN相加後,除以資料數的數值為微觀平均(Micro Average)

第4章 深度學習    

- 卷積神經網路(Convolutional Neural Network)

- 前饋式神經網路(Feedforward Neural Network)

- softmax函數

- 反向傳播法(Backpropagation)

- 自動編碼器(Autoencoder)

- rectified liner函數,使用此函數的單元稱為ReLU(Rectified Linear Unit)。

- 使用Keras資料庫,Keras封裝了常用的TensorFlow深度學習庫,能夠做到更高階的敘述,可用簡潔的程式碼編寫深度學習的典型問題。

第5章 整體學習Ensemble Learning    

裝袋法Bagging    

隨機森林Random Forest    

- 裝袋法、隨機森林是藉由改變使用的資料集,或者改變分類器的構成條件,做成不同的分類器。與此相對,不斷加入專門減少錯誤的分類器,形成反應不同的分類器集合,稱為提升法。

提升法Bossting    

- AdaBoost(Adaptive Boosting):以變更權重的資料集訓練下一個的分類器,依序形成不同的分類器。後面做成的分類器會優先識別上一個分類器錯誤判斷的資料,具有與上一個分類器不同且能夠彌補弱點的效果。

- 另外一種方式是使用損失函數。以提升法結果作成的複合分類器,可用來定義損失函數。其中,追分的分類器會選擇損失函數值減少最多的。這種方式的提升法稱為梯度提升Gradient Boosting

- 機器學習工具Weka內建diabets.arff資料。

第6章 非監督式學習

6.1.1 集群分析

6.1.2 階層式集群分析(Hierarchical Clustering)

- 群集間的相似度可用下面的方法定義:單一連結(Single Linkage)完全連結法(Complete Linkage)中心法(Centroid Method)Ward法

- k-means法EM演算法

EM演算法基本步驟跟k-means法相同,一開始先用亂數決定隨機的平均向量和共變異數矩陣(Covariance Matrix),這相當於在特定空間中隨意的場所放置隨意的常態分佈。

6.2 矩陣分解

- 假定用戶與商品之間存在幾項潛在因素。潛在因素是指,在分組用戶、商品時類似視點的條件,像是「女性」、「居住地」、「喜歡甜食」等等。但是,這些是在沒有監督的情況下從資料中選出,所以未必每個都能如此解釋。

- 交替最小平方法(Alternating Least Squares)。

- 非負矩陣分解(NMF)

- 分解機模型(Factorization Machine)

6.3 分割式集群分析(Partitional Clustering)


2020年9月12日 星期六

資料庫直效行銷

 資料庫直效行銷

Direct and Database Marketing

2001年1月

第一部分 資料庫時代的行銷

第1章 什麼是直效行銷?

- 資料庫回答了五個主要問題:

誰:這個問題就是要鎖定目標客戶。

做什麼:則是要知道顧客買了些什麼(或是需要什麼)。

在哪裡:則是要知道透過哪一個銷售管道找到客戶,是經銷商、分公司、銷售人員、廣告、郵寄傳單還是電話行銷?

多少錢:也就是一筆交易的價值到底是多少?

為什麼:我們做的哪一件事能夠引發客戶購買的行動?

建立和客戶所有往來紀錄的檔案,由此可評估個別客戶的價值,作為未來和客戶交易的參考或是客戶不再和我們交易時的警訊。

- 資料庫中心要能讓我們隨時知道我們和客戶間關係的發展情形、商品在不同銷售管道的表現、顧客購買的產品種類、及哪些行銷組合最有效。

- 既然銷售給既有顧客的成本比爭取新顧客低這麼多,那麼利用增加每一個顧客的購買額來增加市場佔有率,會比增加顧客數量賺得更多利潤

第2章 大眾化行銷的盛衰

- 提供給消費者的產品選擇增加得比可支出的薪水還要快,因此造成市場佔有率和客戶忠誠度降低。

- 銷售地點也有越來越多的選擇,而這些選擇也會隨著互動式媒體的成長而增加。消費者藉著電話來和旅行社、銀行、保險公司交易甚至做抵押借款的頻率越來越高。利用電話、傳真或電子郵件來訂購訂購商品的消費者越來越多。行銷人員現在要想得不是如何把客戶吸引到商品之前,而是如何將商品送到客戶面前。並非每一種行銷方式都能為所有消費者接受,所以在競爭策略中應該將行銷通路的選擇包含在內。

第3章 資料導向行銷的興起和成長

- 「計分卡」已漸成為行銷上普遍使用的名詞。使用迴歸分析,計分卡可以提供個別消費者可能有財務問題、對廣告的回應、或是是否成為良好客戶或其他相關問題的可靠資料。發展最迅速的部分是信用計分卡,它使得直效行銷人員能夠領先選民名冊,而使其祭出的信用卡申請保回函能夠有將近百分之百的核准率。

第二部分 建立並使用行銷資訊系統

第5章 客戶行銷的目標和策略

- 報酬率=客戶未來貢獻-折扣/淨客戶取得成本

- 達成客戶目標遠較產品行銷目標重要。但是幾乎所有公司都有設定產品行銷目標,卻很少公司設定客戶行銷目標。客戶行銷目標的重點是在盡力留住每一個讓公司獲利的客戶,這就需要增加客戶佔有率,因為很少客戶對供應商是百分之百的忠誠。

- 最難的部分,是將整個組織注意的焦點從產品或營運轉到客戶身上

- 使用多項產品的客戶的忠誠度也高於僅使用單項產品的客戶

第6章 資料庫:每個行銷從業人員都該知道的事

- 將資料分為:聯絡資料分類資料交易資料行銷管道資料促銷和回覆資料。

第7章 檢定、模型和預測

- 檢定最常用在直效行銷成功與否最要的兩因素上,即改進鎖定目標選擇媒體的正確度

- 模型可以是靜態,也可以是動態,動態模型通常是用來顯示變數間的互動情況,像是價格與需求的關係,通常需求因價格的改變而改變。 最常用的靜態模型首推群體分析。

- 迴歸分析在處理連續性的資料的價值最為有用,像是之前的購買次數(從1-10)和到某一家店的開車時間(從10分鐘以下到40分鐘以上),計分表中也應該包含是/否的變數,像是否使用到信用卡。迴歸分析並不適於處理兩個非依變數之間的關係

- 在鎖定目標和預測行銷支出的結果時,大多使用迴歸分析。但是它無法讓我們知道客戶的特性,所以無法和群體分析或顧客研究相匹敵。

- 神經網路是回歸模型的直接替代方案,因為最終產物都是同樣是一張計分表,但是兩種計分表代替的意義卻全然不同,神經網路和統計方法完全沒有關係,他們的結果是經由電腦系統辨識不同資料的模型而來。

- 因素分析(factor analysis)區別分析(discriminant analysis)。因素分析是將大量的變數減少為少量幾個因素或類型,電腦會在變項間找出其相關性,而運用線性關係將變相結合而減少其數量。區別分析是用來鎖定目標,它可以利用對好顧客的陳述,到非顧客群找到符合這些陳述的目標對象。和迴歸分析不同,區別分析並不將依變數設定價值。因為區別分析關係的是事件發生的機率,像是你的車被偷或是你會回覆廣告信函的可能性,只要將之前回覆廣告郵件者的特性和目標鎖定的對象相比較即可,利用這種方法可以幫助我們重新訂定郵件名單,大部分是用以去除鎖定目標中回覆可能最低的人。

- 依變數可以代表企業所需求的任何目標,它可以是利潤、客戶滿意度、對產品的未來需求或是客戶的終生價值。

第三部分 如何整合直效行銷

第12章 直效行銷計畫

- 在使用的模型中,狀況分析分為兩個部分,第一個部分是檢視公司目前的狀況,第二部分是審查競爭的環境。

- 直效行銷人員將顧客視為利潤的來源,而將產品視為將顧客和利潤相連接的工具,沒有任何行銷人員能夠不預測新產品在既有顧客群的銷售量而做出獲利率的預測,因為交叉銷售通常比爭取新顧客的成本低得多。

- 設定完整目標的五項要件

1. 確定目標的焦點在於結果

2. 對每一個目標都要設定衡量的標準(投資的獲利、周轉率、市場佔有率等等)

3. 儘可能讓每一個目標只有單一的主題

4. 確定資源是實際可執行的

5. 確定行銷目標和公司的整體目標相吻合

- 狀況分析能夠告訴我們所處的情勢,目標則是讓我們知道在一定的時期內我們想達到的情況,而策略則是告訴我們該如何到達目標情況。我們擁有的目標和策略數目一定相同,也就是說,每一個目標都有一個相對應的策略。設定策略的目的就是讓我們知道該如何克服或跨越障礙而達成目標。- 延伸閱讀<行銷策略>Marketing Strategy

- 源自直效行銷的企劃方法是「由外而內」,它以顧客過去的行為而非股東的夢想為依據,預測未來能達成的目標。

第13章 投資報酬導向行銷

- 從表面上看來,留住既有顧客的促銷活動遠比爭取新顧客的投資划算,但是直效行銷人員透過測試和控制的程序而有更深入的看法,但我們仔細分析留住顧客的促銷活動,我們會發現,有些顧客即使沒有這些促銷活動也不會流失,有些顧客即使沒有任何折扣也會購買我們的產品,但是,促銷活動卻讓他們只需要付促銷價,兩個價格之間的差價也應算是促銷活動的隱藏成本。

- 如果最終的報酬相同,能夠得到的現金流量越快就越有價值,而貨幣的現值也該列入考慮。

第14章 如何擬定行動計畫和管理方案

- 我們將顧客視為利潤的來源,而產品則是增加和維持與顧客關係的工具,因此產品行銷目標有助於顧客行銷目標。

- 在檢視產品組合時,我們並非先在整個市場中找尋空隙,而是要看看我們無法滿足顧客的那些需求,每一項我們無法使顧客滿足的項目都會把顧客推項競爭者

- 預測的原則:

--每一件事都有其結果的預測

--預測是個單一事件的總額

--預測是以過去的結果為依據

--預測應和實際結果做比較

--對預測和實際結果的不同應有合理的解釋

- 我們可能以積分高低來排列,而積分是以幾個項目如:查詢的最近日期、擁有車型、離最近經銷商的距離和購買意願,以做為預測回覆率、試車可能性和轉為銷售可能性的指標。如果有足夠的資料,我們也會預估最好的銷售管道和轉換率。

- 整體活動進度表應列明:

--有哪些計畫中的事件

--需要的資源

--每一事件的時間

--成本

--預測結果

--計畫中任何保留部分

- 企劃是行銷循環的四個步驟的第一步,這四個步驟分別是企劃、執行、監督和控制

第四部分 直效行銷傳播

第15章 行銷傳播如何運作?

- 購買決策-選擇的步驟

知曉>形象契合>實際契合>經銷商契合>試用>購買>重覆購買

- 在計畫直效行銷傳播時,要時時刻刻想到投資報酬率。

- 我們可以看出公司如果將重心放在既有顧客上,就可以達到近95%的預期利潤。但是,如過這麼做,將可以預見公司生意年年萎縮的後果,因此公司決定投資在一些風險較高的活動上,甚至願意在剛開始承擔一些損失,以招來新生意。

- 直效行銷行銷傳播(1)只針對在或是接近目標目標市場的對象(2)目標在於引起查詢或訂購的反應(3)以個別的表現做評估,而且以財務上的考量,而非對整行銷活動的貢獻為基準。

第16章 直接回應:吸引新顧客

- 延伸閱讀<引起反映的廣告>(Advertising That Pills Response)

- 只有在回應廣告的報酬高於風險一定比例的情況下,觀眾才會有回應,除了改變產品之外,唯一增加回應率的方法就是廣告業主接受較高的成本或較高的風險。

- 直效行銷AIDCA:注意Attention、興趣Interest、慾望Desire、決定Conviction、行動Action。

- 購買決策的幾個階段:知曉、形象契合、實際契合、經銷商配合,試用和購買。

第19章 留住顧客

- 兩個最主要的溝通方式分為季節性連續性(或事件導向),兩者的不同就項寄發耶誕卡和生日卡。你會在適當的時間寄出一大批耶誕卡給你的親戚和朋友,但寄生日卡的時候,你必須依每個人不同的生日時間一次寄出一張。

- 延伸閱讀<精密行銷>(Precision Marketing)

- 甚至經由何種管道和顧客聯絡都沒有這麼重要,它只是讓我們知道顧客對電話或廣告信函的偏好程度,最需要的是比較回應者和無回應者,以找出兩者的差別。

第21章 直效行銷行動II

- 和顧客保持聯繫並發展和顧客的對話十分重要,以免因地址改變而使資料過時。如果顧客每五年搬遷一次,那麼每年就有20%的資料過時。

- 重要的不是花在每一位目標顧客身上的成本,而是每一個結果的成本。