吴恩达机器学习笔记

吴恩达机器学习笔记

看吴恩达机器学习(2022)做的学习笔记,自己复习用。

第一课监督学习

1.1-2.6节,基础定义

机器学习分为监督学习和无监督学习、(强化学习)。

监督学习(supervised learning)

监督学习(supervised learning)分为回归和分类问题。

x->y的映射

回归regression:y取任意值

分类classification:y取有限值,如0,1等。而且数字之间没有大小区别,只是指明不同class(category)

在这里插入图片描述

无监督学习(unsupervised learning)

无监督学习(unsupervised learning)有聚类、异常检测和降维三个应用
在这里插入图片描述

clusering algorithm

在这里插入图片描述

没有给出y值,而将未标志的的数据分为不同类(聚类问题)

获取没有标签的数据并自动分组到集群中

在这里插入图片描述

没有说把zoo、熊猫等化为一类,而是由算法自动找出相似的类别化为一类。

3.1-3.2线性回归模型

了解监督学习的过程。本节介绍监督学习的第一个model,Linear Regression Model。

如下,用直线模拟。regression model
在这里插入图片描述

一些专有名词

在这里插入图片描述在这里插入图片描述

prediction y-hat

target y

one variable = univariate 单变量

linear regression

3.3-3.6 cost function

parameters:参数

coeffcients:系数

weights

在这里插入图片描述

在这里插入图片描述

为简化,假设b=0,考虑(1,1),(2,2),(3,3)

在这里插入图片描述

线性回归就是确定w和b参数,使J(W,B)最小。

接下来考虑b!=0的情况
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.1-4.6梯度下降gradient descent

含义

一种更系统的选择w和b的方法,适用于各种模型,不止线性回归模型。

在这里插入图片描述

可能有多个局部最小值
在这里插入图片描述

数学公式

ALpha:α,学习率

需要同时更新,如左侧

在这里插入图片描述

为简化,令b=0,只观察w
在这里插入图片描述

ALpha学习率

Alpha太小的话,过程很慢,浪费时间。

太大,在最小值左右摇摆,,由于导数原因,结果越来越差。
在这里插入图片描述

学习率不变,最后也能找到局部最小值

在这里插入图片描述在这里插入图片描述

用于线性回归的梯度下降

cost function : 均方误差

在这里插入图片描述

线性函数是凸函数:convex function,只有一个全局最小值,没有任何局部最小值。

在这里插入图片描述

batch gradient descent

用一整个批量的数据进行梯度下降计算
在这里插入图片描述

第二周

1.1-1.4多个input features

符号表示

一些定义,见下图
在这里插入图片描述

multible linear regression

不叫multivariate regression

在这里插入图片描述

向量化计算dot(w,b)

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

多元线性回归的梯度下降法

更新

在这里插入图片描述

正规方程normal equation

被用于机器学习库并调用线性回归,被用于寻找w和b的方法
在这里插入图片描述

2.1-2.6 参数处理

特征缩放feature scaling

对于feature ——input x 的处理

好像就是特征的归一化处理。

由于大小不同,导致最后椭圆成扁平状。
在这里插入图片描述

在这里插入图片描述

归一化三种方法:

按最大值归一化

在这里插入图片描述

mean normalization(均值归一化)

u为均值,即平均数。

在这里插入图片描述

Z-score normalization

分母从mean normalization中的max-min

变成了标准差

在这里插入图片描述

learning curve(学习曲线)

判断何时收敛的方法之一,另外一种是自动收敛测试用epsilon。

iteration:迭代次数

在这里插入图片描述

ALpha选取

当出现上面两张图时,可能是因为learning rate too big。

通过设置非常小的ALpha,来判断是代码错误还是学习率太大。

如果最后J曲线一直下降,则是学习率太大,

否则可能是代码错误。

在这里插入图片描述

如何选择

在这里插入图片描述

feature engineering特征工程

根据已有的特征来选取新特征,如下面的房屋面积的选取

在这里插入图片描述

多项式回归polynomial regression

顾名思义,多项式回归, x 1 − > x 2 − > x 3 x^1->x^2->x^3 x1>x2>x3

值得注意的是,此时尤其需要进行feature scaling
在这里插入图片描述

第三周——分类问题

学习分类问题classification

1.1-3.1 logistic regression

引入

含义

binary classification:二元分类

class = category 类

在这里插入图片描述

为什么线性回归不适合classification

如下图,最右侧的X导致出现了错误的分类,而且错的很离谱。

红框内展示了下几节要讲的东西,逻辑回归和决策边界。
在这里插入图片描述

定义

sigmoid函数
在这里插入图片描述

对应,在最外层加入sigmoid函数(有点像激活函数),就是逻辑回归算法
在这里插入图片描述
在这里插入图片描述

decision boundary

关于什么时候分类为0,什么时候分类为1.以阈值0.5为例进行简单的数学推导。
在这里插入图片描述

用两个特征为例,决策边界就是z等于0的时候(阈值为0.5)
在这里插入图片描述

非线性的例子,方法相同。
在这里插入图片描述

在这里插入图片描述

cost function for logistic regression(loss function)

均方误差不适用与logistic regression。

loss funcion:单个样本的损失函数
在这里插入图片描述

举一个新的loss function的例子,如下。

可以看到,当真实值为1,预测值也为1时,loss趋近于0

当真实值为1,预测的f取值0.1时,对应的y-hat到了正无穷,loss趋近无穷

在这里插入图片描述

当真实值为0,原理相同。
在这里插入图片描述

在这里插入图片描述

simplified cost function

首先简化loss function
在这里插入图片描述

接下来简化cost function

QA:关于为什么选择这个loss funcion:

A:使用最大似然估计从统计中推导而来
在这里插入图片描述

在这里插入图片描述

运用梯度下降

求导数,建议手推一次
在这里插入图片描述

两者看起来一样,但是实际上完全不同
在这里插入图片描述

和线性回归的处理方法相似:

包括学习曲线、向量化、feature scaling
在这里插入图片描述

4.1-4.5 过拟合和正则化

overfitting

欠拟合:underfitting, high bias(高偏差)

泛化generalization

过拟合: overfitting, high variance(高方差)

回归:regression的例子

在这里插入图片描述

分类问题。

在这里插入图片描述

解决过拟合的方法

方法一:收集更多的训练数据。

在这里插入图片描述

方法二:收集更少的数据特征:不要用太多的多项式特征。
在这里插入图片描述

方法三:正则化

一个比方法二更加松的限制方法,可以看李沐的相关介绍。

能保留所有特征,只是防止特征过大。

正则化只对W进行限制,对b限制或者不限制没有没有太大区别。
在这里插入图片描述

总结:三个方法。
在这里插入图片描述

正则化

定义和性质

举例子,在cost function中加入额外式子——下列红框,作为新的cost function,会使得w3和w4权重减小。
在这里插入图片描述

lambda:入,正则化参数

红框可加可不加

在这里插入图片描述

lambda的选择,过大或过小结果都不好。

在这里插入图片描述

regularized Linear Regression

比之前多了一个导数项。
在这里插入图片描述

深入理解含义。

可以看到,每次更新wj乘以一个略微小的数来进行迭代更新,收缩了wj的值

在这里插入图片描述在这里插入图片描述

推导过程。

在这里插入图片描述

regularized logistic regression

在这里插入图片描述

深入理解含义。

在这里插入图片描述

第二课 深度学习

四周课程简介

在这里插入图片描述

第一周 Neural network基础

1.1-2.3 什么是Neural networks

历史

在这里插入图片描述

在这里插入图片描述

概念

affordability:可负担性;awareness:知名度;perceived quality:高质量

input layer

hidden layer

output layer

在这里插入图片描述

考虑这个例子,在hidden layer(假设只有一层)到output layer之间,就是一层logistic regression。

从这个角度来说,神经网络可以学习自身的特征,并进一步做出更准确的预测。(特征工程),神经网络相当于可以学习,自己做特征过程
在这里插入图片描述在这里插入图片描述

多重隐藏层的神经网络,也叫多层感知器(multilayer perception)

人脸识别的例子

输入向量X

在这里插入图片描述

关于识别过程的理解。第一个隐藏层可能在识别边缘,如线等;第二个隐藏层可能是识别一个鼻子或者眼睛,第三最后检测面部与不同面部形状的对应程度。

也可以对应不同大小的特征,第一个找小的,第二个找大一点,第三更大。

在这里插入图片描述

Neural network layer

可以看到用上标方括号表示所属层,

可以看到第一层输出了 a [ 1 ] a^{[1]} a[1]

在这里插入图片描述

我们查看第二层,即输出层,放大如下,最终输出 a [ 2 ] a^{[2]} a[2]

在这里插入图片描述

最后得到结果为0.84,根据设置可知结果为1。
在这里插入图片描述

complex neural network

神经网络层数:包括输出层和隐藏层,不包括输入层

如下图,层数为4

在这里插入图片描述

关于上下标的理解

上标代表层layer

下标代表该层的某个单元j (units)

a[0] = input x

激活函数

在这里插入图片描述

forward porpagation(前向传播)

识别0和1。
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

由于从a1->a2->a3,所以叫前向传播

3.1- neutal networks代码实现(TensorFlow)

举例

以TensorFlow为例。由于主要学pytorch,该部分了解即可。

在这里插入图片描述

另外一个例子。

在这里插入图片描述

data in TensorFlow and Numpy

吴恩达喜欢在numpy上处理数据,然后转换到TensorFlow上进行计算,最后再转换成numpy的数据形式。

a1.numpy()

在这里插入图片描述

bulid a neural network

如何定义层数

如何定义model

定义输入数据x,y

定义训练器和拟合函数(下周讲)

预测新的值(model.predict(x_new))

在这里插入图片描述

另外一个例子

在这里插入图片描述

另外一种写法

在这里插入图片描述

detail of code

关于第一层的a[1]如何获得

在这里插入图片描述

第二层的计算

在这里插入图片描述

  • 31
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值