吴恩达机器学习入门笔记(Week 1)

学习资源及工具

1、课程资源:B站大学
2、相关工具:Jupter & Github
3、书籍资源:神经网络与深度学习(Michael Nielsen)、机器学习(周志华)、统计学习方法(李航)…

机器学习分类

1、监督学习(supervised learning)

  • 回归(regression)
    • 给定输入输出数据对,在无限数据输出情况下预测输出
    • 例子:房子价格预测(house price predict)
    • 线性回归模型(linear regression)
      • y=w
  • 分类(classification)
    • 给定输入输出数据对,在有限可能数据输出情况下预测输出情况
    • 例子:乳腺癌阶段判断(breast cancer predict)
    • 注释:描述中class & category等价
  • 区别
    • 分类的输出可以是数据可以是图片等,当输出为数据时,数据可能取值范围有限,而回归输出只能为数据,且数据范围无限

2、无监督学习(unsupervised learning)

  • 聚类算法(clustering algorithm)
    • 在未标记的数据集中寻找一些有意思的信息,将未标记的数据自动放置在不同的集群当中
    • 示例:谷歌新闻(google nows),DNA数据的无监督学习(clustering genetic or DNA data)
  • 异常检测(anomaly detection)
    • 检测异常事件
  • 降维(dimensionality reduction)
    • 在尽可能少丢失信息的条件下,将数据集压缩成为更小的数据集

3、Python示例代码

  • Jupter & Github项目
  • 课程及项目资源可在B站上找,Github上项目Lab下载后用Jupter打开可直接运行
# print statements
variable = "right in the strings!"
print(f"f strings allow you to embed variables {variable}")

专业术语(Terminology)

1、训练集(training set)

  • x(low case):input variable or feature
  • y(low case):output variable or target variable
  • m(low case):total number of training examples
  • (x,y):single training example
  • ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)) i t h i^{th} ith training example
  • 监督学习(supervised learning)
training set
learning algorithm
f

注释:f既可称作hypothesis,也可称作function

x
f
y_hat

注释:x为input or input feature,f为model,y_hat为 y ^ \hat{y} y^,意为input为x时结果的预测值(prediction),可能不是真实值

线性回归模型(Linear regression)

1、数学表示: f w , b = w x + b f_{w,b}=wx+b fw,b=wx+b

  • w、b:①the parameter of the model ②coefficients ③weights
  • 单变量线性回归:①linear regression with one variable ②univariate linear regression

2、Lab_3:线性回归Python绘图尝试

  • 工具:Numpy & Matplotlib
  • 涉及Python中有关数组以及绘图的一些基础语法
  • 示例:数组(shap、les…)、绘图(plt相关)

代价函数(cost function)

注:以下内容以线性回归模型为参考进行分析
1、代价函数数学表示

  • 常用代价函数数学表示: J ( w , b ) = 1 2 m ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 J(w,b)=\frac{1}{2m}\sum_{i=1}^{m}{{(\hat{y}^{(i)}-y^{(i)})}^2} J(w,b)=2m1i=1m(y^(i)y(i))2
    其中 y ^ i = f w , b ( x ( i ) ) \hat{y}^i=f_{w,b}(x^{(i)}) y^i=fw,b(x(i))
  • 上述代价函数也称作:squared error cost function
  • 在不同的模型出于不同的应用可以使用不同的代价函数,但给出的代价函数是使用最为广泛的代价函数之一

2、代价函数直观理解

  • goal: m i n i m i z e J ( w , b ) minimizeJ(w,b) minimizeJ(w,b)
  • situation 1:仅含 w w w的代价函数最优求解:
    • 将b设置为0,求解 J w , b J_{w,b} Jw,b最小时的对应的 w w w
  • situation 2:同时含有 w w w b b b的代价函数最优线性回归模型求解
    • Lab_4:3维碗图观察不同 w w w b b b值对成本函数大小的影响,理解代码需要一定的Python基础

3、实现方式

  • 梯度下降(gradient descent):选择任意 w w w b b b值作为初始点,沿着成本函数减小最快的方向(即梯度方向)前进,最终到达局部最优点(local minimum)。(注:最终的局部最优点依赖于初始点的选择)
  • 以线性回归模型作为分析为例:
    { w = w − α δ δ w J ( w , b ) b = b − α δ δ b J ( w , b ) \begin{cases} w=w-\alpha\frac{\delta}{\delta{w}}{J(w,b)} \\ b=b-\alpha\frac{\delta}{\delta{b}}{J(w,b)} \\ \end{cases} {w=wαδwδJ(w,b)b=bαδbδJ(w,b)
    • 其中 α \alpha α为学习率,大小范围为[0,1],作用为控制沿梯度方向下降的步长大小,可以理解为微积分中的 △ x \triangle{x} x
    • δ δ w / b J ( w , b ) \frac{\delta}{\delta{w/b}}{J(w,b)} δw/bδJ(w,b)为成本函数关于 w / b w/b w/b的偏导数,决定前进方向
  • 在寻找最优点的过程中,需要不断对 w w w b b b的取值进行更新,且必须为同时更新(即偏微分部分取值均从原来的 w w w b b b值取得)。具体实现方式如下图所示:
    在这里插入图片描述
  • α \alpha α的选择
    • 特点:小→拟合效果好,收缩速度缓慢;大→拟合效果差,甚至可能无法收缩,收缩速度快
    • 由于趋近局部最优点时导数值越来越小(逐渐趋近于0),即使 α \alpha α取固定值,也能够实现趋近最低点
  • 当成本函数不是以平方的形式定义时,可能出现多个局部最优点
    在这里插入图片描述

4、术语表达

  • Batch gradient descent
    • 梯度下降的每一步都用到了训练集中的所有组合,而非训练集中的一个子集(subset)
  • 有一些梯度下降实现仅需要用到训练集中的一部分子集,在线性回归模型中,使用Batch gradient descent
  • Lab_5:通过梯度下降的方式优化 w w w b b b的取值
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值