Andrew Ng机器学习算法入门(三):线性回归算法
线性回归
线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。
线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据,如下图所示:
在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价。
线性回归模型
通过线性回归构造出来的函数一般称之为了线性回归模型。线性回归模型的函数一般写作为:
使用markdown不好描述数学公式,所以大家就讲究看吧
代价函数
通过线性回归算法,我们可能会得到很多的线性回归模型,但是不同的模型对于数据的拟合或者是描述能力是不一样的。我们的目的最终是需要找到一个能够最精确地描述数据之间关系的线性回归模型。这是就需要用到代价函数。代价函数就是用来描述线性回归模型与正式数据之前的差异。如果完全没有差异,则说明此线性回归模型完全描述数据之前的关系。如果需要找到最佳拟合的线性回归模型,就需要使得对应的代价函数最小,下面是相关的公式描述
- Hypothesis,表示的就是线性回归模型
- Cost Function,代价函数
- Goal,就是要求对应的代价函数最小
线性回归模型求解-1
假设在线性回归模型中仅仅只存在一个函数,就是斜率参数。即theta-0是0。
如果存在如下的数据:
图中对应的3个点分别为(1,1),(2,2),(3,3)
那么很明显,最佳线性回归模型就是h(x)=x
。
如果通过实验证明呢?
我们画出在theta-1处于不同值的代价函数。
通过代价函数的的图形,也可以发现当theta-1为1的时候,代价函数所对应的值最小。
所以最佳你和函数为h(x)=x
PS:这种题目在高中数学中很常见
线性回归模型求解-2
上面讨论的是一个参数的问题,接下来讨论的是两个参数的问题。
如果存在如下的数据:
这样可以看到最后的线性回归模型就会存在两个参数。最后的代价函数图形为:
是一个3D函数,不是很好求解,但是可以转化为一个轮廓图,如下:
两个轴分别表示 θ0 和 θ1 而这些一圈一圈的椭圆形 每一个圈就表示 J(θ0,θ1) 相同的所有点的集合。
最后通过测试发现(就是手动地选择θ0 和 θ1来计算代价函数),发现当选择的点位于最里面的椭圆的中心的时候,代价函数的值最小。那么选取的点就可以作为最佳的线性回归模型。
当然这只是手动地方式来进行测试的,最好的方法当然是通过机器学习算出这个最佳的线性模型。
总结
线性回归模型还是比较简单的,也比较容易理解。
为了了能到远方,脚下的每一步都不能少。
Andrew Ng机器学习算法入门(三):线性回归算法的更多相关文章
- Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降
网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...
- Andrew Ng机器学习算法入门(一):简介
简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...
- Andrew Ng机器学习课程笔记(三)之正则化
Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...
- Andrew Ng机器学习课程笔记(一)之线性回归
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...
- Andrew Ng机器学习课程笔记(四)之神经网络
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...
- Andrew Ng机器学习课程笔记(二)之逻辑回归
Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...
- Andrew Ng机器学习课程笔记--汇总
笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...
随机推荐
- [POJ2828] Buy Tickets(待续)
[POJ2828] Buy Tickets(待续) 题目大意:多组测试,每组给出\(n\)条信息\((a,b)\),表示\(b\)前面有\(a\)个人,顺序靠后的信息优先级高 Solution.1 由 ...
- C++11多线程编程(常见面试题)
[题目1] 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码 [题解] 首先我们来分析一下这道题...( ...
- IgniteMe -高校网络信息安全运维挑战赛
1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 void *v3; // eax 4 int v4; ...
- Git基本操作流程
技术背景 Gitee是一款国内的git托管服务,对于国内用户较为友好,用户可以访问Gitee地址来创建自己的帐号和项目,并托管在Gitee平台上.既然是git的托管服务,那我们就可以先看看git的一些 ...
- 基于sk_learn的k近邻算法实现-mnist手写数字识别且要求97%以上精确率
1. 导入需要的库 from sklearn.datasets import fetch_openml import numpy as np from sklearn.neighbors import ...
- Istio 生产环境用户流量接入方案
总结Istio 生产环境用户流量接入方案 方案1 Client -> istioGateway域名(微服务) -> VritualService匹配路由并绑定网关 -> Destin ...
- 【JVM进阶之路】十:JVM调优总结
1.调优原则 JVM调优听起来很高大上,但是要认识到,JVM调优应该是Java性能优化的最后一颗子弹. 比较认可廖雪峰老师的观点,要认识到JVM调优不是常规手段,性能问题一般第一选择是优化程序,最后的 ...
- Spring MVC(七篇)
(一)Spring MVC简介 (二)SpringMVC核心控制器 (三)Spring MVC Controller接口控制器详解(一) (三)Spring MVC Controller接口控制器详解 ...
- php的类
类成员中:属性.类常量和方法都可以无限定义,但是定义的原则是相关性.除了以上三个类成员,不能在类结构{}中直接写其他任何代码 PHP类结构中有三种成员:属性.方法和类常量 类结构中只能有三种成员,不限 ...
- kafka-简介-02
1.kafka怎么实现高可用? 2.kafka伸缩性,分区的作用? 3.名词术语 消息:Record.Kafka 是消息引擎嘛,这里的消息就是指 Kafka 处理的主要对象. 主题:Topic.主题是 ...