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

栏目: 数据库 · 发布时间: 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;
  }
}
复制代码

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

查看所有标签

猜你喜欢:

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

基于模型的设计

基于模型的设计

2011-8 / 69.00元

《基于模型的设计:MSP430/F28027/F28335DSP篇》的最大特色就是软硬件结合,在使用最新版本Simulink的基础上,结合多型号板卡实现设计开发。书中不仅详细剖析了MSP430/F28027/F28335板卡功能,而且使用Simulink演示了从建模到模型验证、从定点设计到处理器在环、从代码生成到硬件联调等诸多方面,内容充实,确实是一本学习基于模型设计进行DSP开发的较为理想的工程......一起来看看 《基于模型的设计》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器