暑期培训(0)

2017-06-30  本文已影响46人  斐波那契的数字

很久没有上课了, 感觉有点小累.  有这种感觉的不仅仅只有我, 还有上课的老师. 毕竟是把一个学期的课压缩成了一周. 这一周的课程是以机器学习和图形图像为主题的课程. 老师来自圣地亚哥. 这位老师的很多理念我很认同. 比如: 我们学技术的就应该了解算法的细节,仅仅去调参数去解决是没有任何意义的. 有时候课下听他闲聊的时候我也觉得相见恨晚.

贴上它给出的作业以及我的作业报告:

HomeworkAssignment 1

实验环境:

MacOSMatlab2014b ;


Part

I. Unit Price Prediction

这是一个线性回归的问题;菜品单价的算法预测的思路如下:

已知,

step1,随机生成每份菜的单价 ,

step2,随机生成每份菜的数量

step3,计算当前情况下的估计的消费总额以及实际的消费总额

PLACEHOLDER部分的算法:

%%%%PLACEHOLDER#start

%calculate delta values

delta =sum(meal.*estUnitPrice) -cashierPrice ;

%update unit prices

fori= 1:3

estUnitPrice(i)=estUnitPrice(i) - alpha*delta*meal(i)

end

%%%%%PLACEHOLDER#end

二、验数据以及结论

修改一下参数获得的实验数据以及结论:

%PLACEHOLDER#start: set your own stopping conditions and

learning rate

%condition 1: maximal iterations, stop.2000000

MAX_ITERATION=100000;

%condition 2: if the difference between your prediction and the

cashier's

%price is smaller than a threshold, stop.

MIN_DELTA= 0.01;

% learning rate

%alpha=1e-3;0.000010.0005

alpha=0.0001;

%PLACEHOLDER#end

2.1MAX_ITERATION

当alpha=0.0001,MIN_DELTA=0.01时,仅修改MAX_ITERATION的结果如下表所示。

表1.alpha=0.0001,MIN_DELTA=0.01时,MAX_ITERATION=100000~ 5000

2.2 MIN_DELTA

当alpha=0001,MAX_ITERATION= 100000的时候,仅修改MIN_DELTA

的结果如下表所示。

2.3 alpha

当MIN_DELTA=0.001,MAX_ITERATION= 100000的时候,仅修改MIN_DELTA

的结果如下表所示。

自己发现的问题:

1.如果发上述的每次获取的最佳参数组合在一起会不会更好一些呢?

实际上会比设想的要好一些。以训练次数为例:经过以上的实验数据采集我们知道,当alpha=1e-3,MIN_DELTA= 0.000000001,MAX_ITERATION=3000的时候,estUnitPrice =(20.000025.00008.0000),estimation error:9.553467e-08。我把每次迭代的误差绘制成以下图表。横坐标的单位是迭代次数,纵坐标的单位是误差。我们从下图中可以得知:训练到1000次左右的时候,我们就没有必要去再次训练了。也就是说可以得到一个更加省时减少计算次数的模型。

图4.最佳参数组合中,每次计算的误差

上一篇 下一篇

猜你喜欢

热点阅读