机器学习线性回归C++实现

实现一个简单的demo。为了方便验证代码,选择的数据是 y=2x+1 上的点:(0,1)、(1,3)、(2,5)

机器学习线性回归C++实现_第1张图片

#include
#include
using namespace std;

vector Y = {1,3,5};
vector> A={{1,0},{1,1},{1,2}};
vector> A_T;
vector> K;

vector mat_vect(const vector>& arr,const vector& vect){
    vector ans;
    int n = arr.size(),d = arr[0].size();
    for(int i=0;i mat_vect(const vector& vect,const vector>& arr){
    vector ans;
    int d = arr.size(),n = arr[0].size();
    for(int i=0;i<1;++i){
        for(int j=0;j& w){
    double ans1=0.0,ans2=0.0,ans3=0.0;
    for(auto it : Y) ans3 += it*it;
    auto tmp = mat_vect(w,A_T);
    for(int i=0;i get_grad(const vector& w){
    auto tmp = mat_vect(A,w);
    for(int i=0;i& d){
    double ans1 = 0.0,ans2=0.0;
    auto tmp = mat_vect(K,d);
    for(int i=0;i& w,int epoch){
    for(int i=1;i<=epoch;++i){
        cout<<"------------------------------"<>(d,vector(n));
    K = vector>(d,vector(d));
    for(int i=0;i w(d);
    MyLinearRegression(w,9);
    return 0;
}

 

结果

机器学习线性回归C++实现_第2张图片

 

迭代九次学到参数 2,1

你可能感兴趣的:(机器学习线性回归C++实现)