bcjohn's blog
Detecting Noise in Canvas Fingerprinting
發布於: 2025-08-15 更新於: 2025-08-15 分類於: Tech sharing

Introduction

Canvas fingerprinting is a powerful technique for detecting fraudsters and bots. This presentation explores how attackers modify canvas fingerprints to evade detection and the methods we can use to identify these manipulations.

What is Canvas Fingerprinting?

Canvas fingerprinting uses the HTML canvas API to draw invisible shapes and text that create unique identifiers based on your:

  • Browser

  • Operating system

  • GPU

  • Installed fonts

These fingerprints are stable and unique, making them valuable for tracking fraudsters even if they delete cookies.

For more information, Please redirect to Powerpoint - Detecting Noise in Canvas Fingerprinting

閱讀更多
機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam
發布於: 2025-08-15 更新於: 2025-08-15 分類於: AI
此為 機器學習中的優化器 系列文章 - 第 3 篇:
  1. 機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
  2. 機器學習中的優化器 (2) - 從梯度下降問題到動量優化
  3. 機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam

前言

上篇文章提到 動量(Momentum) 的引入可以有效逃離局部最小值進而幫助找到全局的最佳解,但 Momentum 對所有的參數都套用同樣的學習率,導致在某些狀況下可能過度衝刺而不易找到全局最佳解。因此後來出現了一些優化算法 - AdaGrad, RMSProp, Adam 等讓學習率可以隨著訓練迭代的過程中自適應調整以更快的找到全局最佳解

閱讀更多
機器學習中的優化器 (2) - 從梯度下降問題到動量優化
發布於: 2025-08-05 更新於: 2025-08-15 分類於: AI
此為 機器學習中的優化器 系列文章 - 第 2 篇:
  1. 機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
  2. 機器學習中的優化器 (2) - 從梯度下降問題到動量優化
  3. 機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam

梯度下降面臨的問題

在上一篇 Gradient descent 梯度下降與其變體 文章中,我們介紹了梯度下降的基本原理和三種主要變形:Batch Gradient Descent、Stochastic Gradient Descent (SGD) 和 Mini-batch Gradient Descent。雖然這些方法在機器學習中發揮了重要作用,但在實際應用中仍然面臨一些挑戰:

1. 學習率選擇困難

問題描述

  • 學習率太小:收斂速度慢,需要大量迭代
  • 學習率太大:可能導致震盪或發散
  • 不同參數可能需要不同的學習率

數學表達
$$w_{t+1} = w_t - \eta \nabla L(w_t)$$

其中 $\eta$ 是固定的學習率,但實際上:

  • 在平坦區域需要較大學習率加速
  • 在陡峭區域需要較小學習率避免震盪
閱讀更多
機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
發布於: 2025-07-29 更新於: 2025-08-15 分類於: AI
此為 機器學習中的優化器 系列文章 - 第 1 篇:
  1. 機器學習中的優化器 (1) - Gradient descent 梯度下降與其變體
  2. 機器學習中的優化器 (2) - 從梯度下降問題到動量優化
  3. 機器學習中的優化器 (3) - AdaGrad、RMSProp 與 Adam

什麼是優化器 Optimizer?

在機器學習和深度學習中,優化器(Optimizer) 是訓練模型的核心組件。它的主要任務是找到一組最佳的模型參數,使得損失函數達到最小值,從而讓模型能夠做出最準確的預測,此篇文章所要介紹的 Gradient descent 就是其中一種優化器

為什麼需要 Gradient descent?

在機器學習與深度學習中,我們常要找到一組最佳的模型參數,使 損失函數 (Loss function) 達到最小值,此時找到最佳的權重參數 $w$ 使得預測值 $\hat{y}$ 與實際值 $y$ 之間的誤差最小,這代表模型在預測時的誤差最小,預測效果最佳。而 梯度下降 (Gradient descent) 則是在尋找 損失函數 (Loss function) 最小值過程中的一個關鍵技術。

閱讀更多
損失函數 L1 Loss, L2 Loss 的比較
發布於: 2025-07-24 更新於: 2025-07-24 分類於: Math

前言

L1 Loss 和 L2 Loss 是兩種常用的損失函數(Loss Function),主要用於衡量模型預測值與真實值之間的誤差,尤其廣泛用於回歸問題。

平均絕對誤差 (L1 Loss, MAE)

L1 Loss(Mean Absolute Error, MAE) 計算預測值與真實值誤差的 絕對值 的平均。

公式:

$$
\text{MAE} = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i|
$$

  • $y_i$:真實值
  • $\hat{y}_i$:預測值
  • $n$:樣本數
閱讀更多
2025/07/11 (五)
發布於: 2025-07-23 更新於: 2025-07-23 分類於: Life

今天中午前往台北府城隍廟,習俗上親人過世的百日內不能前往道教的寺廟拜拜,但由於需要詢問祖先牌位的問題所以在廟外先對城隍說明如有冒犯希望他能諒解,拜完一輪神明後接著到城隍前說明前因後果,詢問下週出殯時處理牌位的兩種方案:

方案 1. 將目前靈堂的牌位於出殯當天直接帶回家祭拜,但由於家裡無法燒香的因素,希望能於初一、十五拜飯以及供俸餅乾、水果、糖果等,詢問城隍這種不燒香的方式跟傳統習俗上不一樣是否可以呢?

方案 2. 將牌位於出殯當天火化掉成灰並裝進香火袋裡帶回家祭拜,這種方式就不需要早、晚進行燒香,但根據王老師的說法將牌位燒掉可能導致爺爺的靈無法跟隨回家,...

閱讀更多
2025/07/05 (六)
發布於: 2025-07-23 更新於: 2025-07-23 分類於: Life

今天準備爺爺告別式要穿的衣服,襯衫、褲子、鱷魚牌外套、內衣、內褲,因為爺爺後來都只有穿紙尿褲,在家裡好像也找不到以前穿過的內褲,只好拿我自己之前新買的給他穿,在靈堂前跟爺爺講最近親人們的狀況,最近辦完的事情:塔位已經申請在南港軍人公墓,到時會在一個牆壁裡面,半山腰的位置看出去超漂亮,藍天白雲,四周都是綠油油的山。

現在大部分事情都已經準備好了,唯一還沒決定的是祖先牌位的置放地點,這幾天研究後我大概弄了 3 個方案,接下來就一一講給爺爺您聽了,第一個方案是將牌位移到台北府城隍廟那邊有一個叫做普陀廳的地方,那邊離我們家大概 5~10 分鐘的車程而已,在那邊會 24 小時播...

閱讀更多
2025/07/01 (二)
發布於: 2025-07-23 更新於: 2025-07-23 分類於: Life

早上 10:00 跟大姑姑約在南港軍人公墓申請爺爺的塔位,第一次到這邊不知道原來這麼大,爬上兩三百層階梯才到放置骨灰罐的忠靈堂跟壁葬區,今天天氣非常的好萬里無雲,從最上面的壁葬區看下去真的風景優美,當天將資料交過去後等了十幾分鐘馬上電腦就配好骨灰罈安放的號碼了,接下來就是聯絡廠商之後負責刻墓碑上的字

晚上 9:00 ~ 11:00 是爺爺的頭七,原來習俗上的頭七時間是死後第六天的跨子時也就是晚上 11:00 後,一開始先把靈堂的牌位請到廳裡,接著拈香拜拜將爺爺的靈引到這裡,總共歷經了四個笑筊,第五個才成功是聖筊,接下是三位師姐誦經的時間,特別的是帶頭的師姐唸的口齒清晰...

閱讀更多
2025/06/29 (日)
發布於: 2025-07-23 更新於: 2025-07-23 分類於: Life

中午 1 點帶著咖哩飯拜飯,把水果、衣服都換過,添加了兩罐八寶粥,今天爺爺的靈堂終於把照片放上去了,原本跟小姑姑約一點殯儀館去看爺爺結果竟然拖到了四點人才出現…

接著大家一起到 B2 冰櫃探視爺爺,每次只能看 5 分鐘,工作人員拉開櫃子後發現爺爺已經跟剛去世時長得很不一樣了,臉明顯變黃很多,雖然嘴巴還是張的很開,但眼睛終於闔上沒有那種死不瞑目的感覺了

晚上回家奶奶一直說著好恐怖好恐怖,什麼電風扇會自動開啟、廁所的毛巾會自己變黑、爺爺房間陽台的盆栽被鳥挖掉很大一個洞等,一直問大家不會覺得恐怖嗎?我說我又沒有做虧心事怎麼會覺得恐怖,小姑姑打字給奶奶看叫他去參...

閱讀更多
2025/06/28 (六)
發布於: 2025-07-23 更新於: 2025-07-23 分類於: Life

早上 10:00 前往冬瓜行旅討論告別式的方案,選擇的是簡約型加上頭七尾七(滿七)儀式,其實要挑選的東西沒有想像中複雜,主要是看要做幾個七而已,加上其他的晉塔、冰存、靈位等費用粗估不會超過 15 萬,剩下要思考的是祖先牌位到時候告別式後燒掉是不是要裝成化香火的紅包袋形式帶回家供奉,花了兩個小時討論完後前往殯儀館,今天準備的是涼麵拜飯,還有大姑姑從四川帶回來的餅乾糖果等,再把爺爺衣物袋裡的衣服換上剛洗好的

下午前往奶奶家,一進房門他就問爺爺是不是真的走了,怎麼辦怎麼辦…,搞了半天原來他現在才搞清楚爺爺已經走了嗎?問他說告別式要不要去,又是一律的拒絕說很累他不去,一直碎唸...

閱讀更多