w求解:
梯度下降演算法
∇ f(
w)=1
m∑i=
1mx(
i)(h
w(x(
i))−
y(i)
)=1m
xt(h
w(x)
−y)\nabla f(\mathbf w)=\frac1\sum_^m\mathbf x^(h_w(x^)-y^)=\frac1\mathbf x^t(h_w(\mathbf x)-y)
∇f(w)=
m1i
=1∑m
x(i
)(hw
(x(
i))−
y(i)
)=m1
xt(
hw(
x)−y
)
for i in
range
(n):
e=sigmoid(x.dot(w))-y
g=1/m*x.t.dot(e)
w=w-eta*g
self.w=w
牛頓迭代演算法
∇ 2f
(w)=
1mxt
diag
1≤i≤
m(hw
(x(i
))(1
−hw(
x(i)
)))x
\nabla^2f(\mathbf w)=\frac 1\mathbf x^tdiag_(h_w(\mathbf x^)(1-h_w(\mathbf x^)))\mathbf x
∇2f(w)
=m1
xtdi
ag1≤
i≤m
(hw
(x(i
))(1
−hw
(x(i
))))
x
for i in
range
(n):
e=sigmoid(x.dot(w))-y
g=1/m*x.t.dot(e)
pred=sigmoid(x.dot(w)
).reshape(-1
)#變為行向量
d=np.diag(pred*(1
-pred)
) h=
1/m*
(x.t.dot(d)
).dot(x)
w=w-np.linalg.inv(h)
.dot(g)
self.w=w
概率**→類別**
最大概率分類函式/閾值分類函式
return
(proba>=
0.5)
.astype(np.
int)
#閾值return np.argmax(proba,axis=1)
#最大概率
-1)#轉換為1行,列數不管
if y[i]
*(x.dot(w)
+b)<=0:
#異號則**錯誤
w = w+y[i]
*x.t
b = b+y[i]
done =
false
self.w = w
self.b = b
分離直線兩端wx+b值分別》0/<0(注意標籤取值並不需要看在哪一邊,求w,b時,若是反的,僅係數取個負),取符號函式分類
return np.sign(x.dot(self.w)
+self.b)
smo:對座標下降演算法修改
#i=j 重選
e_i=k[
:,i]
.dot(lambda*y)
-y[i]
e_j=k[
:,j]
.dot(lambda*y)
-y[j]
#求和,用[:,j]可轉換為行向量再.dot()
delta_j=y[j]
*(e_j-e_i)
/d_ij
h_ij=self.get_h(lambda,i,j,y)
l_ij=self.get_l(lambda,i,j,y)
if lambda[j]
+delta>h_ij:
delta_j=h_ij-lambda[j]
lambda[j]
=h_ij
elif lambda[j]
+delta
delta_j=l_ij-lambda[j]
lambda[j]
=l_ij
else
: lambda[j]
+=delta_j
delta_i=
-y[i]
*y[j]
*delta_j
lambda[i]
+=delta_i
if lambda[i]
>epsilon:
b=y[i]
-k[:
,i].dot(lambda*y)
elif lambda[j]
>epsilon:
b=y[j]
-k[:
,j].dot(lambda*y)
b每輪迴圈更新,所以x不加1列,w不包含b
分離平面,同理,用sign函式
[1]王磊,王曉東著.機器學習演算法導論[m].北京:清華大學出版社,2019
機器學習演算法分類
這些演算法按照學習方式分類的分的話,可以分為一下幾類 1 監督式學習 從給定的訓練資料集中學習出乙個函式,當新的資料到來時,可以根據這個函式 結果。監督學習的訓練集需要包括輸入和輸出,也可以說是特徵和目標。訓練集中的目標是由人標註的。常見的監督式學習演算法包括回歸分析和統計分類。2 非監督式學習 與...
機器學習 分類演算法
最優化理論基礎 分類演算法詳解 簡單例項講解樸素貝葉斯分類演算法 機器學習實戰 樸素貝葉斯 機器學習實戰 python3 基於概率論的分類方法 樸素貝葉斯 機器學習入門之決策樹演算法 決策樹演算法的基本原理 機器學習實戰 python3 決策樹id3 機器學習實戰 基於資訊理論的三種決策樹演算法 i...
機器學習演算法分類
4.了解了機器學習的各種類別,那麼每一種類別有哪些應用呢?機器學習 machine learning 是人工智慧 ai 重要的一部分,是實現人工智慧的乙個途徑。機器學習包含不同種類的演算法,而為了解決不同型別的問題,機器學習演算法可以分為特定的種類,我們要使用最適合的演算法來解決它最擅長的問題。學習...