吴恩达ML课程自用笔记(1)

本文介绍了机器学习的基本定义,包括监督学习与无监督学习的概念,并详细解释了线性回归算法模型的工作原理及其数学表达形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习定义

计算机程序从经验(experience) E 中学习解决某一任务(task) T 进行某一性能度量(performance) P,通过P测定在T上的表现因经验E而提高。

机器学习分类

  • 监督学习(Supervised learning)
  • 无监督学习(Unsupervised learning)
  • 其他:
    加强学习(reinforcement)
    推荐系统(recommender systems)

监督学习

监督学习就是给出算法一个数据集,其中包含了正确答案。
每个样本都有正确的答案(标签)。
通过算法预测的出正确答案。

  1. 回归问题:预测一个连续值输出
    比如:房价预测
  2. 分类问题:预测离散值输出
    比如:癌症预测

无监督学习

无监督学习给的数据集中样本没有任何标签,不知道要拿他做什么,也不知道每个数据点究竟是什么,只被告知有一个数据集,找出他们的某种结构。
无监督学习算法可能判定该数据集包含两个不同的簇。

  1. 聚类算法:将数据分为不同的簇
    比如:市场划分,天文数据分析

线性回归算法模型

1. 线性回归平方差代价函数

预测一个 real-valued 输出,

Note:
mmm:训练样本数量
xxx:输入变量/特征
yyy:输出变量/目标变量
(x,y)(x, y)(x,y):一个训练样本
(x(i),y(i))(x^{(i)}, y^{(i)} )(x(i),y(i)):第 iii 个训练样本

假设函数
h为假设函数
hθ(x)=θ0+θ1xh_\theta(x) = \theta_0 + \theta_1 xhθ(x)=θ0+θ1x
线性方程整体目标函数:
12m∑i=1m(hθ(x(i))−y(i))2\frac{1}{2m} \sum\limits_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^22m1i=1m(hθ(x(i))y(i))2
参数
θ0,θ1\theta_0 , \theta_1θ0,θ1
代价函数:
J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2J(\theta_0, \theta_1) = \frac{1}{2m} \sum\limits_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2
目标:
最小化J(θ0,θ1)最小化J(\theta_0 , \theta_1)J(θ0,θ1)
在这里插入图片描述
选用平方差代价函数也许是解决回归问题最常用的手段

2. 线性回归代价函数J最小化的梯度下降法

Outline:

  • 给定θ0,θ1\theta_0, \theta_1θ0,θ1
  • 持续改变θ0,θ1\theta_0, \theta_1θ0,θ1的值去减小J(θ0,θ1)J(\theta_0, \theta_1)J(θ0,θ1),直到找到JJJ的最小值或者局部最小值
    在这里插入图片描述
算法描述:

repeat until convergence{
θj:=θj−α∂∂θjJ(θ0,θ1)\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1)θj:=θjαθjJ(θ0,θ1)  (for j = 0 and j = 1)
}

repeat until convergence{
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))\theta_0:=\theta_0-\alpha\frac{1}{m} \sum\limits_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})θ0:=θ0αm1i=1m(hθ(x(i))y(i))
θ1:=θ1−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)\theta_1:=\theta_1-\alpha\frac{1}{m} \sum\limits_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})·x^{(i)}θ1:=θ1αm1i=1m(hθ(x(i))y(i))x(i)
}

α\alphaα为学习率(learning rate),用来控制梯度下降速度,α\alphaα越大速度越快。
∂∂θjJ(θ0,θ1)\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1)θjJ(θ0,θ1)为一个导数项

Correct:Simultaneous update

temp0:=θ0−α∂∂θ0J(θ0,θ1)temp0:=\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1)temp0:=θ0αθ0J(θ0,θ1)
temp1:=θ1−α∂∂θ1J(θ0,θ1)temp1:=\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1)temp1:=θ1αθ1J(θ0,θ1)
θ0:=temp0\theta_0:=temp0θ0:=temp0
θ1:=temp1\theta_1:=temp1θ1:=temp1

"Batch"梯度下降算法

以上梯度下降算法也叫"Batch"梯度下降算法,每一步梯度下降都遍历了数据集的全部样本。
当然也有其他梯度下降算法每次没有全览整个训练集,每次只关注小子集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哇咔咔负负得正

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值