[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機器學習庫之Numpy機器學習Python
- 手擼機器學習演算法 - 感知機機器學習演算法
- 【Python機器學習實戰】感知機和支援向量機學習筆記(三)之SVM的實現Python機器學習筆記
- 統計學習方法筆記-感知機學習方法筆記
- 【機器學習】機器學習簡介機器學習
- SLAM +機器學習迎來了“感知時代”SLAM機器學習
- [深度學習]多層感知機(MLP)深度學習
- 機器學習-整合學習機器學習
- 如何學習機器學習機器學習
- 深度學習、機器學習、python、C++視訊深度學習機器學習PythonC++
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 大型機器學習【Coursera 史丹佛 機器學習】機器學習
- (一) 機器學習和機器學習介紹機器學習
- 機器學習(——)機器學習
- 機器學習機器學習
- 機器學習&深度學習之路機器學習深度學習
- 機器學習之學習速率機器學習
- 機器學習學習筆記機器學習筆記
- 機器學習-整合學習LightGBM機器學習
- 機器學習:監督學習機器學習
- 使用Python開始機器學習Python機器學習
- python機器學習實戰(二)Python機器學習
- AI 學習路線:從Python開始機器學習AIPython機器學習
- 機器學習(十四) 機器學習比賽網站機器學習網站
- 沒有Python基礎,如何學習用Python寫機器學習Python機器學習
- Python機器學習會應用到哪些庫?Python入門學習Python機器學習
- 機器學習 | 吳恩達機器學習第九周學習筆記機器學習吳恩達筆記
- [Python]-機器學習Python入門《Python機器學習手冊》-01-向量、矩陣和陣列Python機器學習矩陣陣列
- 【機器學習】整合學習——Bagging與隨機森林機器學習隨機森林
- 機器學習: Metric Learning (度量學習)機器學習
- 機器學習&深度學習 操作tips機器學習深度學習
- 機器學習中的元學習機器學習
- 機器學習是深度學習之母機器學習深度學習
- 機器學習之學習曲線機器學習
- 【機器學習】機器學習面試乾貨精講機器學習面試
- 【機器學習】李宏毅——機器學習任務攻略機器學習
- 機器學習-習題(二)機器學習