Machine Learning

Full Course

講師 - 呂家睿

  • 建中資訊38屆學術長+副社
  • 玩雀魂
  • 頭像是應急食品
  • 被電爛
  • 有問題歡迎來問我啊
  • Fastapi
  • Qt(C++)
  • 數學好難
  • 一點點sandbox
  • Machine Learning
  • discord bot
  • 打開電腦

學術力

講師 - 林瑋浩

成功電研38屆教學

  • 擅長寫O(2ⁿ)演算法
  • 不會數學
  • 回訊息很快
  • C++
  • Python
  • little Web前端
  • Discord bot
  • Bongosort
  • Machine Learning
  • Godot

學術力

複習

Machine Learning(機器學習)

Machine Learning 機器學習(ML)

是讓電腦自己從資料中學會規則或模式

不需要明確的幫他編寫規則

觀察資料

找出模式或規則

預測

分類

監督式學習

supervised learning

機器學習

machine learning

非監督式學習

unsupervised learning

強化學習

reinforcement

 learning

Machine Learning(機器學習)

Deep Learning

(深度學習)

決策樹

卷積神經網路

遞迴神經網路

圖神經網路

所以到底什麼是深度學習?

神經元

(neuron)

  • 存數字
  • 像一個格子
  • 機率

Input Layer

...

Hidden Layers

Output Layer

簡化一下

0.3

0.7

0.1

0.9

0.4

0.3

0.3

資料

換成數字

換成其他形式

答案

影響

影響

如何影響?

0.7

0.3

這些連結會有所謂的權重(weight)

可以想像成不同神經連結有不同的強弱

0.4

0.4

1. 把每個神經元的值乘以連結的權重最後加起來

0.3*(-0.3)+0.7*0.8 = 0.47

2. 加上偏差(bias)

0.2

0.47+0.2 = 0.67

3. 把數字帶入激勵函數

可減少線性度增加準確性

ex: sigmoid, softmax, ReLU...

0.8

-0.3

如何影響?

.

.

.

.

.

.

x_1
x_n
w_1
w_n
z
b
function
z = f(\sum_{i=1}^{n}(x_i*w_i)+b)

MATH

Calculus - 微積分

lim
\frac{d}{dx}
\frac{\partial}{\partial x}

偏微分

partial

differntiation

微分

differntiation

極限 limit

極限 limit

什麼是極限?

簡單講,你很靠近很靠近一個值我們就說是極限。

\lim_{x \to 3}(x+3)
=6

看起來好像沒有很有用?

\delta
\epsilon

定義

比較難懂一點,有興趣可以查查看

極限 limit

\lim_{x \to 3} \frac{x^2-9}{x-3}

直接代入

\frac{0}{0}
=\lim_{x \to 3} \frac{(x+3)(x-3)}{x-3}
=\lim_{x \to 3}(x+3) = 6

WHAT

limit指的是趨近,

而不是直接帶入函數

極限 limit

limit可以帶一些奇怪的函數,有時候limit可能會"爆掉"

\lim_{x \to +\infty} x^2 = +\infty
\lim_{x \to +\infty} x = -\infty
\lim_{x\to 0} \frac{1}{x} = DNE

Does Not Exist

\lim_{x \to 0^+} \frac{1}{x} = +\infty
\lim_{x \to 0^-} \frac{1}{x} = -\infty
\neq

微分 differntiation

什麼是微分?

基本上就是求一個函數的斜率

y = x
1
y = x^2

????

微分 differntiation

如何求一個點的斜率?

\lim_{h \to 0} \frac{(1+h)^2 - 1^2}{h}

(1,1)

(2,4)

(1.5,2.25)

(1.1,1.21)

ex: 求 x = 1的斜率

a = \frac{3}{1}
a = \frac{1.25}{0.5} = 2.5
a = \frac{0.21}{0.1} = 2.1
= \lim_{h \to 0} \frac{h^2 + 2h + 1 - 1^2}{h}
= \lim_{h \to 0} h + 2 = 2

微分 differntiation

每個點的斜率都不一樣

\lim_{h \to 0} \frac{f(x+h) - f(x)}{h}

用一個函數來表示斜率

沒錯這就是所謂的導數

f'(x) =
\frac{dy}{dx}

微分 differntiation

冪次定律 Power Rule

\frac{d}{dx}x^n = nx^{n-1}

乘積法則 Product Rule

鏈鎖律 Product Rule

\frac{d}{dx}(f(x)g(x)) = f'(x)g(x) + f(x)g'(x)
\frac{d}{dx}(f(g(x)) = f'(g(x))g'(x)

偏微分

partial differntiation

所以什麼是一個函數?

y = f(x)

多變數函數

z = f(x, y)

x

y

定義域

值域

x

y

z

定義域

值域

偏微分

partial differntiation

兩個變數的函數圖形是三維的

ex:

z = x^2 + y^2

n個變數的函數圖形是n+1維的

偏微分

partial differntiation

什麼是偏微分?

基本上就是你只對其中一個變數微分

至於這有什麼用處? 跟梯度有關係

\frac{\partial}{\partial x }(x^2 + xy + y^2)

partial

= 2x + y

把x正常微分,把y當常數

梯度 Gradient

所以究竟如何算斜率?

我們要用一個東西叫梯度

梯度可以表示斜率最大的值和方向

\nabla f(x, y) = (\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y})

這是一個向量

現在不大懂沒關係,反正知道他可以算最大斜率就好

下課!!!!!

Machine Learning-2

By ck11300111呂家睿

Machine Learning-2

  • 97