部分函式採用一般形式的檔案中的函式
main.cpp
#include
#include
#include
#include
#include
"perceptron.h"
#include
"perceptron2.h"
using
namespace std;
intmain()
;double b =0;
vectordouble
>> x,,
};vector<
int> y
;double learning_rate =1;
cout <<
"begin"
<< endl;
perceptron2 per
(alpha, b, x, y, learning_rate)
; vector<
double
> x0
; per.
train()
;double ret = per.
predict
(x0)
; cout << ret << endl;
}
//
// created by gu on 12/16/2020.
//#include
#include
#include
#include
"perceptron.h"
#include
"perceptron2.h"
using
namespace std;
int perceptron2::
train()
}}while
(flag)
;return0;
}double perceptron2::
predict
(const vector<
double
>
&x)const
prediction +
= m_b;
return
sign
(prediction);}
perceptron2::
perceptron2
(vector<
double
>
&alpha,
double b, vectordouble
>>
&x, vector<
int>
&y,double learning_rate)
:m_alpha
(alpha)
,m_b
(b),
m_x(x)
,m_y
(y),
m_learning_rate
(learning_rate)
}}
//
// created by gu on 12/16/2020.
//#ifndef cpp_perceptron2_h
#define cpp_perceptron2_h
#include
using
namespace std;
/* * 感知機是二分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值
* */
class
perceptron2
;#endif
//cpp_perceptron2_h
統計學習方法(二) 感知機學習方法的對偶形式
我們知道,在感知機的原始形式中,w 和 b 通過以下形式更新 w leftarrow w eta y x b leftarrow b eta y i 假設點 x i,y i 在學習過程中被使用了 n i 次 也即被分類錯誤了 i 次 那麼最後學習到的 w,b 可以表示為 w sum n i eta ...
感知機 統計學習方法
一 感知機適用問題以及它的輸入,輸出,求解方法 1 感知機 perceptron 適用於二類分類問題 該分類問題是線性可分問題 2 感知機模型是線性分類模型 3 感知機的幾何解釋,感知機對應的是乙個超平面 4 輸入 例項的特徵向量 5 輸出 例項的類別,取 1和 1二值 6 求解方法 有監督學習 給...
《統計學習方法》 感知機
最近終於有開始看 統計學習方法 了,畢竟無腦調參確實沒有什麼意義。一方面是作為看書的筆記,一方面作為比部落格或許能起到一點參考作用吧。希望可以日更。由輸入空間到輸出空間的函式 f x si gn w x b f x sign w cdot x b f x s ign w x b 稱為感知機。感知機是...