【机器学习】逻辑回归模型
應用場景
推薦系統:分析購買某類商品的潛在因素,判斷該類商品的購買概率。挑選購買過的人群A和未購買的人群B,獲取兩組人群不同的用戶畫像和行為特征數據。建立用戶行為模型、商品推薦模型實現產品的自動推薦。
公式
對于二分類問題,給定訓練集{(x1, y1), …, xn,yn)},其中xi表示第i個用戶的p維特征,yi∈{0,1}表示第i個用戶是否購買過該商品。
模型滿足二項式分布:
P(yi∣xi)=u(xi)y(1?u(xi))(1?yi)P(y_{i}|x_{i})=u(x_{i})^y(1-u(x_{i}))^{(1-y_{i})}P(yi?∣xi?)=u(xi?)y(1?u(xi?))(1?yi?)
u(xi)=11+(e?xiTθ)u(x_i)=\tfrac{1}{1+(e^{-x_i^T\theta})}u(xi?)=1+(e?xiT?θ)1?
其中,θ為模型參數,包含該商品的偏置項。
通過最大似然估計來求解:
L=P(y1,...,yn∣x1,...,xn;θ)=∏i=1nP(yi∣xi;θ)=∏i=1nu(xi)yi(1?u(xi)1?yi)L=P(y_1,...,y_n|x_1,...,x_n;\theta) =\prod_{i=1}^{n}P(y_i|x_i;\theta) =\prod_{i=1}^{n}u(x_i)^{y_i}(1-u(x_i)^{1-y_i}) L=P(y1?,...,yn?∣x1?,...,xn?;θ)=i=1∏n?P(yi?∣xi?;θ)=i=1∏n?u(xi?)yi?(1?u(xi?)1?yi?)
進一步可以得到負對數似然函數:
L(θ)=?logP(y1,...,yn∣x1,...,xn;θ,b)=?∑in((yilogu(xi))+(1?yi)log(1?u(xi)))L(\theta)=-logP(y_1,...,y_n|x_1,...,x_n;\theta,b) =-\sum_{i}^{n}((y_ilogu(x_i))+(1-y_i)log(1-u(x_i))) L(θ)=?logP(y1?,...,yn?∣x1?,...,xn?;θ,b)=?i∑n?((yi?logu(xi?))+(1?yi?)log(1?u(xi?)))
采用隨機梯度下降法來求解數值:
θ=argminθ∑in(yilogu(xi)+(1?yi)log(1?u(xi)))\theta=argmin_{\theta}\sum_{i}^{n}(y_ilogu(x_i)+(1-y_i)log(1-u(x_i))) θ=argminθ?i∑n?(yi?logu(xi?)+(1?yi?)log(1?u(xi?)))
對參數θ求導得到:
?L?θ=∑in(g(xiTθ)?yi)xi\frac{\partial L}{\partial \theta}=\sum_{i}^{n}(g(x_i^T\theta)-y_i)x_i ?θ?L?=i∑n?(g(xiT?θ)?yi?)xi?
g(x)=11?e?xg(x)=\tfrac{1}{1-e^{-x}} g(x)=1?e?x1?
進一步可以得到:
θt+1=θt?ρ(g(xiTθ)?yi)xi\theta^{t+1}=\theta^{t}-\rho (g(x_i^T\theta)-y_i)x_i θt+1=θt?ρ(g(xiT?θ)?yi?)xi?
其中,0<ρ<1是步長參數。
代碼實現
損失函數的定義,正則化防止過擬合
loss=?1m[∑i=1m(yilog(uθ(xi))+(1?yi)log(1?uθ(xi)))]+λ12m∑j=1nθj2loss=-\tfrac{1}{m}[\sum_{i=1}^{m}(y_ilog(u_\theta(x_i))+(1-y_i)log(1-u_\theta(x_i)))]+\lambda\tfrac{1}{2m}\sum_{j=1}^{n}\theta_j^2 loss=?m1?[i=1∑m?(yi?log(uθ?(xi?))+(1?yi?)log(1?uθ?(xi?)))]+λ2m1?j=1∑n?θj2?
參考文獻
《推薦系統與深度學習》黃昕等
總結
以上是生活随笔為你收集整理的【机器学习】逻辑回归模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python下载网上的文件
- 下一篇: EJB的相关知识