引子
作為data science的學生,機器學習無疑是最核心的專業能力之一。25Spring終於上了心心念念的DDA3020 Machine Learning,但課程卻不如我的預期。這門課更像背誦課,學習各種算法是什麼,讓你去背它的推導公式(佔比50%的期末考試就是這麼設置的),而我預期的機器學習工程本質工作和實際訓練流程卻沒有講述,對於算法是淺嘗輒止,沒有深刻思考背後的原因和區別。這些能力主要還是要從自學和實踐中習得,再加上我從不上課,以及課程目的只是帶你入門過一遍的緣故,我想也不能全然怪學校。
機器學習這個領域很值得探索,畢竟是現代科技(AI, Fintech)特別前沿的知識,並且我對於機器學習在投資領域的應用,以及數據背後的模式分析特別感興趣。
我做的第一個ML價格模式分析領域的項目是利用LSTM來預測BTC價格(處理時序數據),也是我近期(2025.5.29)在做的項目,在調參的時候不禁有了“機器學習工程本質是在做什麼”的思考,因此便有了此文章。
機器學習能力的層次
level 1 代碼實現和工程化
了解算法的原理,知道怎麼用代碼實現和訓練。
不過現在豐富的python庫使得我們根本不用手動復現算法代碼,只要學習使用tensorflow, sklearn, pandas等python庫就可以了;
level 2 Model Tuning 模型選擇和調參
知道面對目前的場景使用什麼算法最合適,並且能夠做模型性能分析,調整參數和超參數來提高模型的Performance;
level 3 特徵工程和數據理解
data science, science of data! 核心就是data,對data的理解是核心競爭力。
給你一系列data,能否分析出什麼特徵具有真正的預測力?
如何做數據清洗,處理噪音和異常值?
如何提取真正有效的信息?
level 4 洞察與決策(業務能力)
數據和模型告訴我們什麼insight? 如何將預測轉化為/輔助可執行策略?
風險在哪?如何處理不確定性?
AI輔助下的level要求分析
可以發現,level 1 & 2是AI能夠很快給出建議和實現的工作,而leve 3 & 4則需要相當深刻的經驗和洞察來達到。
我目前的能力水平應該處於level 1到level2 & 3交叉,這需要很多實踐經驗積累。
特徵工程
特征工程就是从原始数据中提取和构造有预测力的特征的过程。
特徵與原始數據的關係
特徵可以說是數據的變換衍生,一個特徵相當於一個描述數據的維度。
比如原始數據是price和volume,這就相當於兩個原始特徵,而通過這兩個可以構造EMA,RSI和Price_Change_Rate等特徵,這些就是衍生特徵。
現在我們擁有五個特徵,也就是有了五種描述數據的維度。
特徵工程一般是從原始數據增加維度,而將特徵(如價格、均線、RSI)可視化分析的過程,就叫做“數據可視化”。但是太多特徵會有共線性的問題,並且維度越高,數據之間距離的差異就越小,過擬合風險會大大增大,所以我們可以用PCA來降維(原理是讓找到數據分佈方差最大的方向,利用了線性代數的SVD)
維度的統一理解(from AI)
“🎯 核心概念”: { “特征 = 维度”: “每个特征都是数据空间中的一个维度”, “数据点”: “在高维空间中的坐标点”, “机器学习”: “在高维空间中寻找模式和边界” },
🔄 维度变换
特征工程:增加维度,丰富数据表示 特征选择:选择重要维度,去除冗余 降维:压缩维度,保留主要信息 正则化:限制模型在高维空间的复杂度
⚖️ 平衡艺术
信息 vs 噪声:更多特征 = 更多信息 + 更多噪声 表达 vs 泛化:高维表达能力强,但泛化能力可能弱 计算 vs 性能:维度增加,计算复杂度指数增长
🚀 实践原则
领域驱动:基于业务理解创造有意义的特征 数据驱动:用数据验证特征的有效性 性能导向:以最终模型性能为评判标准 可解释性:在复杂度和可解释性间平衡
本質工作
这才是最本质的工作:❓ 我们要解决什么问题?📊 数据告诉我们什么故事?🎯 什么样的模式是我们真正想要捕捉的? 例如:BTC预测:不是简单的"价格预测",而是"在给定历史模式下,未来短期趋势的概率分布",需要理解:市场情绪、技术指标、宏观因素的交互作用。
ML的真正價值(from AI)
- 問題抽象能力 🧠
- 將複雜業務問題轉化為數學問題
- 理解問題的本質和約束條件
- 數據洞察能力 🔍
- 從雜訊中提取信號
- 發現隱藏的模式和關係
- 特徵工程創造力 🎨
- 設計有預測力的特徵
- 處理數據質量問題
- 模型選擇判斷力 🎯
- 在複雜度和性能間平衡
- 理解不同算法的適用場景
- 系統思維能力 🚀
- 考慮模型的全生命週期
- 處理模型的不確定性和風險
核心能力總結
- 技術深度:理解算法原理,但不必重複造輪子
- 業務廣度:連接技術與實際價值創造
- 創新思維:在約束條件下找到最優解
- 系統觀念:考慮模型的長期可維護性
高級ML工程師的思維模式(from AI)
- 問題分解能力 🎯
不是簡單思考「如何用LSTM預測BTC?」 而是要思考:
- 什麼因素真正驅動BTC價格?
- 我們的預測時間窗口應該是多長?
- 模型的錯誤會造成什麼後果?
- 如何在不確定性中做決策?
- 模型解釋能力 🔍
需要能夠解釋:
- 模型預測了什麼
- 為什麼這樣預測
- 什麼時候預測失效
- 預測的可信度如何
- 持續學習能力 📈
形成學習循環:
- 觀察模型在真實世界的表現
- 分析預測錯誤的原因
- 調整特徵工程策略
- 重新訓練和驗證模型
核心是問題解決的能力
庫和工具只是筆,真正的藝術在於你要畫什麼畫!🎨
和hacker的理念異曲同工呀:)