刚接触机器学习,读书之余编小程序测试效果。贴上供学习用的简易代码,仅供刚开始学习的新手做测试及理解算法用。菜鸟也要飞
没有写画分界线的代码,求得分界线方程后可用这个网站画出分界线图像: http://zh.numberempire.com/graphingcalculator.php
测试数据:坐标系中随便6个点的坐标。分成两类。标签分别设置成1,0。
#include <iostream>
#include <cmath>
using namespace std;
int main(){
double d1[3] = { 1, 1, 3 };//点一(1,3)
double d2[3] = { 1, 3, 1 };//点二(3,1)
double d3[3] = { 1, 4, 8 };//点三(4,8)
double d4[3] = { 1, 3, 5};//点四(3,5)
double d5[3] = { 1, 7, 7 };//点五(7,7)
double d6[3] = { 1, 5, 4 };//点六(5,4)
double w[3] = { 1, 1, 1 };//回归系数
double dclass[6] = { 0,0, 0, 1, 1, 1 };//指定的初始分类 点一、二、三类别为0,四、五、六类别为1
double h[6];//当前分类
double derror[6];//每步当前分类与指定分类的误差
double a = 0.01;//步长
double b0, b1, b2;//三个buffer,用来存储样本数据乘以该样本当