栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【台大李宏毅机器学习】机器学习基本概念

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【台大李宏毅机器学习】机器学习基本概念

【台大李宏毅机器学习】机器学习基本概念
  • 机器学习简介
    • Step1 Function with unknown
    • Step2 define loss from training data

机器学习简介

Machine Learning is so simple …

本章节宏毅讲机器学习的三个步骤:

  • Step 1: function with unknown
  • Step 2: define loss from training data
  • Step 3: optimization
  • (Step1 ~ Step3称为Training,即我们说的训练、炼丹)

Step1 Function with unknown

线性模型太简单了,y = wx+b, w影响斜率,b影响截距,仅仅使用线性模型有很大局限性。 Model Bias

对于折线的模拟,可以设 f = constant + sum of a set of sigmoid.

Simoid Function
y = c 1 1 + e − ( b + w x 1 ) = c ∗ s i g m o i d ( b + w x 1 ) y = c frac{1}{1+{e}^{-(b+wx_1)}} = c*sigmoid(b+wx_1) y=c1+e−(b+wx1​)1​=c∗sigmoid(b+wx1​)

通过修改参数,我们可以得到不同形状的sigmoid函数,以近似不同的情况:

修改w,函数的斜率发生改变;

修改b,函数发生左移右移;

修改c,函数高度发生改变;

引入多个特征, 公式中j表示特征个数,

y = b + w x 1 → y = b + ∑ j w j x j y=b+wx_1 rightarrow y=b+sumlimits_{j} w_j x_j y=b+wx1​→y=b+j∑​wj​xj​

将多特征的情况引入函数中,新的sigmoid function为:

y = b + ∑ i c i ∗ s i g m o i d ( b + ∑ j w i j x j ) y = b + sumlimits_{i}c_i*sigmoid(b+sumlimits_{j}w_{ij}x_j) y=b+i∑​ci​∗sigmoid(b+j∑​wij​xj​)

将上述公式经过推导后,得到矩阵形式的计算公式:

y = b + c T σ ( b + w x ) y = b + c^T sigma(b+wx) y=b+cTσ(b+wx)

该公式为上述Step1中那个有未知参量的公式的一般形式。


Step2 define loss from training data

更换模型/function后,loss也是计算预测与真实值的差距。

θ ∗ = a r g min ⁡ θ L theta^* = arg minlimits_{theta} L θ∗=argθmin​L

  • (Randomly) Pick initial values θ 0 theta^0 θ0
  • Compute gradient以更新参数, g = ∇ L ( θ 0 ) g = nabla L(theta^0) g=∇L(θ0)
  • update θ 1 ⇐ θ 0 − η g theta^1 Leftarrow theta^0 - eta g θ1⇐θ0−ηg
  • …
  • continue update θ i + 1 ← θ i − η g theta^{i+1} leftarrow theta^i - eta g θi+1←θi−ηg

实际上,在训练中随机将训练集分为batch,长度N的数据集按照size=B划分[N/B]个batch,而不是拿L来计算gradient。

1 epoch = see all the batches once

hypeparameter 超参数: 人设定值的参数

Example 1

  • 10000 examples(N=10000)
  • Batch size is 10(B=10)

How many update in 1 epochs?
N/B = 1000 updates

ReLU

常用的也不是soft sigmoid一种,还有一种经典的激活函数是ReLU.

Rectified Linear Unit(ReLU)的公式表示:

y = c ∗ m a x ( 0 , b + w x 1 ) y = c* max(0, b+wx_1) y=c∗max(0,b+wx1​)

要使用ReLU替代Sigmoid,公式更改为:

y = b + ∑ 2 i c i m a x ( 0 , b i + ∑ j w i j x j ) y = b + sumlimits_{2i} c_i max(0, b_i+ sumlimits_{j}w_{ij}x_j) y=b+2i∑​ci​max(0,bi​+j∑​wij​xj​)

Which one is better?

输出层常用softmax、sigmoid,隐藏层常用ReLU.

Deep Learning

神经网络的重生之我是深度学习

Hidden Layer 代表一层中很多的 Neuron, Many layers means Deep。故Neural Network的应用被称为Deep Learning。

Why we want “Deep” network, not “Fat” network? AlexNet 8 layers, while ResNet 152 layers.

Overfitting : Better on training data, worse on unseen data.

过拟合的主要特征,在训练集上表现超级好,但是在没训练过的数据表现不太行;与之相关的还有欠拟合,欠拟合就是在训练集上也并没有表现特别好,还有学习的空间。

视频传送门
课程视频获取地址:
李宏毅《机器学习/深度学习》国语课程(2021)_哔哩哔哩_bilibili
本节笔记为视频中机器学习基本概念。
课程ppt及其他资料获取地址:
https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.html

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号