机器学习课堂笔记(十七)

来源:互联网 发布:淘宝客采集软件微信 编辑:程序博客网 时间:2024/04/27 02:54

机器学习课堂笔记(十七)

<matlab>cvPredictions = (pval < epsilon);fp = sum((cvPredictions == 1) & (yval == 0));<matlab>

cvPredictions == 1yval == 0是长度
n= length(cvPredictions)=length(yval)的逻辑向量
((cvPredictions == 1) & (yval == 0));是长度n的逻辑向量

这里写图片描述
x(i)θ(i)是列向量

这里写图片描述

<matlab>for i=1:num_movies    idx=find(R(i,:)==1);    Theta_temp=Theta(idx,:);    Y_temp=Y(i,idx);    X_grad(i,:) = (X(i,:)*Theta_temp'-Y_temp)*Theta_temp;endfor j=1:num_users    idx=find(R(:,j)==1);    X_temp=X(idx,:);    Y_temp=Y(idx,j);    Theta_grad(j,:) = (Theta(j,:)*X_temp'-Y_temp')*X_temp;end<matlab>

1、计算X_grad(i,:)时,将Theta看作样本集
2、计算Theta_grad(j,:)时,将X看作样本集
3、X(i,:)*Theta_temp'对应Y_temp
4、Theta(j,:)*X_temp'对应Y_temp'

这里写图片描述
对于右图的情况,先增加特征,如果学习曲线变成左图,可以进一步进行基础设施了改善算法。
这里写图片描述
批量梯度下降计算θj需要(x(1),y(1)),(x(2),y(2)),,(x(m),y(m))
随机梯度下降计算θj需要(x(i)y(i))
这里写图片描述
1、随机下降将会在靠近全局最小值附近区域内移动
2、在更新样本的同时,θj也在同步更新
3、Repeat执行1-10次,取决样本的大小
这里写图片描述
小批量梯度下降计算θj需要(x(i),y(i)),(x(i+1),y(i+1)),,(x(i+b),y(i+b))

这里写图片描述
使用向量化方法能够实现并行计算b个样本值
这里写图片描述
每次计算cost(θ,(x(i),y(i))),每1000次计算1次平均值并作图
这里写图片描述
1、更小的α振荡更小,得到更好的参数
2、计算最后5000个cost(θ,(x(i),y(i)))的平均值比计算1000个得到的曲线更平滑
3、曲线上下振动时,增加用来平均的cost(θ,(x(i),y(i)))更能够看出趋势
4、代价值上升时,换更小的α
这里写图片描述
θ能够随着用户习惯的变化自动调适
这里写图片描述
在线学习θ,对于x,预测y的值
这里写图片描述
4台机器每台机器计算400i=1(hθ(xi)y(i))x(i)j中的100个求和项

0 0
原创粉丝点击