微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

tensorflow学习:第三课,数学基础之线性回归

线性回归求B公式:

 

 

 公式解释:

 

 

 ∑ 该符号是一个求和的意思,可以解释为:xi={x1+x2+x3...+xn},

∑ 符号下面的i=1,就是说从1开始将列表里面的数据加到n,就是将列表里面是数据求和。

视频教程:

https://www.bilibili.com/video/BV1FV411C7VL?from=search&seid=10651213649538946425  

 

实例:根据温度预测卖冰激凌个数

代码表示:

以下为javascript代码

<script>
function avg(arr) {//封装求平均值函数
        var len = arr.length;
        var sum = 0;
        for(var i = 0;i<len;i++){
            sum +=arr[i];
        }
        return sum/len;
    }

function linearRegression(x1){
    var x=[25.0,26.0,27.0,28.0,29.0];  //把各个温度值放到x数组
    var y=[10.0,15.0,17.0,23.0,25.0];  //冰激凌卖的个数放到y数组

    //第一步算b的值

    //1,先取x的平均值:
    var avg_x=avg(x);
    //console.log(avg_x);
    //2,再去y的平均值:
    var avg_y=avg(y);
    //console.log(avg_y);
    //3,再用循环x数组依次减去avg_x , 循环y数组依次减去avg_y 进行相乘求和:
    var v1=0;//分子
    var v2=0;//分母
    for(var i=0;i<x.length;i++){
      v1+=(x[i]-avg_x)*(y[i]-avg_y);
      //console.log(v1);
      v2+=(x[i]-avg_x)*(x[i]-avg_x);
    }
    
    console.log(v1);
    console.log(v2);
    
    var b=v1/v2;
    console.log(b);
    //第二步算a的值:
    var a=avg_y-b*avg_x;
    console.log(a);

    //最终得出的值:
     return b*x1-a;
}
console.log(linearRegression(32));

</script>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐