机器学习系列2:从线性方程的角度看的线性回归【1】
1 从方程说起
我这里先不谈线性回归,就面对一个简简单单的方程,看你能不能解吧。
(1)
我们也知道答案是:
但是,如何用计算机将其解出?这就是个理论问题了。下面请看我如何展开题目,让诸位举一反三地认知这个问题。
假定任意给出一组近似的解:
。 将其带入等式(1)立即得到近似结果,可以写成:
,进一步写出其残差方程:
(2)
叫做剩余,显然,如果:,那么上边的 就一定是方程(1)精确解!
因此,解方程(1)的问题转化成“如何让剩余等于0的问题,即”的问题。
以上内容核心点:是否可以从一个非精确解开始,自动迭代地慢跑到精确解附近。
2 凸函数如何求极值的问题
对于凸连续函数,求出它的极值点坐标还是容易的。这是因为,图函数的极值点只有一个,如果不是凸函数,极值点有多个,那就无法得到唯一解。
举个例子:
函数:的极值点是(0,0,0)这个点,其算法是先求f的梯度,令梯度等于0,解出x,y,z:
拓展你的思路:将上述函数换成,只要是令梯度等于0。就可以得出: 极值点,同时解出:,这就是方程(1)最后解。
3 梯度下降法计算极值
将改写成:
按照以下步骤求解:
1)给出一组任意值作为方程(1)的近似解
2) 求出梯度的表达式
(是个较为复杂的式子,暂时不展开)
将带入,得到此点(就是当前近似解)对应梯度:
,这是一个具体的数值向量。
3)修改近似解:将近似解移动一个微小位移;具体就是顺梯度反方向移动0.001倍个长度:
4)返回到1)再次迭代。
5)迭代N遍后停止,得到(1)方程的数字解。
注:上文中的f就是所谓的代价函数。
4 以上方程的程序实现
import numpy as npcs = np.array([[23],[23],[26]])
ix = np.array([[0.001],[0.002],[0.003]])IA = np.array([[2.,3.,5.],[4, 5, 3],[6, 7, 2] ])for i in range(6000000):grd = np.dot( IA.T,np.dot( IA, ix) - cs) # 我估计百分之九十的同学,看不出这步如何得到!!# 那就继续努力吧ix = ix - 0.0001*grd
print(ix)
在没有任何优化的前提,迭代了六百万次,高效得到结果:
《从函数逼近论看回归问题》《非线性的回归,乃至任意的回归问题》[[1.06834998]
[1.93894111]
[3.00954498]]
是不是和精确结果
很类似呢?列位不妨将代码粘下去跑跑。好了,如果能理解上述所讲,下面解释线性回归就毫无难度了。
后记:
以上只是回归问题的冰山之一角,后面还有更奇葩的东西,那就是:《从函数逼近论看回归问题》《非线性的回归,乃至任意的回归问题》《机器学习2:回归问题之一览众山小【2】》此两篇主要介绍更一般的理论,可以推广到回归问题、神经网络、协同过滤等一些列问题,通过学习后,保证你看明白yolo,gan、rnn等一些列难懂的东西,竟然就是点数学玩具而已。
机器学习系列2:从线性方程的角度看的线性回归【1】相关推荐
- 吴恩达机器学习系列理论加实践(二 、单变量线性回归及matlab实践)
二.单变量线性回归 2.1模型表示 同样以之前的房屋价格预测实例开始: 通过学习算法利用训练集训练模型h,对于新输入的数据size of house就可以输出其预测值price: 如何表达这个模型h: ...
- 【机器学习系列】概率图模型第一讲:从概率和图的角度理解概率图模型
作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 前言: 文中含有大量公式,若需获取本文全部的手书版原稿资料,扫码关注公众号[AI机器学习与知识图谱],回复: 概率 ...
- 机器学习系列(8)_读《Nature》论文,看AlphaGo养成
机器学习系列(8)_读<Nature>论文,看AlphaGo养成 标签: 机器学习算法深度学习神经网络蒙特卡罗树搜索 2016-03-16 11:23 17843人阅读 评论(8) 收藏 ...
- 机器学习系列(二)ML经典十大算法之一:决策树算法--从代码和统计学角度谈谈cs是如何预测你的行为
写在前面: 我是「nicedays」,一枚喜爱做特效,听音乐,分享技术的大数据开发猿.这名字是来自world order乐队的一首HAVE A NICE DAY.如今,走到现在很多坎坷和不顺,如今终于 ...
- 关于从安全角度看机器学习:真实的故事
今天,我们从安全的角度对机器学习进行考察,并回顾一些最有趣的事件. 机器学习如何应用于信息安全 一方面,机器学习帮助信息安全产品检测攻击,并帮助专家识别数据中新的依赖关系.另一方面,ML正在成为网络犯 ...
- 机器学习系列(2)_从初等数学视角解读逻辑回归
作者:龙心尘 && 寒小阳 时间:2015年10月. 出处:http://blog.csdn.net/longxinchen_ml/article/details/49284391 ...
- svm多分类代码_跟我一起机器学习系列文章知识点与代码索引目录,持续更新…...
<跟我一起机器学习> 系列文章知识点与代码索引目录 0 环境配置 如何才能入门机器学习? 优雅的安装和使用Anaconda 使用Conda来进行环境的创建与管理 Pycharm安装与使用 ...
- 机器学习系列(三)——目标函数、损失函数以及代价函数
机器学习基础(三) 机器学习系列(一)--基础概念及分类 机器学习系列(二)--分类及回归问题 文章目录 机器学习基础(三) 4. 代价函数 4.1 为什么要使用代价函数 4.2 目标函数的作用原理 ...
- 机器学习系列(4)_机器学习算法一览,应用建议与解决思路
作者:寒小阳 时间:2016年1月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50469334 声明:版权所有,转载请联系作者并注明出 ...
最新文章
- Git查看、删除、重命名远程分支和tag【转】
- caffe读书笔记1 CIFAR-10在caffe上进行训练与学习
- 记录从数据库把数据初始化mongodb缓存的一些坑
- python模拟地面网管接收数据
- 列出本机安装的所有硬件设备
- c++ 中文乱码_Visual Studio Code 中 CodeRunner 插件的输出窗口中文乱码
- Egret开发HTML5小游戏代码分享
- 【Elasticsearch】Limit of total fields [1000] in index [xxxxxx_index] has been exceeded
- 互联网创业的重重风险
- Command(命令)
- r语言集合补集_极速统计教程之八 | 概率和集合
- 基于Android的Word在线预览
- 手动下载Windows Defender离线更新包
- 远程计算机关机了怎么办,远程关机的详细步骤有哪些?向日葵怎么远程关机?...
- docker部署sftp,连接报algorithm negotiation fail错误
- base64在线解码(等号或者双等号结尾的数据的解码)
- MATLAB强化学习入门——四、用DQN实现网格迷宫算例
- 【Qt Quick】零基础入门系列之安装与卸载(一)
- Python len()方法
- 基于CentOS7.2的服务器搭建教程《一》