zoukankan      html  css  js  c++  java
  • 第二十一天学习进度--简单线性函数提取并模拟计算机复杂图像识别函数(2)

    前天,用简单的sklearn中提供的线性回归分析的一个lineregress的模块对手写图片识别函数进行提取了之后,发现对应的函数并没有比较好的效果,今天打算通过改进,来增强提取的正确性。

    sklearn中提供了不止简单的线性回归分析的模块,还有梯度下降回归,梯度上升回归,随机森林回归,极端森林回归等回归分析的方法,所以今天打算通过这4种回归模型的测试,来尝试提高计算机识别函数的正确性。(1)首先我们尝试梯度下降的回归分析方法

    梯度下降的回归是sklearn中的以下模型

    from sklearn import linear_model
    model=linear_model.SGDRegressor()

    简单线性函数提取并模拟计算机复杂图像识别函数(1)的数据的基础上,也就是minist的手写数据基础上提取对应的函数,尝试上述模型,代入数据获得对应数字的值的这个函数提取出来,过程没有用到神经网络,实验过程完全一致,这里就不再展示过程了

    可以看到梯度下降依旧正确率不高,甚至低于线性回归分析的正确率

    (2)梯度上升回归分析

    from sklearn.ensemble import GradientBoostingRegressor
    model=GradientBoostingRegressor()

    依旧完全一致的实验过程,看看效果如何

    可以看到正确率有了一点点的提升,不过这样的准确率还是完全不能入眼

    距离相对比较好的函数提取还是有很大的距离

    (3)随机森林回归

    from sklearn.ensemble import RandomForestRegressor
    model=RandomForestRegressor()

    同样的过程提取手写图像识别函数效果如下:

     随机森林的回归分析直接将非线性函数的提取正确率翻了一番,意料之外...达到了昨天的最低要求了

    (4)最后康康极端森林回归有没有更好的效果

    from sklearn.ensemble import ExtraTreesRegressor
    model=ExtraTreesRegressor()

    效果:

     令人振奋的效果,一度达到了70%左右的正确率,这也就是说极端森林在非线性函数的拟合上有很好的效果,虽然不能完全达到100%,但是60%正确率...实在是太不可思议了

  • 相关阅读:
    算法导论(第三版)Exercises2.1(插入排序、线性查找、N位大数相加)
    含铝馒头可能损伤儿童的智力
    每秒3600乘以100等于36万次售票解决方案
    namespace Measure
    public interface ICloneable
    VB.net 与线程
    C#调用VP 包含素材
    C# 定时器 一个简单 并且可以直接运行的Demo
    松下 激光位移传感器 API
    在Win7系统下, 使用VS2015 打开带有日文注释程序出现乱码的解决方案
  • 原文地址:https://www.cnblogs.com/halone/p/13399079.html
Copyright © 2011-2022 走看看