week1、2
来源:互联网 发布:在线投递简历功能源码 编辑:程序博客网 时间:2024/05/16 05:54
第一周
机器学习介绍
机器学习的定义:一个计算机程序被认为能够从经验E中学习,解决任务T,并且能够随E的增加,性能P得到提升。
目前主要的两种学习算法被称为监督学习和无监督学习,另外还有强化学习、推荐系统等学习算法。
监督学习
分类和回归问题都是监督学习中的一种。监督学习中,对于数据集中的每个数据都有相应的“正确答案”(训练集),算法是基于这些已标记的数据来做出预测。
无监督学习
聚类属于无监督学习中的一员。聚类算法中,要求不给学习算法任何先验知识,仅给出一堆数据集,学习算法能够自发的找出其中蕴含的结构类型,并对数据进行分类。
模型和代价函数
图1.1
如图1.1。其中,h为假设函数,即学习算法学到的函数;θ为假设函数中的参数;J为代价函数;我们的目标是最小化代价函数。
假设函数h:学习算法假设出的模型,其中的自变量(参数)为θ,
代价函数:公式化假设函数的预测值与真实值之间的距离。
目标:最小化代价函数,即尽可能缩小预测值与真实值之间的差距。
需要注意的是:代价函数中x所代表的输入样本以及y代表的真实值是已知的,只有θ是未知的,我们最小化代价函数的过程也就是调参的过程。
图1.2 两个参数的代价函数三维图像
图1.3 轮廓图
如图1.3,轮廓图中的每条线上的任意点(θ0,θ1)所对应的J函数的值是相等的。并且,他们距中心点的距离为预测值与真实值的差异。显然,距离越小,对应的J函数的值就越小,对应 的h函数就越接近我们理想中的函数。
参数学习
梯度下降算法
这里引入一种称为Gradient Descent(梯度下降算法)的参数学习方法。
我们的COST FUNCTION定义为J(θ0,θ1),目标是最小化cost function,也就是求如图1.4所示的最低谷所对应的参数值θ0,θ1。
图 1.4
具体的梯度下降算法如下:
其中α为学习率(步长)决定沿梯度下降方向前进的距离,α决定算法收敛的速度。如果α的取值过大,梯度下降可能会越过最低点。反之,梯度下降会过慢。我们希望当梯度下降到快接近最低点时,学习率α会相应的变小,这样收敛的速度就会慢下来,也更容易找到最低点;实际上,我们不需要降低学习率α,因为当快接近最低点时,图像会变得平缓,图像的变化率(即梯度)也会变小,最后参数θ的更新也会变小。
需要注意的是所有的参数θ是同时更新的。
线性回归的梯度下降算法
“Batch” Gradient Descent
Batch:梯度下降的每一步都用到了所有的训练样本。
梯度下降算法可以用来求解任何线性回归的问题,但也存在着不足,它每次更新都使用到所有的训练样本,当样本和参数的数量非常大时,对内存和计算机的计算速度都是很大的挑战。
线性代数回顾
本节主要讲解了一些关于矩阵的基础知识。包括向量和矩阵的概念,矩阵的相加和相乘,矩阵相乘的性质,逆矩阵和矩阵的转置。
多元函数的线性回归
多特征值和假设函数
X有多个特征值,假设X有m个特征值,则可写成列向量的形式:X=〖(x1,x2,…xm)〗^T ,相应的参数θ 是m+1维向量,〖θ=(θ0,θ1,…θm)〗^T 。
多特征值的假设为:h(θ )= θ0+θ1*x1+θ2*x2+⋯θm*xm,写成向量的形式为h( θ)= θ^T X。
梯度下降算法求解多特征值问题
其中,x的右上标i表示x是第i输入样本,右下标j表示x的第j个特征值。
特征缩放和均值归一化
特征缩放是缩放输入样本X的特征值,使它们最终在一个合理的范围,比如:[-1,1],[-0.5,0.5]。缩放后可以加快梯度下降算法收敛的速度。公式化为:xi=xi/(xmax-xmin) ,公式分母为特征值的取值范围。
均值归一化:x=(x-u)/(xmax-xmin) ,可以看作在特征缩放基础上的改进,将分子变成了,样本特征值和所有样本对应特征值平均值的差的形式。
学习率
学习率(步长),即每次迭代沿梯度下降方向前进的距离大小。迭代过程中,我们可以通过分析J(θ ),随迭代步长的变化曲线,来调节学习率的变化。迭代过程中,学习率不宜过大,也不应太小。学习率过小,则收敛速度会很慢;学习率太大,梯度下降有可能越过最低点,导致无法收敛的情况。我们可以从小到大逐渐增加学习率,以找到一个既能使收敛速度很快,也不会导致发散的 。比如,学习率的取值可以为:0.03,0.1,0.3,1,3。
特征值和多项式回归
如何选择一个合适的模型?
对于实际问题,考虑的角度不同,选择的特征值就不同,计算机最终模拟出的多项式函数和参数 θ也会不同。
标准方程法
标准方程法可以直接一次性求解 的最优值。
标准方程不需要归一化特征变量,不需要设置学习率,不需要迭代,运行一次即可得出最优解;梯度下降法特征向量归一化很重要。
标准方程法中求逆矩阵的计算量是O( n^3),当特征值变量n很大(n>>10000)时,计算会很慢。因此,当n不是很大时,可以使用标准方程法;n很大时,选择梯度下降法。
当样本数量为m,特征值数量为n时,X矩阵为m*(n+1)维矩阵,每一行表示一个样本。Y为样本的值构成的列向量。
正规方程及不可逆性
- week1、2
- Week1-2Quick Find
- CS229 Week1-2笔记
- week1
- week1
- week1
- week1
- week1
- week1
- Week1-2Examples of text
- Sep week1\2\3\4
- [java][revise]S01-week1--to--2
- Week1-2Human Language Versus Other 'Languages'
- 算法设计Week1 LeetCode Algorithms Problem #2 Add Two Numbers
- test Week1
- 密码学 week1
- Cryptography-week1
- FERMI-Week1
- js调试工具—控制台Console命令的用法
- Android中EditText点击获得焦点后无法显示输入法键盘
- JavaScript-JSON解析
- 字体编码—Unicode16进制编码转字符
- CentOS7 添加FTP用户并设置权限
- week1、2
- 远离低质量合群
- windows下 安装 rabbitMQ 及操作常用命令
- TCP/IP协议三次握手与四次握手流程解析
- Java IO
- Linux常用命令/Mac终端下通用
- 微信公众号开发上传零时素材遇到"errcode":41005,"errmsg":"media data missing
- Linux防护墙安装与配置
- 大神博客积累