跟着Andrew Ng挑战Machine Learning(第一周):概念+单一变量线性回归
来源:互联网 发布:lolking软件 编辑:程序博客网 时间:2024/06/05 06:17
声明:
开个新坑,督促自己坚持学习。这个系列同样是学习心得以及总结,用到的资料都是从吴恩达大神在Coursera上的课程中摘下来的。另外,依照Coursera的要求,保证学员的学习质量,在这一系列心得中不会出现与Coursera习题答案有关的代码。
为了帮助自己更深刻的理解,除了一些人名、引用或者算法的缩写,比如‘BFGS’、‘L-BFGS’等等之外,尽量使用中文。这一系列的文章结构都是按照大神的课程来的,理解成翻译其实也没毛病。
建议有条件的童鞋去Coursera上学习,不仅免费还精心准备了很多联系帮助理解,以下是链接(看视频需要翻墙):
https://www.coursera.org/learn/machine-learning/
什么是机器学习?
有很多种说法,大致意思都是:“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”
下面是一种较常见的引用,不明觉厉,仅是应用的话并不用纠结于定义。
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
通常来说,机器学习主要分为监督学习(Supervised Learning)和非监督学习(Unsupervised Learning)。事实上最近我还看到的半监督学习(Semi-supervised Learning),等以后确实了解了再总结一下。
监督学习
监督学习应具备几个特点,即有一个用于训练(Training)的数据集合,并且明确的知道正确的输出结果应该是怎样的形势,而且清楚的知道训练集的数据与输出结果之间的关系。简而言之,当涉及到“训练”的时候八九不离十就是监督学习了。
监督学习又进一步被分为两类问题,分别是“回归问题(Regression)”和“分类问题(Classification)”。这两类问题主要是由输出的结果进行区分:“回归问题”的输出结果应该是一个连续的函数,比如,根据房屋面积预测房价(实际上和房价有关的特征并不仅仅是面积);“分类问题”的输出结果应该是离散,比如,根据肿瘤的大小预测该肿瘤是恶性的还是良性的。
非监督学习
通过非监督学习我们可以解决一些我们并不清楚其结果应该是怎想的问题。通过聚类(Clustering)或者说是归纳的方法,我们可以发现特征变量(Variables)和数据集之间的某些关系。
例:对于基因序列的研究,通过非监督学习,我们可以发现某些基因片段与生命延长、遗传疾病、性格特征……等表现形式之间关系。
模型表示
概念讲完了,接下来首先学习“监督学习”。开始具体的学习之前需要对符号做一些规定和说明。对于接下来的课程我们做如下规定,以根据房屋面积预测房价为例:
为了更好的理解监督学习,我们可以说,实际上监督学习的目的就是通过学习大量经验数据找到一个“合适”的预测函数进行预测,即
当我们用
成本函数
成本函数的功能是用于表示
容易看出,这个公式和“方差”很像,仅仅多了一个
“x”表示训练实例,
更加直观的理解成本函数
最理想的情况,所有的训练实例都在一条直线上,如图,此时
假设
当
左图中的斜线为右图中点
上图更进一步,选择的点距中心更近了一步
这一次,我们选到了中心,可以看到中心点对应的
梯度下降算法
注:这一部分如果有微积分相关的知识就很容易理解了,如果没有相关知识也没关系,并不会影响实际得应用。
根据前文的内容,我们知道最合适的
注:上图所示的情况得到的极小值和其初始状态有关,不一定就是
核心算法
重复做如下动作至
“:=”表示赋值的意思。
由于这一章只讨论单一变量的线性回归问题,所以
梯度下降算法在单一变量线性回归中的应用
确定特征
hθ(x⃗ )=θ0+θ1x1 重复至收敛 {
}⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))θ1:=θ1−α1m∑i=1m((hθ(x(i))−y(i))x(i)1)
在括号中
另外,需要提一下,这种同一时间同时更新所有的特征变量
- 跟着Andrew Ng挑战Machine Learning(第一周):概念+单一变量线性回归
- 跟着Andrew Ng挑战Machine Learning(第二周):多元线性回归+特征缩放
- 跟着Andrew Ng挑战Machine Learning(第三周)Part 1:逻辑回归简介
- 跟着Andrew Ng挑战Machine Learning(第三周)Part 2:逻辑回归的代价函数
- 跟着Andrew Ng挑战Machine Learning(第三周)Part 3:过拟合问题
- 机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)
- ANDREW Ng教授的机器学习(Machine Learning)学习笔记(2)-- 线性回归模型(Linear regression model)
- 机器学习 Machine Learning(by Andrew Ng)----第三章 多变量线性回归(Linear Regression with multiple variable)
- Machine Learning 线性回归( Linear Regression) Andrew Ng 课程练习 Matlab Script 详细解析
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(2.线性回归,代价函数)
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- 机器学习 Machine Learning(by Andrew Ng)----第四章 逻辑回归(Logistic Regression)
- Andrew Ng-Machine learning (1)
- coursera Machine Learning, Andrew Ng
- Machine Learning-Andrew Ng-week3
- Machine Learning--Andrew Ng--week4
- Coursera—machine learning(Andrew Ng)第四周编程作业
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- Emoji表情转换
- 水波纹震动特效代码
- 4.12日java 反射
- 深入ES6 (二)let和const
- React Native的一些问题
- 跟着Andrew Ng挑战Machine Learning(第一周):概念+单一变量线性回归
- spark 入门map reduce 最好的几个例子
- android
- (转)EventBus使用详解(一)——初步使用EventBus
- 自己实现简单对象关系库之反射和注解
- PostgreSQL一些常用命令
- oracle group by 和mysql group by 区别
- java 获取路径的一些问题
- Unity打包安卓apk时或发布安卓程序时提示 Android Asset Packaging Tool Failed