在这个世界里,你知道得越多,就发现有更多的不知道,就在知道与不知道之间来回寻找,这个世界就是这样神奇。当你正在看NG的公开课时,就像这样在知与不知中寻找,或者在其中迷茫,或紧张,或张望,希望有人拉你一把。当看到下面这个公式时:

这个就是一个变量的线性回归最优化函数,NG当时没有解释为什么这样定义的,只是让这个J函数最小化,就可以达到最优化的线性方程回归了。同时,你如果看过我前面的文章,也会发现TensorFlow的例子里是这样来定义损失函数的:

loss = tf.reduce_mean(tf.square(y - y_data))

可以看到这里,tf.square(y - y_data)就是计算y - y_data的平方, tf.reduce_mean是计算所有平方的平均值,但没有除以2,因为除与不除都是一样的收敛性,所以省略了这个不必要的除法,还可以加快计算速度。

但是我很好奇这个一元变量的损失函数是怎么得来的呢?在原来的视频里没有解释,也许是我还没有看到。后来仔细翻看讲义,后面有推导整个过程,详细如下:

整个过程是通过《概率论》来推导的,然后通过似然函数(这里又引出了不知的概念?)变换,再对公式两边取对数,因为要l函数最大化,就是要后面负数项最小化,也就是推导出来最前面的公式了。

有了这个公式和理论支持,当遇到线性回归的问题时,就可以使用这个公式来构造损失函数,最后判断损失函数最小化,就达到判断训练是否达标了。因此,就可以把这个损失函数放入代码中:

# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

给定了判断标准,就可以给大量的数据来训练这个神经元,让你的机器学会预测房价,或者预测股市的波动。

不过,这里只是一元的线性回归,比较单一的,如果想模拟复杂的情况,比如达到100个变量的模型,那么就得寻找更多不知道的东西了,这个世界就是这么神奇,当你知道了,又发现很多的不知道。

1. C++标准模板库从入门到精通

http://edu.csdn.net/course/detail/3324

2.跟老菜鸟学C++

http://edu.csdn.net/course/detail/2901

3. 跟老菜鸟学python

http://edu.csdn.net/course/detail/2592

4. 在VC2015里学会使用tinyxml库

http://edu.csdn.net/course/detail/2590

5. 在Windows下SVN的版本管理与实战

http://edu.csdn.net/course/detail/2579

6.Visual Studio 2015开发C++程序的基本使用

http://edu.csdn.net/course/detail/2570

7.在VC2015里使用protobuf协议

http://edu.csdn.net/course/detail/2582

8.在VC2015里学会使用MySQL数据库

http://edu.csdn.net/course/detail/2672

线性回归的最小化函数相关推荐

  1. 最小化函数minimize

    minimize 函数 我们先看问题 根据公式,定义一下dist函数 from scipy.optimize import minimizedef dist(xita, v0):g = 9.8xita ...

  2. python三角函数拟合_使用python进行数据拟合最小化函数

    这是我对这个问题的理解. 首先,我通过以下代码生成一些数据import numpy as np from scipy.integrate import quad from random import ...

  3. 近端算法:近端最小化(Proximal minimization)、近端梯度(PG)、加速近端梯度(APG)、ADMM

    近端算法 基本介绍及定义 定义 工作原理 性质 近端算子解释 Moreau-Yosida正则化 次微分算子的预解 修正梯度步长 信任区域问题 近端算法(Proximal Algorithms) 近端最 ...

  4. electron重启和关闭应用指令窗口 最小化窗口 最大化、恢复

    重启指令 app.relaunch() app.exit() 实战: import { app,ipcMain} from 'electron' ipcMain.on('window-reset', ...

  5. delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)

    delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数) 转载于:https://www.cnblogs.com/LittleTiger/p/6519238.html

  6. Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)

    Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示  int main(int argc, char *argv[]) { QApplication a(argc, argv ...

  7. Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)

    转自:https://blog.csdn.net/pamxy/article/details/9012221 转自:http://blog.csdn.net/zhangshan415/article/ ...

  8. qt widget 最大_Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)

    //Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWin ...

  9. C++:最小化多个变量的标量函数 使用Nelder-Mead算法(附完整源码)

    C++:最小化多个变量的标量函数 使用Nelder-Mead算法 asa047.hpp asa047.cpp asa047.hpp void nelmin ( double fn ( double x ...

最新文章

  1. Go 知识点(17)— go 工具链 go test 使用
  2. html如何取消盒子间的间隔,使用flexbox时,多行子元素之间的间距如何控制?
  3. javascript 计算两个坐标的距离 米_土方全面应用计算
  4. 设计模式之策略模式在地铁票价系统中的应用
  5. 【Matlab】private文件夹
  6. 理解 position:relative 与 position:absolute
  7. 在vue-cli中使用v-for动态设置img的src值,路径对,但是不显示图片
  8. python数据结构之动态规划
  9. Webpower中国区发布《2015年中国金融保险行业邮件营销市场报告》
  10. 小米5主板原理图_小米5手机拆解及评测 小米5拆机详细图解教程
  11. ctf解密图片得到flag_CTF中图片隐写的一些整理总结
  12. 逻辑设计法:数字电路在PLC编程中的体现
  13. 库里扛起了勇士对凯尔特人的第四场
  14. LinkTrack UWB定位系统NLink协议解析方法
  15. springMVC+mybatis+maven搭建过程
  16. 您的首个 App 内购买项目必须以新的 App 版本提交
  17. PeckShield:图文拆解FCoin资产流向,其鼎盛时期便已显颓势?
  18. Element UI select 下拉框样式覆盖
  19. 基于API HOOK的软件行为分析系统
  20. Java练习-002

热门文章

  1. WinEdt10.3学习笔记Day2
  2. Python基础学习3——列表
  3. 专业计算机的英语句子,计算机英语的常用句子
  4. 机器学习-白板推导-系列(八)笔记:指数族分布/充分统计量/对数配分函数/最大熵
  5. c语言10个评委打分不用数组,C语言编程练习题绝对经典!
  6. html中圆的面积怎么计算,圆的面积怎么算 圆的计算公式是什么
  7. eclipse设置黑色背景
  8. 校园安全事故频发 安防建设从本质抓起
  9. 定义一个二维数组,写函数来实现对该二维数组求最大值。(要求,用行指针为函数形参)
  10. 用计算机做帐,会计如何电脑做帐