機(jī)器學(xué)習(xí):算法簡(jiǎn)介

K-近鄰算法
  • 作用:分類算法
  • 優(yōu)點(diǎn):最簡(jiǎn)單稚铣、不需要訓(xùn)練减牺、容易理解
  • 缺點(diǎn):計(jì)算復(fù)雜度高笼才、空間復(fù)雜度高
  • 原理:計(jì)算新數(shù)據(jù)與樣本集中所有數(shù)據(jù)的歐式距離溢谤,提取距離最近的 K 個(gè)樣本的標(biāo)簽,取 K 個(gè)樣本里出現(xiàn)次數(shù)最多的標(biāo)簽伶唯,作為新數(shù)據(jù)的分類標(biāo)簽
決策樹 - ID3
  • 作用:分類算法
  • 優(yōu)點(diǎn):計(jì)算復(fù)雜度不高觉既、容易理解、可處理不相關(guān)特征
  • 缺點(diǎn):可能會(huì)過度匹配乳幸、實(shí)現(xiàn)較復(fù)雜瞪讼、存在特征值太多的問題
  • 原理:
    ?首先構(gòu)建一顆樹,每個(gè)非葉子節(jié)點(diǎn)代表一個(gè)特征反惕,每個(gè)分叉代表特征的一個(gè)值尝艘,每個(gè)葉子節(jié)點(diǎn)代表一個(gè)分類演侯,然后從根節(jié)點(diǎn)的特征開始姿染,取新數(shù)據(jù)的特征值,根據(jù)值走相應(yīng)的分叉秒际,直到葉子節(jié)點(diǎn)悬赏,得出分類結(jié)果
    ?創(chuàng)建節(jié)點(diǎn)時(shí)如何判斷選取哪個(gè)特征?遍歷所有特征娄徊,計(jì)算選取每個(gè)特征后系統(tǒng)的信息熵闽颇,取使得信息熵最小(既最有序)的那個(gè)特征
    ?當(dāng)剩下的數(shù)據(jù)分類都一樣時(shí)創(chuàng)建葉子節(jié)點(diǎn)寄锐,當(dāng)所有特征已用完時(shí)以剩下數(shù)據(jù)中數(shù)量最多的分類為結(jié)果創(chuàng)建葉子節(jié)點(diǎn)
樸素貝葉斯
  • 作用:分類算法
  • 優(yōu)點(diǎn):數(shù)據(jù)較少時(shí)仍有效兵多、可以給出分類的概率估計(jì)
  • 缺點(diǎn):不一定滿足樸素要求既特征之間相互獨(dú)立且同等重要、對(duì)于輸入數(shù)據(jù)的準(zhǔn)備方式較為敏感(新數(shù)據(jù)的 \small P(x_{i}|C) 必須能在樣本數(shù)據(jù)中找到)
  • 原理:
    ?貝葉斯準(zhǔn)則
    ????\small P(C|X) = P(X|C)*P(C)/P(X)
    ???? 其中
    ???? ? ? \small P(C) 是分類 \small C 的概率
    ???? ? ? \small P(X|C) 是分類 \small C 里出現(xiàn) \small X 的概率
    ???? ? ? \small P(X) 是特征 \small X 出現(xiàn)的概率
    ???? ? ? \small P(C|X) 是出現(xiàn)特征 \small X 時(shí)屬于分類 \small C 的概率
    ?由于 \small P(X) 是一樣的橄仆,只通過計(jì)算 \small P(X|C)*P(C) 就可以比較不同的 \small P(C|X) 既特征 \small X 屬于不同的分類 \small C 的概率剩膘,取概率大的那個(gè)作為分類結(jié)果
    ?\small P(X|C) = P(x_{0}|C)*P(x_{1}|C)*...*P(x_{n}|C) 其中每個(gè) \small P(x_{i}|C) 以及 \small P(C) 都通過樣本計(jì)算好
邏輯回歸
  • 作用:二元分類算法
  • 優(yōu)點(diǎn):計(jì)算代價(jià)不高、易于理解和實(shí)現(xiàn)
  • 缺點(diǎn):容易欠擬合盆顾、分類精度可能不高怠褐、只用于二元分類
  • 原理:
    ?線性回歸函數(shù)
    ????\small z = f(X) = WX
    ???? 其中
    ???? ? ? \small W 是回歸系數(shù)
    ???? ? ? \small X 是特征值
    ???? ? ? \small W\small X 都是向量
    ???? 可展開為
    ???? ? ? \small z = WX = w_{0}*x_{0} + w_{1*}*x_{1} + \cdot\cdot\cdot + w_{n}*x_{n}
    ???? 線性方程其實(shí)應(yīng)該是
    ???? ? ? \small z = WX + b
    ???? 為此這里固定 \small x_{0}=1,其他 \small X 值才是特征值您宪,而 \small w_{0} = b
    ???? 這樣變成兩個(gè)向量相乘方便計(jì)算
    ?邏輯回歸函數(shù)
    ????\small y=g(z)=\frac{1}{1+e^{-z}}
    ???? 滿足
    ???? ? ? 1. \small g(z)+g(-z)=1
    ???? ? ? 2. \small z=0 時(shí) \small y=0.5
    ???? ? ? 3. \small z=-2 時(shí) \small y=0.12
    ???? ? ? 4. \small z=2 時(shí) \small y=0.88
    ???? 這樣在 Z 軸比較長(zhǎng)的情況下看起來就像跳躍點(diǎn)為 0 的階躍函數(shù)
    ?結(jié)合兩個(gè)函數(shù)奈懒,對(duì)特征向量進(jìn)行計(jì)算奠涌,結(jié)果大于 0.5 屬于分類 1,小于 0.5 屬于分類 0
    ?如何取得合適的 W磷杏?可以使用 SGD 隨機(jī)梯度下降算法
支持向量機(jī)
  • 作用:二元分類算法
  • 優(yōu)點(diǎn):泛化錯(cuò)誤率低溜畅、計(jì)算開銷不大、結(jié)果易解釋
  • 缺點(diǎn):對(duì)參數(shù)調(diào)節(jié)和核函數(shù)的選擇敏感极祸、不加修改僅適用于二分類
  • 原理:
    ?線性可分
    ???如果可以用一條直線將二維數(shù)據(jù)集分成兩類达皿,則該數(shù)據(jù)集線性可分
    ???該直線稱為分隔超平面,也就是分類的決策邊界
    ???同理如果存在 N-1 維超平面可對(duì) N 維數(shù)據(jù)集劃分贿肩,則該數(shù)據(jù)集線性可分
    ?支持向量
    ???數(shù)據(jù)集可能有多個(gè)分隔超平面
    ???找到離分隔超平面最近的點(diǎn)峦椰,這些點(diǎn)離分隔超平面越遠(yuǎn),分隔超平面的分類準(zhǔn)確性越高
    ???這些點(diǎn)就是支持向量汰规,SVM 就是要最大化支持向量到分隔面的距離
    ?尋找最大間隔
    ???分隔超平面可表示為
    ?????\small w_{1}*x_{1} + w_{2}*x_{2} + \cdot\cdot\cdot + w_{n}*x_{n} + b = 0
    ???寫成矩陣形式為
    ?????\small W^{T}*X + b = 0???其中 WX 都是 (n,1) 矩陣
    ???通過 SMO 算法尋找最合適的 Wb
    ???對(duì)新數(shù)據(jù)計(jì)算 \small W^{T}*X + b汤功,大于 0 屬分類 1,小于 0 屬分類 -1
    ?核函數(shù)
    ???對(duì)于非線性可分的情況溜哮,比如某些二維數(shù)據(jù)無法用直線劃分而是用圓劃分
    ???可以將數(shù)據(jù)從原始空間映射到更高維度的特征空間
    ???對(duì)于有限維空間滔金,一定存在這樣一個(gè)高維空間使得數(shù)據(jù)線性可分
    ???用于映射的函數(shù)就被稱為核函數(shù),徑向基函數(shù)是 SVM 常用的核函數(shù)
    ???這里用的徑向基函數(shù)的高斯版本茂嗓,該函數(shù)將數(shù)據(jù)映射到更高維的空間
    ???具體來說是映射到一個(gè)無窮維的空間
    ?感知機(jī)
    ???\small y=\left\{\begin{matrix}1&w_{1}*x_{1}+w_{2}*x_{2}+\cdot\cdot\cdot+w_{n}*x_{n}+b>0\\-1&w_{1}*x_{1}+w_{2}*x_{2}+\cdot\cdot\cdot+w_{n}*x_{n}+b<=0 \end{matrix}\right.
    ???
    ???這個(gè)模型也被稱為感知機(jī)模型
集成算法
  • 作用:分類算法
  • 特點(diǎn):泛化錯(cuò)誤率低餐茵、易編碼、可以應(yīng)用在大部分分類器上述吸、無參數(shù)調(diào)整忿族、對(duì)離群點(diǎn)敏感
  • 原理:
    ?將多個(gè)不同的弱分類器組合成一個(gè)強(qiáng)分類器,這稱為集成算法或者元算法
    ???集成算法有多種形式:
    ?????1. 不同算法
    ?????2. 同一算法不同設(shè)置
    ?????3. 數(shù)據(jù)集不同部分分配給不同分類器
    ?baggingBootstrap aggregating蝌矛,引導(dǎo)聚集算法道批,又稱裝袋算法)
    ???隨機(jī)采樣
    ?????大小為 m 的數(shù)據(jù)集,每次取一個(gè)入撒,然后放回
    ?????共取 m 個(gè)形成和原數(shù)據(jù)集大小相等的新數(shù)據(jù)集隆豹,重復(fù) S 次得到 S 個(gè)新數(shù)據(jù)集
    ?????這樣原始數(shù)據(jù)集中有些樣本被重復(fù)采集,有些不會(huì)被采集
    ?????將某個(gè)學(xué)習(xí)算法分別作用于 S 個(gè)數(shù)據(jù)集就得到了 S 個(gè)分類器
    ?????對(duì)新數(shù)據(jù)分類時(shí)茅逮,用這 S 個(gè)分類器進(jìn)行分類璃赡,結(jié)果最多的類別作為最后的分類
    ???隨機(jī)森林
    ?????和普通的 bagging 差不多,在其基礎(chǔ)上做了一點(diǎn)改進(jìn)
    ???????1. 使用 S 個(gè) CART 決策樹作為弱學(xué)習(xí)器
    ???????2. 假設(shè)樣本特征數(shù)為 a献雅,則每次生成樹都是隨機(jī)選擇 a 中的 k 個(gè)特征
    ?boosting(提升算法)
    ???每個(gè)分類器根據(jù)已訓(xùn)練出的分類器的性能來進(jìn)行訓(xùn)練
    ???通過關(guān)注被已有分類器錯(cuò)分的數(shù)據(jù)訓(xùn)練新的分類器
    ???分類結(jié)果基于所有分類器的加權(quán)求和
    ?????\small f(x) = \sum_{i=1}^{n}(a_{i}*f_{i}(x))
    ???adaboost (Adaptive Boosting碉考,自適應(yīng)增強(qiáng)算法)
    ?????對(duì)每個(gè)樣本賦予一個(gè)權(quán)重
    ?????訓(xùn)練分類器并計(jì)算該分類器的錯(cuò)誤率,基于錯(cuò)誤率計(jì)算該分類器的權(quán)重
    ?????降低正確分類的樣本的權(quán)重惩琉,提高錯(cuò)誤分類的樣本的權(quán)重豆励,再次訓(xùn)練新的分類器
    ?????迭代直到總錯(cuò)誤率為 0 或分類器的數(shù)目達(dá)到指定值
    ?????adaboost 可以應(yīng)用于任意分類器,只要將該分類器改造成能夠處理加權(quán)數(shù)據(jù)即可
    ???GBDT(梯度提升決策樹)
    ?????弱學(xué)習(xí)器通常使用 CART 回歸樹
    ?????每棵樹學(xué)的是之前所有樹的結(jié)論和的殘差
    ?????比如 A 的年齡 18 歲,訓(xùn)練第一棵樹時(shí)預(yù)測(cè) 12 歲良蒸,差 6 歲技扼,即殘差為 6 歲
    ?????那么訓(xùn)練第二棵樹時(shí)就把 A 的年齡 Y 設(shè)為 6 歲,以此類推
    ?????預(yù)測(cè)值為所有樹的預(yù)測(cè)值的和 \small Y = f_{1}(X) + f_{2}(X) + \cdot\cdot\cdot + f_{n}(X)
    ???xgboost (eXtreme Gradient Boosting嫩痰,極限梯度提升算法)
    ?????在 GBDT 基礎(chǔ)上做了改進(jìn)
    ?????基學(xué)習(xí)器除了用 tree(gbtree)剿吻,也可用線性分類器 (gblinear)
    ?????目標(biāo)函數(shù)引入了二階導(dǎo)數(shù)使收斂更快,增加了正則項(xiàng)串纺,避免了過擬合
    ?????尋找分割點(diǎn)時(shí)能并行計(jì)算
線性回歸
  • 作用:回歸分析(預(yù)測(cè)連續(xù)型數(shù)值)
  • 優(yōu)點(diǎn):易于理解丽旅、計(jì)算簡(jiǎn)單
  • 缺點(diǎn):對(duì)非線性數(shù)據(jù)的擬合不好
  • 原理:
    ?回歸方程
    ????\small y = x_{1}*w_{1} + x_{2}*w_{2} + \cdot\cdot\cdot + x_{n}*w_{n} + b
    ???寫成矩陣形式
    ????\small Y = X^{T}*W + b
    ???其中 XW 都是 (n,1) 矩陣,X 是輸入數(shù)據(jù)纺棺,W 是回歸系數(shù)榄笙,Y 是預(yù)測(cè)結(jié)果
    ???添加 \small x_{0} = 1,取 \small w_{0} = b祷蝌,將式子改寫為方便計(jì)算的形式
    ????\small Y = X^{T}*W
    ?計(jì)算使方差的和最小的 W
    ????\small W = (X^{T}*X)^{-1} * X^T * Y
    ?線性回歸容易欠擬合茅撞,一個(gè)解決方法是局部加權(quán)線性回歸
    ???給待預(yù)測(cè)點(diǎn)附近的每個(gè)點(diǎn)賦予一定的權(quán)重
    ???然后在這個(gè)子集上基于最小均方差來進(jìn)行普通的回歸
    ???注意:與 kNN 一樣,這種算法每次預(yù)測(cè)均需要事先選取出對(duì)應(yīng)的數(shù)據(jù)子集
    ?縮減法
    ???嶺回歸巨朦、lasso米丘、前向逐步回歸
CART - 分類回歸樹
  • 作用:既用于分類也用于回歸分析
  • 特點(diǎn):可以處理連續(xù)型數(shù)值、可以處理非線性數(shù)據(jù)糊啡、結(jié)果不易理解
  • 原理:
    線性回歸無法擬合非線性數(shù)據(jù)
    ID3-決策樹無法處理連續(xù)型數(shù)值拄查,而且按特征切分后該特征將不會(huì)再起作用
    CART 將解決這些問題
    ?CART
    ???將數(shù)據(jù)集切分成很多份易建模的數(shù)據(jù),然后利用線性回歸來建模
    ???如果切分后仍然難以擬合就繼續(xù)切分
    ???非葉子節(jié)點(diǎn)代表一個(gè)特征并記錄用于切分的特征值
    ???節(jié)點(diǎn)最多兩個(gè)分叉棚蓄,將數(shù)據(jù)分為兩個(gè)子集
    ???一邊小于等于該特征值堕扶,一邊大于該特征值
    ???這樣就能處理連續(xù)型數(shù)值,且按特征切分后該特征仍然在數(shù)據(jù)集中
    ?如何決定特征和特征值
    ???遍歷每個(gè)特征的每個(gè)值癣疟,按該特征值切分為兩個(gè)子集
    ???計(jì)算每個(gè)子集的方差挣柬,取使得方差總和最小的特征和特征值
    ?何時(shí)決定構(gòu)建葉子節(jié)點(diǎn)
    ???1. 數(shù)據(jù)集中所有數(shù)據(jù)的 Y 值相同
    ???2. 兩個(gè)子集的均方差的和與原數(shù)據(jù)集的均方差相比沒多少改進(jìn)
    ???3. 切分后的子數(shù)據(jù)集太小
    ?構(gòu)建葉子節(jié)點(diǎn)
    ???回歸樹:
    ?????保存數(shù)據(jù)集的平均值
    ?????當(dāng)特征向量為 X 的數(shù)據(jù)來到該葉子節(jié)點(diǎn)后,直接返回該平均值
    ???模型樹:
    ?????保存數(shù)據(jù)集的線性回歸函數(shù)的回歸系數(shù) W
    ?????當(dāng)特征向量為 X 的數(shù)據(jù)來到該葉子節(jié)點(diǎn)后睛挚,返回 XW 作為結(jié)果
    ?樹剪枝
    ???節(jié)點(diǎn)過多可能導(dǎo)致過擬合,減少節(jié)點(diǎn)來避免過擬合稱為剪枝(pruning)
    ???預(yù)剪枝:
    ?????創(chuàng)建樹過程中急黎,切分后方差改進(jìn)少或數(shù)據(jù)集小扎狱,則停止切分,這就是預(yù)剪枝
    ???后剪枝:
    ?????用測(cè)試集對(duì) CART 進(jìn)行測(cè)試勃教,取預(yù)測(cè)結(jié)果和實(shí)際結(jié)果的方差
    ?????對(duì)比葉子節(jié)點(diǎn)合并后的預(yù)測(cè)結(jié)果和實(shí)際結(jié)果的方差
    ?????合并后的方差更小則合并葉子節(jié)點(diǎn)淤击,新的葉子節(jié)點(diǎn)繼續(xù)看能不能合并
K-Mean(K-均值聚類)
  • 作用:無監(jiān)督學(xué)習(xí),用于聚類
  • 優(yōu)點(diǎn):容易實(shí)現(xiàn)故源、可能收斂到局部最小值
  • 缺點(diǎn):在大規(guī)模數(shù)據(jù)集上收斂較慢
  • 原理:
    ?假設(shè)希望將數(shù)據(jù)分為 k 個(gè)簇污抬,先初始化 k 個(gè)點(diǎn)作為簇中心點(diǎn)
    ?每個(gè)點(diǎn)的每個(gè)特征值是在所有數(shù)據(jù)該特征的最大值和最小值之間隨機(jī)取一個(gè)
    ?對(duì)數(shù)據(jù)集的每個(gè)數(shù)據(jù),計(jì)算與 k 個(gè)簇中心點(diǎn)的距離,歸入距離最小的那個(gè)簇印机,并記錄該距離
    ?更新 k 個(gè)簇中心點(diǎn)矢腻,每個(gè)點(diǎn)的每個(gè)特征值,都是該簇的所有數(shù)據(jù)在該特征上的平均值
    ?重新計(jì)算距離射赛,重新劃分簇多柑,重復(fù)這個(gè)過程直到所有數(shù)據(jù)所屬的簇都不再變化
    ?簇中心點(diǎn)隨機(jī)初始化容易導(dǎo)致效果不好
    ?二分 K-Mean 算法
    ???先取一個(gè)簇中心點(diǎn),特征值是所有數(shù)據(jù)的平均值楣责,將所有數(shù)據(jù)分到該簇竣灌,并記錄距離
    ???遍歷每個(gè)簇,用普通的 K-Mean 算法將該簇分為兩個(gè)簇
    ???計(jì)算兩個(gè)簇總的方差和秆麸,計(jì)算剩下的簇總的方差和
    ???相加得到總和初嘹,取總和最小的那個(gè)簇的劃分
    ???重復(fù),每次增加一個(gè)簇沮趣,直到產(chǎn)生 k 個(gè)簇
Apriori(先驗(yàn)算法削樊,關(guān)聯(lián)規(guī)則挖掘算法)
  • 作用:Apriori 從數(shù)據(jù)集中尋找物品間的頻繁項(xiàng)集、關(guān)聯(lián)規(guī)則
  • 特點(diǎn):易編碼實(shí)現(xiàn)兔毒、大數(shù)據(jù)集上可能較慢
  • 原理:
    ?頻繁項(xiàng)集
    ???比如顧客購買了 {葡萄酒漫贞、尿布、豆奶育叁、萵苣}
    ???則可稱 {葡萄酒迅脐,尿布, 豆奶}、{豆奶} 等集合為項(xiàng)集
    ???如果一個(gè)項(xiàng)集在所有購買記錄中達(dá)到一定比例則稱為頻繁項(xiàng)集
    ?Apriori 原理
    ???如果某個(gè)項(xiàng)集是頻繁的豪嗽,那么它的所有子集也是頻繁的
    ???反過來說如果一個(gè)項(xiàng)集是非頻繁集谴蔑,那么它的所有超集也是非頻繁的
    ???先把所有記錄的每個(gè)項(xiàng)都取出來,得到集合 \small C_{1}龟梦,集合的每個(gè)元素是只有單個(gè)項(xiàng)的項(xiàng)集
    ???取\small C_{1}中出現(xiàn)次數(shù)達(dá)到閥值的項(xiàng)集記為\small L_{1}隐锭,\small L_{1}的每個(gè)元素是只有單個(gè)項(xiàng)的頻繁項(xiàng)集
    ???基于\small L_{1}\small C_{2}\small C_{2}每個(gè)元素是有兩個(gè)項(xiàng)的項(xiàng)集计贰,且該項(xiàng)集是\small L_{1}的某個(gè)項(xiàng)集的超集
    ???取\small C_{2}中出現(xiàn)次數(shù)達(dá)到閥值的項(xiàng)集記為\small L_{2}钦睡,\small L_{2}的每個(gè)元素是有兩個(gè)項(xiàng)的頻繁項(xiàng)集
    ???重復(fù)該過程直到無法構(gòu)造新的 \small C_{k}\small L_{k}
    ?關(guān)聯(lián)規(guī)則
    ???物品之間的關(guān)聯(lián)性躁倒,比如如果購買尿布的人經(jīng)常會(huì)同時(shí)購買葡萄酒
    ???那么可以說存在 {尿布}->{葡萄酒} 的關(guān)聯(lián)規(guī)則
    ???基于頻繁項(xiàng)集 L 計(jì)算各個(gè)關(guān)聯(lián)性的概率荞怒,達(dá)到要求的既為關(guān)聯(lián)規(guī)則
FP-growth(Frequent Pattern Growth,用于發(fā)現(xiàn)頻繁項(xiàng)集)
  • 作用:比 Apriori 更高效的發(fā)現(xiàn)頻繁項(xiàng)集
  • 特點(diǎn):快于 Apriori秧秉、實(shí)現(xiàn)比較困難
  • 原理:
    ?遍歷所有記錄的所有項(xiàng)褐桌,計(jì)算每個(gè)單項(xiàng)的出現(xiàn)次數(shù)(第一次遍歷)
    ?取達(dá)到閥值的單項(xiàng),記為頻繁項(xiàng)集 \small L_{1}象迎,并記錄每個(gè)單項(xiàng)的總的出現(xiàn)次數(shù)
    ?構(gòu)建 FP 樹
    ???空集作為樹的根節(jié)點(diǎn)
    ???遍歷每一條記錄(第二次遍歷)
    ?????取該記錄中存在于\small L_{1}的單項(xiàng)荧嵌,并按\small L_{1}記錄的總次數(shù)降序排序
    ?????取第一個(gè)既次數(shù)最多的單項(xiàng)
    ?????如果根節(jié)點(diǎn)沒有該單項(xiàng)的子節(jié)點(diǎn),則創(chuàng)建子節(jié)點(diǎn)并記錄該記錄出現(xiàn)的次數(shù)
    ?????如果有相應(yīng)的子節(jié)點(diǎn)則只增加計(jì)數(shù)
    ?????再取第二個(gè)單項(xiàng),同樣啦撮,將其作為第一個(gè)單項(xiàng)的子節(jié)點(diǎn)谭网,或?qū)σ延泄?jié)點(diǎn)增加計(jì)數(shù)
    ?????以此類推創(chuàng)建其他節(jié)點(diǎn)
    ???創(chuàng)建 header 鏈接所有相同元素節(jié)點(diǎn)
    ?從 FP 樹尋找頻繁項(xiàng)集
    ???從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的每條路徑上的元素可以任意組合(該路徑必須包括根節(jié)點(diǎn))
    ???該組合中最下層節(jié)點(diǎn)的數(shù)字就是該組合出現(xiàn)的次數(shù)摊鸡,達(dá)到閥值的既為頻繁項(xiàng)集
協(xié)同過濾(Collaborative Filtering献烦,推薦算法)
  • 作用:用于推薦用戶可能感興趣的內(nèi)容
  • 特點(diǎn):不關(guān)心物品屬性而是按照所有用戶觀點(diǎn)的相似度來計(jì)算
  • 原理:
    ?取目標(biāo)用戶未評(píng)分過的物品 unratedItems
    ?遍歷 unratedItems 的每個(gè)物品 item,預(yù)測(cè)該用戶對(duì) item 的評(píng)分
    ?
    ?預(yù)測(cè)方法 1:
    ???對(duì)每個(gè)物品 j拔稳,取該用戶對(duì) j 的評(píng)分 \small rating聘鳞,沒有評(píng)分則取下一個(gè)
    ???有則找出所有既對(duì) item 有評(píng)分薄辅,又對(duì) j 有評(píng)分的用戶
    ???計(jì)算這些用戶對(duì) item 評(píng)分和對(duì) j 評(píng)分的相似度 \small sim
    ???累加相似度
    ?????\small simTotal = simTotal + sim
    ???累加評(píng)分
    ?????\small ratSimTotal = ratSimTotal + sim * rating
    ???所有物品計(jì)算完畢,返回預(yù)測(cè)分?jǐn)?shù)
    ?????\small est = ratSimTotal/simTotal
    ???
    ?預(yù)測(cè)方法 2:
    ???通過 \small np.linalg.svd(dataMat) 求解數(shù)據(jù)集的奇異值矩陣抠璃,取 r 個(gè)最大的奇異值
    ???用新的奇異值矩陣將原數(shù)據(jù)集轉(zhuǎn)換為只有 r 個(gè)最重要的用戶信息的新數(shù)據(jù)集
    ???對(duì)每個(gè)物品 j站楚,取該用戶對(duì) j 的評(píng)分 \small rating,沒有評(píng)分則取下一個(gè)
    ???有則計(jì)算 r 個(gè)用戶對(duì) j 和 item 的評(píng)分的相似度 \small sim
    ???累加相似度
    ?????\small simTotal = simTotal + sim
    ???累加評(píng)分
    ?????\small ratSimTotal = ratSimTotal + sim * rating
    ???所有物品計(jì)算完畢搏嗡,返回預(yù)測(cè)分?jǐn)?shù)
    ?????\small est = ratSimTotal/simTotal
    ?
    ?取評(píng)分最高的 N 個(gè)物品推薦給用戶
    ?相似度的計(jì)算主要有:歐氏距離窿春、皮爾遜相關(guān)系數(shù)、余弦相似度
極大似然估計(jì)(Maximum Likelihood Estimate采盒,MLE)
  • 由于樣本數(shù)據(jù)旧乞,是實(shí)實(shí)在在發(fā)生的數(shù)據(jù),有理由相信該樣本出現(xiàn)的概率本來就比較大磅氨,極大似然估計(jì)假設(shè)該樣本出現(xiàn)的概率是最大的尺栖,然后通過該樣本尋找一組參數(shù),該參數(shù)使得該樣本出現(xiàn)的概率最大
  • 比如:班里有 50 個(gè)男生烦租,50 個(gè)女生延赌,我們擁有所有男生的身高數(shù)據(jù),也擁有所有女生的身高數(shù)據(jù)叉橱,假定男生的身高服從正態(tài)分布挫以,女生的身高服從另一個(gè)正態(tài)分布,這時(shí)可以用極大似然法窃祝,通過 50 個(gè)男生和 50 個(gè)女生的樣本來估計(jì)這兩個(gè)正態(tài)分布的參數(shù)掐松,該參數(shù)使得樣本數(shù)據(jù)出現(xiàn)的概率最大
EM 算法(Expectation Maximization 期望最大化)
  • EM 是一種迭代算法,用于含有隱變量的概率模型參數(shù)的極大似然估計(jì)
  • 比如:班里有 100 個(gè)學(xué)生锌杀,我們擁有所有人的身高數(shù)據(jù)甩栈,但不知道哪些是男生,哪些是女生糕再,未知的性別就是隱變量
    ?1. 先自己假設(shè)男生的正態(tài)分布的參數(shù)、女生的正態(tài)分布的參數(shù)
    ?2. 依據(jù)這兩個(gè)正態(tài)分布玉转,判斷每個(gè)學(xué)生數(shù)據(jù)
    ?3. 是男生的概率大就假定是男生突想,是女生的概率大就假定是女生
    ?4. 依據(jù)求出的男女生數(shù)據(jù),再通過極大似然估計(jì),再計(jì)算兩個(gè)正態(tài)分布的參數(shù)
    ?5. 重復(fù)第 2 步和第 3 步猾担,其中第 2 步又被稱為 E Step袭灯,第 3 步又被稱為 M Step
    ?6. 數(shù)學(xué)上可以證明這樣做可以靠近正確值,但不一定能得到正確值




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绑嘹,一起剝皮案震驚了整個(gè)濱河市稽荧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌工腋,老刑警劉巖姨丈,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異擅腰,居然都是意外死亡蟋恬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門趁冈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歼争,“玉大人,你說我怎么就攤上這事渗勘°迦蓿” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵旺坠,是天一觀的道長(zhǎng)乔遮。 經(jīng)常有香客問我,道長(zhǎng)价淌,這世上最難降的妖魔是什么申眼? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮蝉衣,結(jié)果婚禮上括尸,老公的妹妹穿的比我還像新娘。我一直安慰自己病毡,他們只是感情好濒翻,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啦膜,像睡著了一般有送。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上僧家,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天雀摘,我揣著相機(jī)與錄音,去河邊找鬼八拱。 笑死阵赠,一個(gè)胖子當(dāng)著我的面吹牛涯塔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播清蚀,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼匕荸,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了枷邪?” 一聲冷哼從身側(cè)響起榛搔,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎东揣,沒想到半個(gè)月后践惑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡救斑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年童本,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脸候。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡穷娱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出运沦,到底是詐尸還是另有隱情泵额,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布携添,位于F島的核電站嫁盲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏烈掠。R本人自食惡果不足惜羞秤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望左敌。 院中可真熱鬧瘾蛋,春花似錦、人聲如沸矫限。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叼风。三九已至取董,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間无宿,已是汗流浹背茵汰。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孽鸡,地道東北人经窖。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓坡垫,卻偏偏與公主長(zhǎng)得像梭灿,于是被迫代替她去往敵國和親画侣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359