统计机器学习(statistical machine learning)
原创
©著作权归作者所有:来自51CTO博客作者wx62d12289ce45b的原创作品,请联系作者获取转载授权,否则将追究法律责任
组要组成部分:监督学习(supervised learning),非监督学习(unsupervised learning),半监督学习(semi-supervised learning),强化学习(reinforcement learning)。
三要素:模型(model),策略(strategy),算法(algorithm)。
模型就是设计一种机器学习模型(神经网络的网络结构),策略就是定义模型中的函数中什么是最优的(loss函数的选取),算法是如何找到最优值(梯度下降,牛顿法,拉普拉斯近似)。
线性感知机:
#include <iostream>
#include <vector>using namespace std;
std::vector<double> x[2],w;
double y[2] = {1, -1},b=0;
double rate = 0.00000001;bool notGood(int &t){
for (int i = 0 ; i < 2 ; i++){
double rr = 0;
for (int j = 0 ; j < 2 ; j++){
rr += w[j]*x[i][j];
}
rr += b;
// cout << rr<<endl;
if( y[i]*rr <= 0){
t = i;
return true;
}
}
return false;
}void iterat(int t){
b += rate*y[t];
for (int i = 0 ; i < 2 ; i++){
w[i] += rate*y[t]*x[t][i];
}
}void print(int t){
cout <<t<<":";
for (int i = 0 ; i < 2 ; i++){
cout << w[i]<<",";
}
cout << b<<endl;
}int main(){
w.push_back(0);
w.push_back(0);
x[0].push_back(1);
x[0].push_back(1);
x[1].push_back(2);
x[1].push_back(2); int t;
while( notGood(t) ){
iterat(t);
print(t); }
return 0;
}
感知机学习算法的对偶形式:
黄世宇/Shiyu Huang's Personal Page:https://huangshiyu13.github.io/