第一周

1.1 welcome to machine learning

生活中遇到的使用机器学习的场景

  • google 网页rank

许多领域都受到机器学习的影响

  • 网络和自动化技术发展->大量数据(数据挖掘)
  • 无法手动编写的程序:自动化直升机,手写识别,nlp,cv
  • 私人订制程序:推荐
  • 理解人类的学习过程:real AI

1.2 what is machine learning

定义

Arthur Samue:Field of study that gives computers the ability to learn without being explicitly programmed.

Samue的跳棋程序:让电脑和自己对弈几万次,得到哪些布局容易赢。

Tom Mitchell:从经验E中学习,解决任务T,进行度量P 通过P测定在T上的表现因经验E而提高。

T:与自己玩跳棋 P:与新对手对弈赢得概率

垃圾邮件过滤 答案是A 对上面定义的理解出错,看做从T中学到经验E
吴恩达机器学习课程CS229笔记-1

E:输入的大量数据, T:计算机经过训练后需要解决的问题 P:准确度 or else。

第二个是E 第一个是T 第三个是P 计算机观察过你将哪些邮件标记为垃圾邮件之后就会提高它标记邮件的准确度。

分类

  • supervised:我们教计算机做某件事情
  • unsupervised:计算机自己学习
  • 其他:强化学习,推荐系统

1.3 supervised learning

给出正确答案的数据集 data-label(分类)

回归问题:房价预测 直线拟合 or 二次函数拟合;预测连续值输出(房价可以精确到分,实际是离散值)

分类问题:肿瘤预测 一个特征:肿瘤大小 两个特征:size 和age;预测离散值输出,分割区域,输出结果为在某个区域。

处理无穷多特征:问题 存储无穷多变量,有可能溢出;

1.4 unsupervised learning

监督:每个样本都有明确的label

无监督:每个数据点没有label

  • 聚类算法:分成不同的簇
    • 谷歌新闻:同一主题新闻的相关url集合
    • 基因表达程度分类
    • 大型计算机集群
    • 社交网络分析
    • 市场细分:客户集
    • 天文数据分析:星际形成理论

鸡尾酒会

两个人+两个放置距离不同的麦克风,两个麦克风都会录下重叠的声音,用算法分离出两个人的声音。

svd(奇异值分解)

吴恩达机器学习课程CS229笔记-1

2.1 model presentation 模型描述

房价预测 一元线性回归/单变量线性回归

房价训练集

符号:
m = 训 练 样 本 的 数 量 m=训练样本的数量 m=

x ′ s = 输 入 的 变 量 / 特 征 x's= 输入的变量/特征 xs=/

y ′ s = 输 入 的 变 量 / 目 标 变 量 y's=输入的变量/目标变量 ys=/

( x , y ) 一 个 训 练 样 本 ( x i , y i ) 第 i 个 训 练 样 本 (x,y) 一个训练样本 ({x}_{i},{y}_{i}) 第i个训练样本 (x,y)(xi,yi)i

监督学习流程:把训练集投入学习算法中,输出一个函数h(假设函数hypothesis),h的输入是房子大小,输出是预测房价。

如何表示h?(单变量)
h θ ( x ) = θ 0 + θ 1 x {h}_{\theta}(x) = {\theta}_{0}+{\theta}_{1}x hθ(x)=θ0+θ1x

2.2 cost function 代价函数

h θ ( x ) = θ 0 + θ 1 x {h}_{\theta}(x) = {\theta}_{0}+{\theta}_{1}x hθ(x)=θ0+θ1x

模型参数θ:选择使输入x时 , h(x)更接近标准值

minimize θ0 θ1 (hθ(x))-y) 2 (建模误差的平方)

为什么是平方? hθ(x))-y 可能为负数,绝对值也可以,平方操作简单?

为什么是1/2m? 算起来更简单。

我们实际考虑的是这个数的1/m,我们要尽量尝试去减少平均误差,所以我们minimize one by 2M.Putting the 2,the constant one half,in front it just makes some of the math a little easier. 对这个数的1/2m求最小值得到的模型参数是一样的。

平方误差函数 squared error function:解决回归问题最常用的函数
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J\left( \theta \right)=\frac{1}{2m}\sum\limits_{i=1}^{m}{{{\left( {{h}_{\theta }}\left( {{x}^{(i)}} \right)-{{y}^{(i)}} \right)}^{2}}} J(θ)=2m1i=1m(hθ(x(i))y(i))2

2.3 cost function 1

简化的代价函数 hθ(x) =θ1x 最小化 J(θ1)
吴恩达机器学习课程CS229笔记-1

2.4 cost function 2

等高线

假设函数 hθ(x) = θ01x 代价函数 J(θ01) 优化目标 min J(θ01)

J(θ01)的图像(碗状曲面)

吴恩达机器学习课程CS229笔记-1
一个碗从等高图中生长出来

吴恩达机器学习课程CS229笔记-1
我们需要能自动寻找θ01 的算法,而不是画出图然后手动选取。

2.5 gradient descent 梯度下降

流程:给定 θ01 的值,不停的改变θ01的值来减少J函数的值,直到我们得到了最小的J。

eg:最佳的下山路径,每次只走一小步向哪个方向走更合适。

如果起始点不同,会得到不同的局部最优解。

公式

吴恩达机器学习课程CS229笔记-1

a:=b 赋值,把b的值赋给a a:=a+1

a=b 真假判定

学习率α:决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大

同时更新θ01:先使用上一轮的θ0 θ1 计算出j=0和j=1的右侧式子值,然后同步更新θ0 θ1 而不是计算出θ0 然后用θ0 代入j=1的式子中计算θ1
t e m p 0 : = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) temp0:={\theta}_{0}-\alpha\frac{\partial}{\partial{\theta}_{0}}J({\theta}_{0},{\theta}_{1}) temp0:=θ0αθ0J(θ0,θ1)

t e m p 1 : = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp1:={\theta}_{1}-\alpha\frac{\partial}{\partial{\theta}_{1}}J({\theta}_{0},{\theta}_{1}) temp1:=θ1αθ1J(θ0,θ1)

θ 0 : = t e m p 0 {\theta}_{0}:=temp0 θ0:=temp0

θ 1 : = t e m p 1 {\theta}_{1}:=temp1 θ1:=temp1

2.6 gradient descent intuition 梯度下降总结

以只有一个参数θ1为例,展示梯度下降的作用。

不停地更新θ1 的值

J函数是二次函数 图像有最低点(凹点)

吴恩达机器学习课程CS229笔记-1

α

α太小:需要很多步才能到达全局最低点

α太大:迈出步子太大,可能无法收敛甚至发散,直接越过最低点

吴恩达机器学习课程CS229笔记-1

问题:如果θ1已经在一点达到局部最优,下一步梯度下降会怎样?

最低点,偏导数为0 ,θ1不会变。

引申:更新过程中,因为越接近最低点,导数越小,下降步子会越来越小,梯度下降会自动采取更小的幅度,而不用额外减小α。

2.7 gradient descent for linear regression

将梯度下降应用到最小化平方差代价函数
吴恩达机器学习课程CS229笔记-1

线性回归代价函数(弓形) 只有一个全局最优解
吴恩达机器学习课程CS229笔记-1

批量梯度下降 每一步梯度下降,我们计算整个训练集的总和。

练习一使用的公式

吴恩达机器学习课程CS229笔记-1
吴恩达机器学习课程CS229笔记-1

相关文章: