<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Machine-Learning on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/machine-learning/</link><description>Recent content in Machine-Learning on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 21 Jun 2026 10:30:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/machine-learning/feed.xml" rel="self" type="application/rss+xml"/><item><title>AI 工程從零開始｜Phase 1 Part 1：線性代數與微積分 — AI 演算法直覺</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase1-part1-linear-algebra-zh/</link><pubDate>Sun, 21 Jun 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase1-part1-linear-algebra-zh/</guid><description>大多數工程師：「我會呼叫 model.fit()，數學交給論文作者就好。」 資深 AI 工程師：「我需要知道梯度為什麼爆炸、Loss 為什麼不收斂、為什麼換個 optimizer 差了 3 倍速度。」 前者能跑範例，後者能解問題。 數學不是門檻，是你除錯和優化的第一把鑰匙。
面試情境 你正在為一個推薦系統訓練 Embedding 模型。訓練第 5 個 epoch 後 loss 突然從 0.8 跳到 NaN，GPU 使用率正常、資料沒問題。請問你會從哪些數學角度切入診斷？你會如何用線性代數和微積分的知識判斷根本原因並修復？
一、核心問題：為什麼 AI 工程師必須懂數學 很多人進入 AI 領域的第一印象是：「PyTorch / TensorFlow 已經幫你做好了，直接呼叫 API 就好。」這個觀點在 demo 階段是對的，但在 production 階段會讓你的除錯能力幾乎為零。
現實場景中會遇到的問題：
Loss 收斂到一個局部最小值，但業務指標沒有改善 → 你需要理解 Loss landscape 的幾何形狀 Gradient Explosion：第 N epoch 後 loss 變成 NaN → 你需要理解梯度的數值行為 模型推論速度比預期慢 10 倍 → 你需要理解矩陣運算的複雜度與硬體加速原理 換了一個 optimizer 後訓練曲線震盪變大 → 你需要理解各 optimizer 的動量機制 加了 L2 regularization 後模型卻更 overfit → 你需要理解正則化的數學含義 這些問題沒有辦法靠 Stack Overflow 直接解決，因為症狀背後的原因需要數學直覺才能定位。</description></item><item><title>如何衡量 AI 的準確度（一）：分類與回歸任務的基礎評估指標</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-accuracy-evaluation-part1-zh/</link><pubDate>Mon, 18 May 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-accuracy-evaluation-part1-zh/</guid><description>前言：「準確率 90%」到底代表什麼？ 當有人告訴你「我們的 AI 模型準確率達到 90%」，你的第一個反應應該是問：「在什麼任務上？用什麼指標衡量的？」
因為一個疾病篩查模型，如果只是把所有病人都判斷為「健康」，在某些罕見疾病的數據集上，準確率照樣可以高達 99%。這樣的數字毫無意義，甚至危險。
準確率（Accuracy） 只是眾多評估指標中最基礎的一個，而且它往往不是最重要的那個。
本系列文章分三篇，帶你系統性地了解如何客觀衡量 AI 的準確度：
第一篇（本文）：分類與回歸任務的基礎評估指標 第二篇：大型語言模型（LLM）的評估方法 第三篇：RAG 檢索增強生成系統的可靠性評估 一、分類任務指標（Classification Metrics） 分類任務就是讓模型把輸入歸到某個類別，例如：
這封郵件是不是垃圾郵件？ 這張 X 光片是否顯示腫瘤？ 這則評論是正面還是負面的？ 混淆矩陣（Confusion Matrix） 一切的起點是混淆矩陣。它把模型的預測結果與真實標籤交叉對照，分成四個格子：
預測為正 預測為負 實際為正 TP（真陽性） FN（假陰性） 實際為負 FP（假陽性） TN（真陰性） TP（True Positive）：模型說「是」，實際也是「是」。✅ TN（True Negative）：模型說「否」，實際也是「否」。✅ FP（False Positive）：模型說「是」，但實際是「否」。❌（誤報） FN（False Negative）：模型說「否」，但實際是「是」。❌（漏報） 最基礎的準確率定義就是：
$$\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}$$
但當數據嚴重不平衡時（例如只有 1% 的郵件是垃圾郵件），全部預測為「非垃圾」就能拿到 99% 的準確率，模型根本沒在做事。
精確率（Precision）：我說的「是」有多可信？ $$\text{Precision} = \frac{TP}{TP + FP}$$
精確率衡量的是：模型預測為正類的結果中，有多少是真的正類。
適用場景：當誤報（FP）代價很高時。 例如垃圾郵件過濾——如果系統把重要的客戶合約誤判為垃圾郵件，損失就很大。此時我們希望「被標記為垃圾的郵件」要盡量都是真的垃圾。</description></item><item><title>AI 工程從零開始｜Phase 2 Part 1：傳統機器學習 — 生產 AI 的骨幹</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase2-part1-classical-ml-zh/</link><pubDate>Sun, 21 Jun 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase2-part1-classical-ml-zh/</guid><description>「任何問題都用深度學習解決」 「Transformer 萬能，傳統模型已經過時」 ——這是 80% 初學者的第一直覺。 正確的工程師問的是：資料量多少？延遲需求是幾 ms？可解釋性重要嗎？預算有多少？ 再選模型。
面試情境 你的電商平台每天有 50 萬筆訂單，需要即時預測「這筆訂單是否為詐騙」，要求推論延遲 &amp;lt; 5ms、需要提供法務可稽核的決策理由、訓練資料有 200 萬筆歷史記錄（其中詐騙率 0.3%）。你會選擇哪種模型？為什麼？
一、核心問題：深度學習時代為什麼還要學傳統 ML 2024 年，ChatGPT 席捲世界，LLM 成為媒體焦點。許多工程師開始質疑：傳統機器學習是否已成歷史？
答案是：不，傳統 ML 在生產系統中的佔比仍超過 80%。
原因很直接：
1. 資料量的現實
大多數企業的結構化資料集在 10 萬至 500 萬筆之間。神經網路在這個規模下通常不比梯度提升樹更好，卻需要 10–100 倍的計算資源。
2. 延遲的硬需求
金融風控、廣告競價、即時推薦的推論預算通常是 1–10ms。線性模型推論 &amp;lt; 0.1ms，決策樹 &amp;lt; 1ms，而即使是小型神經網路也需要 10–50ms（CPU），加上批次化開銷後更長。
3. 可解釋性的法規壓力
歐盟 GDPR、台灣個資法、金融監理機關都要求「自動化決策必須能解釋」。邏輯回歸的係數、決策樹的規則路徑可以直接呈給法務；神經網路的注意力權重不能。
4. 維護成本的差距
一個訓練好的 XGBoost 模型可以用 pickle 序列化，部署到任何有 Python 的環境。不需要 GPU，不需要特殊推論框架，oncall 工程師看得懂特徵重要性。
5. 過擬合風險
資料少、特徵少的場景，深度模型反而容易過擬合。L1/L2 正則化的線性模型在小資料集上往往比 5 層 MLP 表現更穩定。</description></item><item><title>FDE 面試準備指南（三）：你不能忽略的 ML 基礎</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part3-ml-fundamentals-zh/</link><pubDate>Sat, 30 May 2026 11:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part3-ml-fundamentals-zh/</guid><description>有人覺得 FDE 只需要會包 API。
這個判斷在面試中會死得很難看。
基礎不紮實，一旦系統出問題，你沒有能力診斷。
閱讀建議： 這篇是 ML 基礎概要。想要更完整的深度版本，參考 第八篇（ML 完整版） 和 第九篇（LLM 核心）。
面試情境 面試官：「解釋一下 Transformer 的 Self-Attention 機制。然後告訴我：Fine-tuning 和 RAG 在你的客戶場景下你怎麼選？如果 Fine-tuning 出現 Overfitting，你怎麼偵測？」
ML 基礎題通常是「過濾用的」——答不出來直接扣分，答得好不會讓你脫穎而出。但這些概念在實際工作中真的有用。
一、Transformer 架構：面試要說清楚的程度 Self-Attention 的核心機制 傳統 RNN 的問題：句子越長，開頭的資訊到句尾就已經被稀釋了，遠距離依賴很難學。
Self-Attention 的解法：每個 token 直接和所有其他 token 計算相關性，不管距離。
句子：「這家公司的 CEO 昨天宣布了一項重大決策」 Self-Attention 讓「決策」直接「看到」「CEO」， 不需要一步步從前面傳遞資訊。 數學直觀（面試可能問到 Q/K/V 的意思）： Q（Query）：這個 token 在「問」什麼資訊？ K（Key）： 其他 token「能提供」什麼資訊？ V（Value）：實際要「傳遞」的內容是什麼？ 計算流程： Q × Kᵀ（相關性分數）→ Softmax（變成機率分布）→ × V（加權求和） 不需要手推公式，但要知道： └── √d_k 是縮放因子，避免點積值過大導致梯度消失 Positional Encoding：為什麼要加位置資訊 Self-Attention 本身沒有位置概念。</description></item><item><title>Crypto Quantitative Trading Part 3: Optimization, Validation, and Production Deployment</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/crypto-quantitative-trading-part3-production-deployment/</link><pubDate>Sat, 24 Jan 2026 22:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/crypto-quantitative-trading-part3-production-deployment/</guid><description>Deploy cryptocurrency trading strategies to production. Master walk-forward analysis, parameter optimization, live trading integration, real-time monitoring, and machine learning enhancements. Complete production-ready system with AWS deployment and comprehensive risk controls.</description></item><item><title>AI 工程從零開始｜Phase 2 Part 2：集成學習與最佳化 — 超越單一模型的上限</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase2-part2-ensemble-optimization-zh/</link><pubDate>Sun, 21 Jun 2026 10:30:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase2-part2-ensemble-optimization-zh/</guid><description>大多數工程師遇到瓶頸時，會去換一個更複雜的模型。 真正的做法是：把多個「夠好的模型」組合起來。 單棵決策樹 Accuracy 70%，一千棵樹投票後達到 91%。 集成不是魔法，而是偏差–變異數分解的數學必然。
面試情境 面試官： 你們公司的信用風險模型已上線，目前用單一 XGBoost，AUC 0.84。產品希望 AUC 提升到 0.88 以上，但訓練資料不能增加、特徵工程已飽和。請說明你會採取哪些策略，並解釋為什麼選擇這些方法而非其他替代方案？推論延遲需維持在 50ms 以內，每日預測量約 500 萬次。
一、核心問題：單一模型的天花板與集成的突破 1.1 偏差–變異數困境 機器學習的核心矛盾可以用一個公式描述：
期望錯誤 = Bias² + Variance + 不可減少的噪音 高偏差（High Bias）：模型太簡單，欠擬合。線性回歸在非線性問題上的典型症狀。 高變異數（High Variance）：模型太複雜，過擬合。深度決策樹在小資料集的典型症狀。
單一模型在這條光譜上只能找到一個平衡點。你無法同時大幅降低偏差和變異數——除非你使用集成方法。
1.2 為什麼集成能突破天花板 Bagging（自助聚合） 降低變異數：
對同一資料集做多次 bootstrap 取樣 每個子模型看到不同的資料子集，學到不同的模式 N 個獨立模型的平均值，變異數是單模型的 1/N（若模型間相關性為 0） Boosting（提升法） 降低偏差：
序列訓練，每個新模型專注修正前一個模型的錯誤 把 N 個「弱學習器（Weak Learner）」串聯，逼近任意複雜的函數 Stacking（堆疊） 同時降低偏差與變異數：
不同類型的模型抓到不同的資料模式 Meta-learner 學習如何最佳組合這些互補的預測 1.3 實際數字 方法 典型 AUC 提升幅度 訓練時間倍增 推論時間倍增 單一決策樹 → Random Forest +0.</description></item><item><title>FDE 面試準備指南（八）：ML 基礎必備——從傳統機器學習到 Deep Learning</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part8-ml-fundamentals-zh/</link><pubDate>Sun, 31 May 2026 10:30:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part8-ml-fundamentals-zh/</guid><description>FDE 不是 ML 研究員，你不需要推導反向傳播的數學。
但你必須在面試官提到 XGBoost、Attention、Regularization 這些詞時，
能夠自然地接話，而不是露出「我需要查一下」的表情。
這篇整理的是「必須熟悉到反應是直覺的」那個程度。
一、傳統機器學習基礎 Supervised Learning（監督式學習） 監督式學習的本質：從有標籤的資料中學習一個 mapping function。
f(X) → Y X = 特徵（features） Y = 標籤（labels） 兩大任務類型：
Regression（回歸）：Y 是連續值（房價預測、銷售量預測） Classification（分類）：Y 是離散類別（垃圾郵件判斷、圖片分類） Linear Regression（線性回歸） 最簡單的回歸模型：
ŷ = w₁x₁ + w₂x₂ + ... + wₙxₙ + b 訓練目標：最小化 MSE（Mean Squared Error）：
MSE = (1/n) × Σ(yᵢ - ŷᵢ)² 面試要能說的重點：
假設特徵和目標之間是線性關係 對 outlier 敏感（因為誤差平方放大了異常值的影響） 多重共線性（features 之間高度相關）會讓模型不穩定 Logistic Regression（邏輯回歸） 名字有 Regression，但其實是分類模型。
把線性組合通過 sigmoid 函數轉成機率：
p = sigmoid(w·x + b) = 1 / (1 + e^(-z)) 輸出的是 P(Y=1|X)，閾值（通常 0.</description></item><item><title>Building a Sentiment-Driven US Stock Trading System with X.com Real-Time Analysis</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/sentiment-driven-stock-trading-aws-cdk-twitter/</link><pubDate>Sat, 24 Jan 2026 14:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/sentiment-driven-stock-trading-aws-cdk-twitter/</guid><description>Build an intelligent US stock trading system using AWS CDK that analyzes real-time X.com posts, performs sentiment analysis with ML models, and executes trades based on social media sentiment for configured stocks like TSLA, GOOG, and more.</description></item><item><title>Building an Intelligent Bitcoin Trading System with AWS CDK and ML Models</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/bitcoin-trading-system-aws-cdk-ml-predictions/</link><pubDate>Sat, 24 Jan 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/bitcoin-trading-system-aws-cdk-ml-predictions/</guid><description>Build a production-ready automated Bitcoin trading system using AWS CDK that integrates ML models from Bedrock and HuggingFace for price prediction and executes trades based on real-time market events.</description></item><item><title>Building AI Music Generation Platform: AWS CDK Architecture with SageMaker and Bedrock Comparison</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-music-generation-aws-cdk-infrastructure/</link><pubDate>Sat, 17 Jan 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-music-generation-aws-cdk-infrastructure/</guid><description>Complete guide to architecting a production-ready AI music generation platform on AWS using CDK, comparing SageMaker and Bedrock approaches with detailed pros, cons, and implementation strategies for generating music from text prompts.</description></item><item><title>Fine-Tuning LLMs with AWS Bedrock: A Complete Guide to Post-Training Customization</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/llm-fine-tuning-aws-bedrock-complete-guide/</link><pubDate>Sun, 21 Dec 2025 11:00:00 +0000</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/llm-fine-tuning-aws-bedrock-complete-guide/</guid><description>Comprehensive guide to fine-tuning and customizing Large Language Models (LLMs) with AWS Bedrock - covering supervised fine-tuning, continued pre-training, and reinforcement fine-tuning with practical examples and AWS CDK infrastructure setup.</description></item><item><title>Deploying Hugging Face Models to AWS: A Complete Guide with CDK, SageMaker, and Lambda</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/deploying-huggingface-models-aws-cdk-sagemaker/</link><pubDate>Sun, 30 Nov 2025 12:00:00 +0000</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/deploying-huggingface-models-aws-cdk-sagemaker/</guid><description>🎯 Introduction Deploying machine learning models to production is a complex challenge that goes far beyond training a model. When working with large models from Hugging Face—whether it&amp;rsquo;s image generation, text-to-image synthesis, or other AI tasks—you need robust infrastructure that handles:
Scalability: Auto-scaling to handle variable loads from 0 to thousands of concurrent requests Cost Efficiency: Paying only for what you use while maintaining performance Reliability: 99.9%+ uptime with proper error handling and monitoring Security: Protecting models, data, and API endpoints Observability: Comprehensive logging, metrics, and tracing This comprehensive guide demonstrates how to deploy a Hugging Face model to AWS using infrastructure as code (CDK with TypeScript), combining SageMaker for model hosting and Lambda for API orchestration.</description></item><item><title>Building a Spotify Playlist Application with Spring Boot and Vue.js</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/spotify-playlist-full-stack-application/</link><pubDate>Sat, 06 Sep 2025 14:13:59 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/spotify-playlist-full-stack-application/</guid><description>使用 Spring Boot 後端與 Vue.js 前端，整合 Spotify API 打造智能音樂推薦系統，突破 Spotify 原生推薦限制，提供更主動的音樂探索體驗。</description></item></channel></rss>