干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则
吳恩達Coursera機器學習課系列筆記
課程筆記|吳恩達Coursera機器學習 Week1 筆記-機器學習基礎
干貨|機器學習零基礎?不要怕,吳恩達機器學習課程筆記2-多元線性回歸
1.1 Logistic Regression (Classification) Model
之前對房價的預測,其預測結果是一個連續變量,屬于回歸模型(Linear regression)。接下來要講的是分類模型(Logistic regression),即其預測結果是一個離散變量,有固定的取值分布。
分類問題,又分成了“二分類”和“多分類”,先講簡單的“二分類”。
例子:判斷一個病人是否罹患癌癥。一個二分類問題,是或者否。
sigmoid函數形狀如下:
現在可以用這個[0,1]之間的值來表示罹患癌癥的概率了,設定一個閾值(threshold),如果h(x)>threshold,則罹患癌癥,反之。
注意:這里的sigmoid只是起到了映射到(0, 1)范圍的作用。
邏輯回歸的邊界依然是: θ^(T)x==threshold
從這個邊界中看到,這樣的邏輯回歸是一個線性分類器。
用等高線圖畫出來就是這樣的:?
三維圖是這樣的:
畫圖的代碼如下:
% Here is the grid rangeu = linspace(30, 100, 100);v = linspace(30, 100, 100);z = zeros(length(u), length(v));% Evaluate z = theta*x over the gridfor i = 1:length(u)for j = 1:length(v)t = [1, u(i), v(j)];z(i,j) = sigmoid(t * theta);endendz = z'; % important to transpose z before calling contour% Plot z = 0% Notice you need to specify the range [0, 0]contour(u, v, z, [0.5, 0.5], 'LineWidth', 2)xlabel('Exam 1 score')ylabel('Exam 2 score')hold off;figure;surf(u, v, z)接下來就是loss function的設置了。
在logistic regression中,不再使用平方差來表示error了,轉而使用negative log來表示error:
解釋為什么使用negative log;
首先說明loss function的定義:當預測結果越接近真實結果時,loss越小。只要函數可以滿足這一點,就可以成為loss function
邏輯回歸一般情況下是線性分類器,但是在特定的情況下,可以轉變成非線性分類器,如下圖:?
1.3 Multiclass Classification Model
OK, OK…但是還有很多情況,分類不止“是”、“否”兩種。
下圖左邊是二分類的情況,右邊是多分類的情況。
對于多分類問題可以轉化成多個二分類問題來解決,如下圖,先取一種類別,把其他的都歸并為一類。然后再去一種類別,把剩余的歸并為一類……直至所有類別都遍歷完。
最后,對于一個x,有k個h(x),分別代表k個類概率,取最大h(x)所屬的類別即可。
2Regularization2.1 Overfitting Problem
overfitting就是在訓練集中擬合的特別好,或者說是過分好了,導致在新數據上的預測的效果不好。如下圖:
左邊沒有overfitting,右邊的overfitting
2.2 Regularization Intuition
下面兩幅圖中,左邊的沒有overfitting,右邊的overfitting了,原因就是多了最后θ3和θ4這兩項使得整個模型變復雜了。
所以我們需要在cost function中增加一項懲罰項penalty,我們的目的就是讓θ3和θ4盡可能的小,最好接近于0,這樣就可以消除這兩項的干擾了。
2.3 Regularization Term
總而言之,λ是用來控制懲罰項的影響因子,越大就是讓懲罰項越發揮作用。
最后,在gradient descent中,把這一項也求導了就好了。
總結
以上是生活随笔為你收集整理的干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 干货|机器学习零基础?不要怕,吴恩达机器
- 下一篇: 30 个实例详解 TOP 命令