線性迴歸與 logistic迴歸

線性迴歸

算法方程:hθ(x)=i=0nθixi=θTxh_{\theta}(x)=\sum_{i=0}^{n} \theta_{i} x_{i}=\theta^{T} x

損失函數:J(θ0,θ1,,θn)=12mi=1m(hθ(x(i))y(i))2J\left(\theta_{0}, \theta_{1}, \ldots, \theta_{n}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}
將損失函數看做是關於θ\theta的函數。

最小化損失函數:凸函數可以找到全局最優解,算法梯度下降。
θ0:=θ0α1mi=1m(hθ(x(i))y(i))x0(i)θ1:=θ1α1mi=1m(hθ(x(i))y(i))x1(i)θ2:=θ2α1mi=1m(hθ(x(i))y(i))x2(i)\begin{array}{l}{\theta_{0}:=\theta_{0}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{0}^{(i)}} \\ {\theta_{1}:=\theta_{1}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{1}^{(i)}} \\ {\theta_{2}:=\theta_{2}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{2}^{(i)}} \\ {\ldots}\end{array}

學習率:θ1:=θ1αddθ1J(θ1)\theta_{1}:=\theta_{1}-\alpha \frac{d}{d \theta_{1}} J\left(\theta_{1}\right)
與收斂速度相關

過擬合與欠擬合:我們的假設函數曲線對原始數據擬合得非常好,但喪失了一般推到性,以致於預測效果很差。
解決方法:正則化
作用:控制參數幅度;限制參數搜索空間
J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right]
假設原始線程方式是hθ(x)=θ1x1+θ2x2+θ3x3+θ4x4h_{\theta}(x)=\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4,在線訓練過程中,根據訓練集數據大小,每一個θ\theta的都可能非常大,或者非常小,這條線抖動非常大。如果在損失函數中加入j=1nθj2\sum_{j=1}^{n} \theta_{j}^{2},因爲損失函數要求最小值,所以每一個θ\theta的值就不可能很大。
λ\lambda是一個超參數。λ\lambda太小,正則化項不起作用;λ\lambda太大,學習到的參數主要由正則化項決定,與訓練數據無關,也是錯誤的。
通常使用L1、L2正則化。

logistic迴歸

線性迴歸在分類問題上使用,健壯性差,所以使用logistic迴歸。
sigmoid函數值域在(0,1)之間,可以看做一個概率函數。
在線性迴歸外面套一層sigmoid函數。

算法方程:hθ(x)=g(θ0+θ1x1+θ2x2)h_{\theta}(x)=g\left(\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}\right)
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)h_{\theta}(x)=g\left(\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{3} x_{1}^{2}+\theta_{4} x_{2}^{2}\right)

損失函數:cost(hθ(x),y)={log(hθ(x)) if y=1log(1hθ(x)) if y=0\operatorname{cost}\left(h_{\theta}(x), y\right)=\left\{\begin{aligned}-\log \left(h_{\theta}(x)\right) & \text { if } y=1 \\-\log \left(1-h_{\theta}(x)\right) & \text { if } y=0 \end{aligned}\right.

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m} y^{(i)} \log h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]

梯度下降優化公式:θj:=θjαθjJ(θ)\theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta)

加入正則化:J(θ)=[1mi=1my(i)log(hθ(x(i))+(1y(i))log1hθ(x(i))]+λ2mj=1nθj2J(\theta)=\left[-\frac{1}{m} \sum_{i=1}^{m} y^{(i)} \log \left(h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log 1-h_{\theta}\left(x^{(i)}\right)\right]+\frac{\lambda}{2 m} \sum_{j=1}^{n} \theta_{j}^{2}\right.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章