机器学习训练模型的一般错误

小说:微信每天稳赚20元作者:王戏杜更新时间:2019-03-18字数:63972

叶扬脚下一动,将地上的那几柄被他折断的刀刃挑起,脚上用力,异能包裹着刀刃向着那生化僵尸激射而去。

快手直播444个赞是多少钱

他让隐娘找了借口跟父母说上一声,然后让她用御剑之术载着自己往苍梧山飞去。隐娘的剑遁虽然不及红线飞快,但她将飞雪剑幻大,却要平稳得多。
当然,此时的马红俊也已经到了极限状态,汇合在唐三和奥斯卡身边,三个人相互搀扶,一步步向前走去。

火把纷纷丢入,不仅是大门,整个侧宅同样被点燃,好在侧宅所在方位距离中间主宅有一段距离,严进不用担心这场火波及主宅。

机器学习训练模型的一般错误


前言

在我们构建完机器学习模型,经常会遇到训练得到模型无法正确预测,这之后我们往往会采取下面的一些方案:

  • 增加训练数据
  • 减少特征的个数
  • 增加更多的特征
  • 增加多项式特征(X1*X2 ...)
  • 增大lambda的值
  • 减小lambda的值

若是不了解模型具体的问题所在,而根据随便拿出一个方案去试错,这往往都是既费力又费心,往往个把月过去了仍然在进行模型的调试。

CV 数据集 [数据集处理]

将一个数据集先按下面进行划分:

  • Training set: 60%
  • Cross validation set: 20%
  • Test set: 20%

计算模型误差 [误差计算]

1.线性回归,直接使用代价函数即可,如下:

for i = 1:m
    %依次递增的数据量进行训练模型
    theta = trainLinearReg(X(1:i,:), y(1:i), lambda);
    %train数据集的测试,使用时去除lambda
    error_train(i) =linearRegCostFunction(X(1:i,:), y(1:i), theta, 0);
    %cv数据集的测试
    error_val(i) = linearRegCostFunction(Xval, yval, theta, 0);
end

2.logistic回归,引出0-1错分率:

过拟合和欠拟合 [误差分析]

欠拟合:高偏差,Jcv近似于Jtrain。
过拟合:高方差,Jcv远大于Jtrain。
这2个问题是机器学习中最经典的错误情况,很多现象也是由它们一手操办的,来看看下面的3种情况:


样本

根据上面误差计算部分得来的Training set和cv set得到相应图片


High bias:Jcv与Jtrain非常接近,加入过多样本,对模型的优化没作用


High variance:Jcv远大于Jtrain,增加样本,可以对模型进行优化


多项式特征

多项式特征的选择的多少往往也会给我们带来很大的麻烦,过多的多项式特征会使模型过拟合,而过少的多项式特征会使模型欠拟合。
那么我们该如何进行多项式的选择,下面便引入解决方案:

  1. 使用training set训练每一个多项式,得出相应的theta值。
  2. 使用cv set获得误差最小的多项式。
  3. 最后使用test set对多项式进行评估。

lambda

正规化的引入,就是为了防止过拟合,而lambda对拟合程度有着很大影响。若是没有lambda则会出现过拟合现象;而若是lambda过大则会出现欠拟合现象。

那怎么选择一个较好的lambda呢?
方法类似于多项式特征的选取,稍有不同的就是自己要定义lambda集合。

测试代码段

for i = 1:length(lambda_vec)
        lambda = lambda_vec(i);
        theta = trainLinearReg(X, y, lambda);
        %评估时切记不可在cv set和test set中加入lambda值
        error_train(i) = linearRegCostFunction(X, y, theta, 0);
        error_val(i) = linearRegCostFunction(Xval, yval, theta, 0);
end

测试结果:

学习曲线

很多情况下因为特征很多,我们往往很难将数据展现出来,而可视化的数据往往给我们的分析带来了很大的帮助;learning curve的绘制无疑是一大助手,learning curve通常是由training set和cv set的误差绘制出来的,中间最重要的就是将training set使用递增的方式进行训练,而cv set则是全部进行使用。如【计算模型误差的代码部分】。

当前文章:http://zxqss.com/list_61452.html

发布时间:2019-03-18 16:57:31

郑州跑滴滴每月能赚多少 太原带车司机电话 榆林百草堂足球队 微信打字赚米公众号 花生日记赚得谁的钱 日赚800只用10分钟 2017赚钱项目 大学生兼职相关文献

2018深圳跑滴滴赚钱吗 一个wish店铺能卖多少钱? 在家上网赚点小钱 淘宝刷单可以赚多少钱 淘宝客怎样接单赚钱 做卡商还赚钱吗? 微店分享赚钱钱谁出? 用微信赚钱是真是假 贝赚下载安装新版本 微信帮好友解封有风险吗 星巴克兼职一小时 随心娱乐棋牌免费代理教程(日赚100元) 小鱼赚钱公司 下app拿佣金 嘉兴晚上兼职送外卖 淘宝客推广方法步骤 淘宝网兼职怎么做 怎么用京东券赚钱 做什么偏门生意来钱快

编辑:扁公秉平

我要说两句: (0人参与)

发布