是学习吴恩达机器学习课程时的笔记
[中英字幕]吴恩达机器学习系列课程_哔哩哔哩_bilibili
一、介绍
1.1 什么是机器学习?
Tom Mitchell(1998)适定学习问题:如果计算机程序在 T 上的性能(由 P 衡量)随着经验 E 的提高而提高,则可以说计算机程序从经验 E 中学习某些任务 T 和某些性能度量 P。
1.2 机器学习问题的类型
1.2.1 监督学习
监督学习:给算法一个数据集其中包含了“正确答案”。对于数据集中的每个样本,我们想要算法预测并得出“正确答案”。
学习算法能处理无穷多特征。
常见的监督学习问题:
- 回归问题:目的是预测连续值输出。
- 分类问题:目的是预测离散值输出。
1.2.2 无监督学习
无监督学习:所用的数据没有任何标签,或者都具有相同的标签,或者真的没有标签。从数据集中找到某种结构。
常见的无监督学习问题:
- 聚类算法:对于给定的数据集,无监督学习算法可能判定该数据集包含两个不同的簇,并把数据分成两个簇。
- 鸡尾酒会算法:找出数据的结构,分离出被叠加、混合到一起的音频源。
二、具有一个变量的线性回归
2.1 模型表示
2.1.1 符号说明
:训练样本的数量
:输入变量/特征
:输出变量/目标变量
:一个训练样本
(, ):第i个训练样本
:假设函数,用来预测的函数
:模型参数
:代价函数
:目标
2.1.2 如何给训练集下定义
线性回归模型:
一元(单变量)线性回归:
2.2 代价函数
目标:调整参数值,使假设函数表示的直线拟合数据。
做法:输入x时,要选择预测值最接近该样本y值所对应的模型参数。
标准的定义:在线性回归中,要解决的是一个最小化问题,即
代价函数 —— 平方误差代价函数
求误差的平方和的原因:平方误差代价函数对于大多数问题,特别是回归问题都是一个合理的选择。
2.3 梯度下降算法
思路:
- 给定模型参数的初始值,通常初始化为0
- 不停地一点一点改变模型参数值,使代价函数J变小,直到找到J的最小值或者局部最小值
重复 ( for j=0 and j=1 ),直到收敛。
其中,是学习率,用来控制梯度下降时,我们迈出多大的步子。如果值很大,梯度下降可能越过最低点,甚至可能无法收敛或者发散;如果值很小,梯度下降就很慢。
注意:初始值不同,最终局部最优解可能不同;需要同时更新参数。
即使学习率是固定的,梯度下降也能收敛到局部最低点。当接近局部最小值时,导数值越来越小,梯度下降将自动采取更小的步骤。 因此,无需随时间减小 α。
2.4 线性回归的梯度下降
将梯度下降法应用到最小化平方差代价函数。
求导:
带入公式: