最近开始学习机器学习,大家都知道机器学习是当前非常热门的方向。它是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。
下面向大家介绍一个简单的机器学习的例子吧。
本程序将根据您的评价,判断执行结果 "1+1=2"。实际上仅用了最简单的 if else for 语句。这就是一个机器学习的例子,通过环境影响来进行学习。通过本例我们不难看出,在人工错误的引导下,机器会给出错误的答案 1+1不等于2。所以此类学习方法,一定要在正确引导下实践,否则会得到最坏的结果。学习完毕后,计算机会记录本次学习结果,存入数据库,下次执行相应任务时,再将结果调出执行。
#include<iostream>
using namespace std;
void input(int &oper,const bool meth)
{
//meth为true则只判断1,为false则判断1或0
while(true)
{
cin>>oper;
if(meth && oper==1)
break;
else if(oper == 0|| oper==1)
break;
cout<<"输入错误,请重新输入。"<<endl;// 判断参数
cin.sync( );//避免极端输入导致死循环
cin.clear();
}
}
int main(void)
{
cout<<"1+1=2吗? 那要看您怎么教我了,不要惊讶我会学习的"<<endl;
int ladd,aprs,radd,rcnt(0),wcnt(0); //定义输入与结果,正确次数与错误次数
cout<<"开始学....";
for(int i(8);i!=10;++i)
{
cout<<"参数1(必须是1) :"<<flush; //提示输入参数
input(ladd,true) ;
cout<<"参数2 (必须是1) :"<<flush;
input(radd,true);
cout<<"结果:"<<(ladd+radd)<<endl; //输出结果
cout<<"您对这满意吗(满意输入1,不满意输入0) :"<<flush; //评价等级
input(aprs,false);
if(aprs) //判断用户评价
++rcnt;
else
++wcnt;
cout<<"正确次数:"<<rcnt<<"错误次数:"<<wcnt<<endl; //错误次数
}
if(rcnt>wcnt) //判断学习结果
cout <<"主人告诉我 1+ 1 = 2 。" << endl;
else if(rcnt<wcnt)
cout<<"主人告诉我1+1!=2。"<<endl;
else
cout <<"我不明白主人是什么意思。" << endl;
int term; //退出部分
cout<<"您对我的表现满意吗? 满意请输入1不满意请输入0:"<<flush;
input(term,false) ;
if(term)
cout<<"谢谢,我不会骄傲的,我会继续努力学习"<<endl;
else
cout<<"谢谢,我不会气馁的,我会继续努力学习"<<endl;
//cin>>term; //在Windows上测试时启用
return 0;
}