线性建模:最小二乘法(机器学习基础教程)

栏目: 数据库 · 发布时间: 6年前

内容简介:问题转化为求 最小时, 的值,即求偏导然后联立求解令:

问题转化为求 最小时, 的值,即

求偏导然后联立求解

令:

求得:

更复杂的线性关系模型

利用矩阵推导更一般的模型

令:

得到:

平均损失函数可以表示为:

求偏导:

得到:

即:

简单线性模型拟合实现

推导出来结果后,代码比较简单了,我是用js写的

// 模型
// y = w0 + w1*x
export class Liner {
  constructor(public inputs: number[] = [], public outputs: number[] = []) {}
//   求w1
  getW1(): number {
    const xt = this.inputs.map((item: number, index: number) => {
      return item * this.outputs[index];
    });
    const xx = this.inputs.map(item => item * item);
    const xtMean = Liner.mean(xt);
    const _x = Liner.mean(this.inputs);
    const _y = Liner.mean(this.outputs);
    return (xtMean - _x * _y) / (Liner.mean(xx) - _x * _x);
  }
  // 求w0
  getW0() {
    return Liner.mean(this.outputs) - this.getW1() * Liner.mean(this.inputs);
  }
  // 预测值
  get(input: number) {
    return this.getW0() + this.getW1() * input;
  }
  // 求平均值
  static mean(arr: number[]): number {
    return arr.reduce((a, b) => a + b, 0) / arr.length;
  }
}
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

解决网页设计一定会遇到的210个问题

解决网页设计一定会遇到的210个问题

2006-4 / 42.00元

如何选择适合、简单、方便、快速的方法来解决您的网页设计问题?不会HTML、JavaScript、CSS也可轻易完成许多网页功能与特效。本书包含上百种HTML、JavaScript、CSS使用应用技巧与盲点解说,包含10个常用表单资料判断函数与特殊技巧,不必修改就可用于任何网页。本书现有的多数网页设计书籍相辅相成,让您事半功倍地完成工作。   许多计算机书籍都是从某个语言或者某个软件的......一起来看看 《解决网页设计一定会遇到的210个问题》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具