【机器学习】 机器学习方法解幼儿园考题

题目


幼儿园考题就是数数字里的圈圈数,比如6有一个圈圈、8有2个圈圈、9有一个圈圈,所以8809=6。
在机器学习思维里,可以表示为一个求每个数字的权重的回归问题。闲来无事、加之刚学完coursesa上的andrew ng的课程,尝试用线性回归解决一下这个问题。

线性回归

模型表示

特征提取:对于0-9,数它在等式左侧出现的次数即为特征。
例如:
样例特征X取值y说明
7111=00,3,0,0,0,0,0,1,0,001出现了3次,7出现了1次
8809=61,0,0,0,0,0,0,0,2,160出现了1次、8出现了2次、9出现了1次



训练结果

学习算法是梯度下降的batch算法,learning rate取0.01,用题目中的已知样例进行训练,训练结果已经相当不错:

 0.783963
 0.821555
 -0.199924
 -0.195487
 -0.147931
 -0.110500
 -0.162009
 0.807857
 -0.206934
 1.721141
 0.804065

第一个是intercept,可以看书,0得到的权重是0.82155、6得到0.80、9得到0.80,非常接近实际的圈圈数1;而8得到1.72,也必将接近实际的2。

用上述权值,未知结果的2889得到的预测值是4.834823,接近结果5。

更多的训练样本

构造1w个长度为5的样本,训练的结果就更加贴近实际。
0.714264
 0.853207
 -0.139821
 -0.139341
 -0.140103
 -0.140220
 -0.140126
 0.854667
 -0.139623
 1.847647
 0.855033


2889 predict =  5.1252
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值