[python學習]機器學習 -- 感知機
李航 《統計學習方法》-- 感知機
原始形式+對偶形式
import numpy as np
import matplotlib.pyplot as plt
'''
def perceptron_strategy_original(data,y,loop_numb):
w = np.array([[0,0]])
b = 0
delta = 1
for i in range(loop_numb):
k = 0
for j in data:
if y[k]*(np.dot(w,j)+b)<=0:
w += delta*y[k]*j
b += delta*y[k]
k += 1
return w,b
'''
def perceptron_strategy_dual(data,y,loop_numb):
w = np.array([[0,0]])
b = 0
delta = 1
gram = [[18,21,6],
[21,25,7],
[6,7,2]]
alpha = [0,0,0]
for m in range(loop_numb):
k = 0
for n in data:
if y[k]*(alpha[0]*y[0]*gram[0][k]+alpha[1]*y[1]*gram[1][k]+alpha[2]*y[2]*gram[2][k]+b)<=0:
alpha[k]+=1*delta
b += y[k]
k += 1
for z in range(len(data)):
w += np.dot(alpha[z]*y[z],data[z])
return w,b
def perceptron_figure(data,weight,y,b):
for i in range(len(data)):
if y[i] == 1:
plt.plot(data[i][0],data[i][1],'ro')
else:
plt.plot(data[i][0],data[i][1],'bo')
x = np.linspace(0,6,100)
z = -b/weight[0][1]-x*weight[0][0]/weight[0][1]
plt.plot(x,z,'k',color='y',linewidth=3,linestyle='-')
plt.show()
def main():
T = np.array([[3,3],[4,3],[1,1]])
y = [1,1,-1]
loop_numb = 100
#weight,bias = perceptron_strategy_original(T,y,loop_numb)
weight,bias = perceptron_strategy_dual(T,y,loop_numb)
print('weight=',weight,'bias=',bias)
perceptron_figure(T,weight,y,bias)
main()
相關文章
- 【Python機器學習實戰】感知機和支援向量機學習筆記(三)之SVM的實現Python機器學習筆記
- 統計學習方法——感知機模型模型
- [深度學習]多層感知機(MLP)深度學習
- 統計學習方法筆記-感知機學習方法筆記
- 手擼機器學習演算法 - 感知機機器學習演算法
- 《深度學習入門》第 2 章 感知機 筆記深度學習筆記
- 動手學深度學習(二)——多層感知機(從零開始)深度學習
- 統計學習方法c++實現之一 感知機
- 深度學習、機器學習、python、C++視訊深度學習機器學習PythonC++
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 機器學習-整合學習機器學習
- 如何學習機器學習機器學習
- AI 學習路線:從Python開始機器學習AIPython機器學習
- 從感知機到Transformer,一文概述深度學習簡史ORM深度學習
- SLAM +機器學習迎來了“感知時代”SLAM機器學習
- Python機器學習會應用到哪些庫?Python入門學習Python機器學習
- 沒有Python基礎,如何學習用Python寫機器學習Python機器學習
- Python學習手冊(入門&爬蟲&資料分析&機器學習&深度學習)Python爬蟲機器學習深度學習
- 【Python機器學習實戰】決策樹與整合學習(三)——整合學習(1)Python機器學習
- 【機器學習】整合學習——Bagging與隨機森林機器學習隨機森林
- 感知機模型模型
- 深度學習:多層感知機和異或問題(Pytorch實現)深度學習PyTorch
- 機器學習之學習速率機器學習
- 機器學習學習筆記機器學習筆記
- 機器學習:監督學習機器學習
- 機器學習&深度學習之路機器學習深度學習
- 機器學習:計算機學習能力的力量和希望(一)機器學習計算機
- 【Python機器學習實戰】決策樹和整合學習(一)Python機器學習
- 用Python進行機器學習(附程式碼、學習資源)Python機器學習
- Python機器學習、深度學習:快速、完全的Numpy入門指南Python機器學習深度學習
- 機器學習——監督學習&無監督學習機器學習
- 【Python機器學習實戰】決策樹與整合學習(四)——整合學習(2)GBDTPython機器學習
- 感知機程式碼
- 【python學習筆記】Python反射機制Python筆記反射
- 機器學習之學習曲線機器學習
- 機器學習是深度學習之母機器學習深度學習
- 《機器學習基石》學習筆記機器學習筆記