<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>大數據 - 東東 GCP 教學 - GCP 實戰講師</title>
	<atom:link href="https://dongdonggcp.com/tag/%e5%a4%a7%e6%95%b8%e6%93%9a/feed/" rel="self" type="application/rss+xml" />
	<link>https://dongdonggcp.com</link>
	<description>助你考取證照，轉職成功</description>
	<lastBuildDate>Sat, 28 Mar 2026 01:40:19 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://dongdonggcp.com/wp-content/uploads/2025/04/cropped-340838097_121391010914395_5443948698124160121_n-32x32.jpg</url>
	<title>大數據 - 東東 GCP 教學 - GCP 實戰講師</title>
	<link>https://dongdonggcp.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>BigQuery 計費方式完整介紹：費用結構、自動擴充與省錢技巧全攻略</title>
		<link>https://dongdonggcp.com/2026/03/27/bigquery-billing-guide/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bigquery-billing-guide</link>
					<comments>https://dongdonggcp.com/2026/03/27/bigquery-billing-guide/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 11:21:19 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[BigQuery Price]]></category>
		<category><![CDATA[大數據]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11746</guid>

					<description><![CDATA[<p>完整介紹 BigQuery 三大計費模式：On-Demand、Flat Rate 與 Editions，深入解析 Slot、儲存費用與免費額度，並提供 5 個實用省錢技巧，幫你有效控制 Google Cloud 費用。</p>
<p>The post <a href="https://dongdonggcp.com/2026/03/27/bigquery-billing-guide/">BigQuery 計費方式完整介紹：費用結構、自動擴充與省錢技巧全攻略</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<h1 class="wp-block-heading">BigQuery 計費分兩種模式：</h1>



<ul class="wp-block-list">
<li><strong>On-Demand</strong>：每掃描 1 TB 收費約 $7.19 美元，不查詢不收費</li>



<li><strong>Editions</strong>：2023 年新架構，分 Standard、Enterprise、Enterprise Plus，支援自動擴縮</li>



<li>Flat-rate 已經沒有再提供，請以 Editions 為主。</li>
</ul>



<p class="wp-block-paragraph">官方說明參考<a href="https://cloud.google.com/bigquery/pricing?hl=zh-TW" target="_blank" rel="noopener" title="">這份文件</a>，以下逐一拆解。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1. <a href="https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/" title="[BigQuery 教學]  雲端界陳浩南 – BigQuery 是什麼？功能、組成元件、特色和優勢完整介紹">BigQuery</a> 計費的核心單位：Slot 是什麼？</h2>



<p class="wp-block-paragraph">Slot 是 BigQuery 的虛擬 CPU 單位，代表查詢執行時可用的運算能力。BigQuery 執行查詢時，會自動把工作分散到多個 Slot 並行處理，Slot 越多查詢越快。</p>



<p class="wp-block-paragraph">Slot 中文叫運算單元，在大陸叫”槽”。</p>



<p class="wp-block-paragraph">根據 Google 以前的公開文件  1 槽 (Slot) = 0.5個 vCPU和 0.5GB 的記憶體。</p>



<p class="wp-block-paragraph">但後來可能由於硬體效能提升，後來隱藏了這個數據。</p>



<p class="wp-block-paragraph"><strong>Slot 不夠用時會發生什麼事？</strong></p>



<p class="wp-block-paragraph">On-Demand 模式下，BigQuery 提供每個專案共享的 Slot 資源池。當同一專案內有多個大型查詢同時執行時，會出現排隊（Queuing）的情況，導致執行時間延長。</p>



<p class="wp-block-paragraph">Flat Rate 或 Editions 模式下，你買多少 Slot 就用多少，不會自動借用額外資源。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="542" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？-1024x542.png" alt="" class="wp-image-11766" style="aspect-ratio:1.8893608096062084;width:812px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？-1024x542.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？-300x159.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？-768x406.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？-1536x813.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuey-計費-Slot-是什麼？.png 1844w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuey 計費 Slot 是什麼？</figcaption></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2. 隨需計費（On-Demand Pricing）深度解析</h2>



<h3 class="wp-block-heading">查詢費用的計算方式</h3>



<ul class="wp-block-list">
<li>計費單位：每掃描 1 TB 收費約 $7.19 美元（台灣區域 asia-east1）</li>



<li>最小計費單位：10 MB，就算你的查詢只掃描 1 MB的資料，系統仍以 10 MB 計算</li>



<li>計費基礎：查詢實際讀取的欄位資料量，不是整張表的大小</li>



<li>要注意，如果你的表格有 100,000 資料，即使你查詢使用 Whare 或 Limit 語法，只撈出 10 筆資料，它還是讀取 100,000 筆資料，除非你有做分區表（後面詳述） 。</li>



<li>每個月前面 1 TB 屬於免費額度，超過 1 TB 的資料量才開始計費。</li>



<li>可參考 <a href="https://cloud.google.com/products/calculator?hl=en&amp;dl=CjhDaVE0TkdRM01qTTJaaTFtT0RrekxUUTVaall0WVRZek55MWhNalk1WkdGaU5EaGlNREFRQVE9PRALGiQ5QTMwMjVEMy0yNzE3LTQ4MjUtODlEMy02QzBFQjRGNzY3RjY" target="_blank" rel="noopener" title="">GCP 價格計算機</a>的數據：</li>
</ul>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="1024" height="522" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-1024x522.png" alt="" class="wp-image-11749" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-1024x522.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-300x153.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-768x392.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-1536x783.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-每月第-1-TB-免費，超過部分才計費2-2048x1045.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 超過 1 TB 的資料量才開始計費，如圖 2 TB 只計 1 TB 費用。 </figcaption></figure>



<h3 class="wp-block-heading">使用 Dry Run 預估費用</h3>



<p class="wp-block-paragraph">執行查詢前，可用 Dry Run 模式預估掃描量，完全不收費。</p>



<p class="wp-block-paragraph"><strong>操作方式：</strong></p>



<p class="wp-block-paragraph">在 BigQuery 主控台，點選「More → Query settings → Dry Run」；或在 CLI 使用 <code>--dry_run</code> 參數，系統會直接告訴你這次查詢預計掃描多少 Bytes。</p>



<p class="wp-block-paragraph">另外，BigQuery 主控台的 SQL 編輯器右上角，每次寫完查詢都會顯示「This query will process X GB」。執行前先看這個數字，是控制費用的第一道關卡。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="1024" height="511" src="https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-1024x511.png" alt="" class="wp-image-11747" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-1024x511.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-300x150.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-768x383.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-1536x766.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/右上角就是-BigQuery-的-Dry-Run-模式-2048x1022.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 的 Dry Run 模式</figcaption></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3. BigQuery Editions：新版計費方案全解析</h2>



<p class="wp-block-paragraph">以前 BigQuery 提供 Flat Rate，有別於 On-Demand 像計程車跳錶，每掃描一點資料收一點錢；</p>



<p class="wp-block-paragraph">Flat Rate 像月租車，費用固定，查詢不另外計費。</p>



<p class="wp-block-paragraph">2023 年，Google 推出 Editions 架構，重新定義 BigQuery 的計費方式。</p>



<h3 class="wp-block-heading">Standard、Enterprise 與 Enterprise Plus 比較</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>版本</th><th>特色</th><th>適合對象</th></tr></thead><tbody><tr><td>Standard</td><td>支援 Autoscaler，按使用 Slot 小時數計費，無承諾折扣</td><td>一般分析工作負載</td></tr><tr><td>Enterprise</td><td>加入 CMEK、資料列層級安全控制、BI Engine；支援月付與年約折扣</td><td>有安全合規需求的企業</td></tr><tr><td>Enterprise Plus</td><td>Cross-region 容災、Time Travel 最長 7 天</td><td>對資料治理有嚴格要求的大型企業</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Editions 和舊版 Flat Rate 最大的差異</h3>



<p class="wp-block-paragraph">舊版 Flat Rate：Slot 數量固定，資源無法自動調整。</p>



<p class="wp-block-paragraph">如果你買了 100 個 <strong>Slots (運算單元)</strong>，那這 100 個單位就是專屬於你的，即便你的工程師下班了、資料庫閒置在那裡，你還是要付這 100 個單位的完整費用。</p>



<p class="wp-block-paragraph">Editions：引入 <strong>Autoscaler</strong>，查詢量高峰時自動增加 Slot，閒置時自動縮減，不再需要猜測最高需求來決定購買數量。</p>



<p class="wp-block-paragraph">正因為計費邏輯從「買斷固定數量」變成了「按實際彈性用量付費」，所以你在設定 <strong>Reservations (預留項目)</strong> 時，會發現 Google 不再給你一個「固定 100 Slots 的總價」。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="512" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-1024x512.png" alt="" class="wp-image-11769" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-1024x512.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-300x150.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-768x384.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-1536x769.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-Editions-計費架構-2048x1025.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery Editions 計費架構</figcaption></figure>



<p class="wp-block-paragraph">系統現在只會讓你設定一個 <strong>Max Reservoir Size (預留項目大小上限)</strong>，這就像是幫你的信用卡設一個「單筆消費限額」，防止自動擴充得太過火導致帳單爆炸。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="866" height="970" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-預留項目大小上限.png" alt="" class="wp-image-11750" style="aspect-ratio:0.8928100139501565;width:434px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-預留項目大小上限.png 866w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-預留項目大小上限-268x300.png 268w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-預留項目大小上限-768x860.png 768w" sizes="(max-width: 866px) 100vw, 866px" /><figcaption class="wp-element-caption">BigQuery 預留項目大小上限</figcaption></figure>



<p class="wp-block-paragraph">既然實際支出是根據每分每秒的波動累積起來的，那份試算表列出的 25%、50%、75% <strong>Utilization (使用率)</strong>，其實是在幫你估計：如果你的業務平均負載在這些水位，你月底大概會收到多少錢的帳單。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="757" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-保留項目依照預估用量的試算-1024x757.png" alt="" class="wp-image-11751" style="aspect-ratio:1.352755222215335;width:523px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-保留項目依照預估用量的試算-1024x757.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-保留項目依照預估用量的試算-300x222.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-保留項目依照預估用量的試算-768x568.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-保留項目依照預估用量的試算.png 1250w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 保留項目依照預估用量的試算</figcaption></figure>



<p class="wp-block-paragraph">之所以沒有列出 100% 的費用，是因為在 <strong>Autoscaling (自動擴充)</strong> 的機制下，除非你的查詢量大到 24 小時都把這 100 個 <strong>Slots</strong> 佔滿，否則你幾乎不會付到 100% 的錢。</p>



<p class="wp-block-paragraph">這也是為什麼你看到 <strong>Baseline (基準運算單元)</strong> 的選項會被設為 0 或較低的數值；<strong>Baseline</strong> 代表「無論如何我都要保有的最低戰力」，如果你的 <strong>Baseline</strong> 設得越低，系統在沒事做的時候就能縮得越小，省下更多費用。</p>



<p class="wp-block-paragraph"><strong>你可能會問， On-Demand 的都直接去使用 Enterprise (企業版) 的 自動擴充 (Autoscaling) 功能就好了，反正沒有用就沒費用，有用還比較便宜，對嗎？</strong></p>



<h4 class="wp-block-heading">BigQuery 隱藏的「計費邏輯」</h4>



<p class="wp-block-paragraph">BigQuery Edition 並不一定比原本的 <strong>On-demand (按需求計費)</strong> 便宜，因為計費單位的根本不同：</p>



<p class="wp-block-paragraph">在 <strong>On-demand (按需求計費)</strong> 的模式下，Google 是看你的 SQL 指令「掃描了多少資料量」來收錢。</p>



<p class="wp-block-paragraph"><strong>BigQuery Edition </strong>，計費的標竿就完全改變了，系統改為計算你「使用了多少運算力（<strong>Slots</strong>）以及用了多久（時間）」。就像搬家「按出動的人力和時間算錢」一樣。</p>



<h4 class="wp-block-heading">哪一種比較划算，完全取決於你的行李（資料）長什麼樣子</h4>



<p class="wp-block-paragraph">首先要考慮你原本 On-Deman 的每月費用是否超過 2,000 美元，這種用量在台灣通常是大企業才要考慮。</p>



<p class="wp-block-paragraph">如果你的查詢語法寫得不夠有效率，導致系統需要動用大量 <strong>Slots</strong> 埋頭苦幹很久，那麼在 <strong>Enterprise (企業版)</strong> 下產生的費用，反而有可能會超過原本的 <strong>On-demand (按需求計費)</strong>。</p>



<p class="wp-block-paragraph">如果你的工作負載（Workload）是屬於那種「掃描資料量極大，但運算過程很簡單」的類型，<strong>Enterprise (企業版)</strong> 可能會顯得非常划算；反之，如果你的資料量很小，但 SQL 邏輯複雜到讓系統算到滿頭大汗，那 <strong>On-demand (按需求計費)</strong> 反而可能是你的省錢好朋友。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="511" src="https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？-1024x511.png" alt="" class="wp-image-11767" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？-1024x511.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？-300x150.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？-768x384.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？-1536x767.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/何時要切換成-BigQuery-Editions？.png 1902w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">何時要切換成 BigQuery Editions？</figcaption></figure>



<h3 class="wp-block-heading">Commitment 承諾方案的折扣</h3>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="417" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型-1024x417.png" alt="" class="wp-image-11752" style="width:747px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型-1024x417.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型-300x122.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型-768x313.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型-1536x626.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-的承諾使用折扣-支出型和資源型.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 的承諾使用折扣 &#8211; 支出型和資源型</figcaption></figure>



<p class="wp-block-paragraph">既然叫做「承諾」，就是不管你有沒有用 Slots，你每個月都要支付固定的費用。</p>



<p class="wp-block-paragraph">這是和上述 BigQuery Editions 最大的不同。</p>



<h4 class="wp-block-heading">資源型承諾 (Resourced-Based CUD)：折扣最深但相對固定</h4>



<p class="wp-block-paragraph">從上方表格最右側兩欄看到，你會發現 <strong>Resource CUDs</strong> 的價格較低，因為你給 Google 的承諾非常死，讓他們能非常精確地預估硬體採購和機房調度，所以他們給出的折扣也最慷慨，3 年期的價格甚至能讓你省下將近 40% 的費用。</p>



<p class="wp-block-paragraph">然而，高折扣的代價就是「專款專用」。當你簽下 <strong>Resource CUDs</strong> 時，通常需要鎖定特定的 <strong>Slots (運算單元)</strong> 數量以及特定的 <strong>Region (區域)</strong>。</p>



<p class="wp-block-paragraph">這對於已經進入穩定營運期、且每天運算量都像心電圖一樣平穩的老牌公司來說是首選，因為他們很清楚自己每小時就是要燒掉這麼多 <strong>Slots</strong>，直接選這個方案最省錢。</p>



<h4 class="wp-block-heading">支出型承諾 (Spent Based)：靈活但折扣較淺</h4>



<p class="wp-block-paragraph">表格左側數過來第二、三欄就是支出型承諾，2026 年才正式上線，例如「我保證接下來一年，每小時一定會在這裡消費 100 元」。</p>



<p class="wp-block-paragraph">不論你的 <strong>Slots (運算單元)</strong> 是在台灣還是在日本執行，或者你今天用的是 <strong>Enterprise (企業版)</strong> 還是 <strong>Enterprise Plus (企業加強版)</strong>，這份承諾都能幫你折抵支出。因為它給了你極大的轉身空間，所以 Google 給你的折扣就相對比較小，大約是在 10% 到 20% 之間。</p>



<p class="wp-block-paragraph">這種適合那些業務還在變動、或者數據分散在多個 <strong>Regions (區域)</strong> 的團隊。</p>



<p class="wp-block-paragraph">如果你今天還在測試哪一種 <strong>BigQuery Edition (版本)</strong> 最適合你，或者你擔心未來半年公司會把機房從台灣搬到其他國家，那麼鎖定這種以「美金金額」為單位的 <strong>BigQuery CUD</strong>，就能確保你的折扣不會因為換了環境就失效。</p>



<p class="wp-block-paragraph">它就像一張通用的禮券，雖然面額折扣沒那麼多，但走到哪都能用，這就是它存在的最大價值。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4. 儲存費用（Storage Costs）完整說明</h2>



<h3 class="wp-block-heading">Active Storage vs. Long-term Storage</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>類型</th><th>條件</th><th>費率</th></tr></thead><tbody><tr><td>Active Storage（活躍儲存）</td><td>過去 90 天內有被修改</td><td>較高</td></tr><tr><td>Long-term Storage（長期儲存）</td><td>連續 90 天未被修改，自動降級</td><td>約為活躍儲存的一半</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Long-term Storage 的降級是<strong>自動發生</strong>的，不需要手動操作。</p>



<h3 class="wp-block-heading">降低儲存成本的策略</h3>



<ul class="wp-block-list">
<li>超過一年的歷史資料匯出到 Google Cloud Storage（GCS），費率比 BigQuery 低</li>



<li>使用 <strong>Table Expiration</strong> 功能，設定資料過期自動刪除</li>



<li>對大型表格採用分區設計，只保留必要分區在 BigQuery，其餘歸檔</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5. 免費額度（Free Tier）</h2>



<p class="wp-block-paragraph">每個月的免費額度：</p>



<ul class="wp-block-list">
<li>查詢：前 <strong>1 TB</strong> 掃描量免費</li>



<li>儲存：前 <strong>10 GB</strong> 免費</li>



<li>資料匯入：<strong>Batch Load 完全免費</strong>（這點常被忽略）</li>
</ul>



<p class="wp-block-paragraph">PS. 這個免費額度是完全不用註冊 300 美金試用的情況下，也可以直接使用的，可參考 <a href="https://docs.cloud.google.com/bigquery/docs/sandbox?hl=zh-tw" target="_blank" rel="noopener" title="">BigQuery 免費沙箱</a>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6. 其他潛在費用</h2>



<h3 class="wp-block-heading">資料串流（Streaming Insert）費用</h3>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="397" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-1024x397.png" alt="" class="wp-image-11753" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-1024x397.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-300x116.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-768x298.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-1536x596.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-載入資料的費用-2048x794.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 載入資料的費用</figcaption></figure>



<p class="wp-block-paragraph">使用 Streaming Insert 把即時資料寫入 BigQuery，按寫入資料量額外計費。</p>



<p class="wp-block-paragraph">原本只有 Steaming Inserts 這個方法，後來又提供 BigQuery Storage Write API，更為划算。</p>



<p class="wp-block-paragraph">如果不需要即時性，改用 Batch Load 可完全省掉這筆費用。</p>



<h3 class="wp-block-heading">BigQuery ML 計費</h3>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="652" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-1024x652.png" alt="" class="wp-image-11754" style="width:748px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-1024x652.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-300x191.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-768x489.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-1536x979.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-ML-計費方式-2048x1305.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery ML 兩類 Model 價差極大</figcaption></figure>



<h4 class="wp-block-heading">你會看到 BigQuery ML 兩類 Model 價差極大，為什麼？</h4>



<ul class="wp-block-list">
<li>線性回歸、邏輯回歸、K-means、PCA、時間序列等內建疊代模型：$312.50/TiB（台灣約 $359，依匯率與區域調整）。</li>



<li>AutoML Tables、DNN、boosted tree、隨機森林等外部模型：僅 $6.25/TiB（台灣約 $7），因前處理用標準查詢費率，訓練轉 Vertex AI 但折算低。<a href="https://docs.cloud.google.com/bigquery/docs/bqml-introduction?hl=zh-tw" target="_blank" rel="noreferrer noopener"></a></li>
</ul>



<h4 class="wp-block-heading">差異原因</h4>



<p class="wp-block-paragraph">內建疊代模型需多次掃描資料（預設 50 次迭代），計算密集，故單 TiB 處理位元組計費高（有效乘以迭代次數）。</p>



<p class="wp-block-paragraph">外部模型多依賴 Vertex AI，因為這類模型被稱為 <strong>External Models</strong>（外部模型）或 <strong>Vertex AI</strong> 整合模型。</p>



<p class="wp-block-paragraph">這報價其實只是一個「過路費」或是「代工準備費」。</p>



<p class="wp-block-paragraph"><strong>BigQuery</strong> 只負責把數據整理好（這個過程稱為 <strong>Preprocessing</strong> 預處理），一旦數據準備好了，它就會把這些資料打包，送到隔壁棟專門做 AI 的工廠——<strong>Vertex AI</strong> 去進行真正的訓練。</p>



<p class="wp-block-paragraph"><strong>而 Vertex AI</strong> 的計費方式通常不是看資料量（TB），而是看它動用了多少台強大的機器、工作了幾個小時（這個單位叫做 <strong>Node-hour</strong> 節點小時），這才是真正昂貴的地方。</p>



<h3 class="wp-block-heading">BigQuery BI Engine 費用</h3>



<p class="wp-block-paragraph">按 GB 小時計費，約 $0.0478 美元/GB/小時。BI 儀表板查詢頻繁時，這筆費用會快速累積。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. 5 個實用的省錢技巧</h2>



<h3 class="wp-block-heading">7.1 避免 SELECT * 全表掃描</h3>



<p class="wp-block-paragraph">BigQuery 按掃描的欄位資料量計費。<code>SELECT *</code> 會讀取所有欄位，即使你只用其中幾個，費用照算。</p>



<p class="wp-block-paragraph">一張有 100 個欄位的表格，只選取需要的 5 個欄位，查詢費用可降到原本的 <strong>5%</strong> 左右。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="806" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用-1024x806.png" alt="" class="wp-image-11756" style="width:598px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用-1024x806.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用-300x236.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用-768x605.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用-1536x1209.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-查詢欄位數量會影響費用.png 1842w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">BigQuery 查詢欄位數量會影響費用</figcaption></figure>



<h3 class="wp-block-heading">7.2 善用分區 (分割)（Partitioning）與叢集（Clustering）</h3>



<p class="wp-block-paragraph"><strong>分區</strong>：把大型表格按時間或其他欄位切分。查詢加上分區欄位的篩選條件，BigQuery 只掃描對應分區。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="469" src="https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-1024x469.png" alt="" class="wp-image-11755" style="aspect-ratio:2.183475486685331;width:666px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-1024x469.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-300x137.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-768x352.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-1536x703.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/使用分割表降低查詢量和費用-2048x937.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">使用分割表降低查詢量和費用</figcaption></figure>



<p class="wp-block-paragraph"><strong>叢集</strong>：在分區之內，進一步按特定欄位排序資料。</p>



<p class="wp-block-paragraph">搭配使用分區和叢集，查詢費用可降低 <strong>50% 以上</strong>。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-1024x576.png" alt="" class="wp-image-11768" srcset="https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-1536x864.png 1536w, https://dongdonggcp.com/wp-content/uploads/2026/03/BigQuery-資料分區與叢集架構-2048x1152.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>BigQuery 資料分區與叢集架構</strong></figcaption></figure>



<h3 class="wp-block-heading">7.3 設定查詢上限與預算警示</h3>



<p class="wp-block-paragraph">在 BigQuery 設定每個用戶或每個專案的每日查詢費用上限（Cost Controls），超過門檻查詢會被自動拒絕。</p>



<p class="wp-block-paragraph">搭配 Google Cloud Billing 的 <strong>Budget Alerts</strong>，費用達到設定百分比時自動發送通知。</p>



<h3 class="wp-block-heading">7.4 善用 Materialized Views</h3>



<p class="wp-block-paragraph">有複雜查詢需要反覆執行（例如每天計算一次彙總報表），改用 <strong>Materialized Views</strong>（實體化視圖）。BigQuery 預先計算並儲存結果，後續查詢直接讀取，省去重複掃描的費用。底層資料更新時，Materialized Views 也會自動更新。</p>



<h3 class="wp-block-heading">7.5 定期評估是否切換 Editions</h3>



<p class="wp-block-paragraph">月費持續增長，超過 2,000 美元時，用 <strong>BigQuery Slot Recommender</strong> 分析歷史查詢記錄，評估購買固定 Slot 是否更划算。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8. 如何監控與管理費用</h2>



<h3 class="wp-block-heading">用 Google Cloud Console 查看帳單</h3>



<p class="wp-block-paragraph">Billing 頁面可按專案、服務、時間段篩選費用，找出費用來源。</p>



<h3 class="wp-block-heading">設定預算與費用警示</h3>



<p class="wp-block-paragraph">在 Cloud Billing 的「Budgets &amp; alerts」設定預算上限，達到 50%、90%、100% 時自動發送通知。這是避免帳單超出預期的基本防線，每個 BigQuery 使用者都應該設定。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">常見問題（FAQ）</h2>



<p class="wp-block-paragraph"><strong>Q1. Slot 買了沒用完，會退費嗎？</strong></p>



<p class="wp-block-paragraph">BigQuery Editions 的承諾費用固定收費，不論實際使用多少 Slot，費用照算。</p>



<p class="wp-block-paragraph"><strong>Q2. SELECT * 真的會讓費用變很高嗎？</strong></p>



<p class="wp-block-paragraph">是的。BigQuery 依照掃描的欄位資料量計費，<code>SELECT *</code> 讀取所有欄位，就算只用少數欄位費用不變。改成只選必要欄位，有機會省下 <strong>80% 以上</strong>的查詢費用。</p>



<p class="wp-block-paragraph"><strong>Q3. 如何查看每個查詢花了多少錢？</strong></p>



<p class="wp-block-paragraph">透過 <code>INFORMATION_SCHEMA.JOBS_BY_PROJECT</code> 查詢歷史記錄，欄位 <code>total_bytes_billed</code> 乘以當前費率即可估算費用。也可搭配 Cloud Billing Export，把費用明細匯出到 BigQuery 做深入分析。</p>



<p class="wp-block-paragraph"><strong>Q4. BigQuery 資料匯入需要付費嗎？</strong></p>



<p class="wp-block-paragraph">Batch Load（批次匯入）免費。Streaming Insert（串流寫入）按寫入資料量額外收費。</p>



<p class="wp-block-paragraph"><strong>Q5. 如何預防帳單突然暴增？</strong></p>



<p class="wp-block-paragraph">三管齊下：設定每個用戶的查詢費用上限（Cost Controls）、在 Cloud Billing 設定 Budget Alerts、定期審視使用量報告。</p>



<p class="wp-block-paragraph"></p><p>The post <a href="https://dongdonggcp.com/2026/03/27/bigquery-billing-guide/">BigQuery 計費方式完整介紹：費用結構、自動擴充與省錢技巧全攻略</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2026/03/27/bigquery-billing-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>iPAS AI 應用規劃師初級認證考試 人工智慧概論 重點整理&#038;簡報下載</title>
		<link>https://dongdonggcp.com/2025/09/10/ipas-ai-planner-exam-ai-introduction/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ipas-ai-planner-exam-ai-introduction</link>
					<comments>https://dongdonggcp.com/2025/09/10/ipas-ai-planner-exam-ai-introduction/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 10 Sep 2025 09:04:47 +0000</pubDate>
				<category><![CDATA[AI 和機器學習]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[iPAS]]></category>
		<category><![CDATA[大數據]]></category>
		<category><![CDATA[機器學習]]></category>
		<category><![CDATA[生成式 AI]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11283</guid>

					<description><![CDATA[<p>快速下載簡報 為什麼要考 iPAS AI [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2025/09/10/ipas-ai-planner-exam-ai-introduction/">iPAS AI 應用規劃師初級認證考試 人工智慧概論 重點整理&簡報下載</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<h4 class="wp-block-heading"><a href="https://gcp.kit.com/ipas-ai-intro" target="_blank" rel="noopener" title="">快速下載簡報</a></h4>



<h2 class="wp-block-heading"><strong>為什麼要考 iPAS AI 應用規劃師初級認證？</strong></h2>



<p class="wp-block-paragraph">人工智慧（AI）正快速改變世界，從日常生活到產業應用都能看到它的影子。對於 IT 專業人士、學生或想轉職的人來說，<strong>iPAS AI 應用規劃師初級認證</strong>是一個重要的跳板。</p>



<h3 class="wp-block-heading"><strong>認證對職涯發展的影響</strong></h3>



<p class="wp-block-paragraph">拿到認證就像拿到一張「AI 通行證」，能證明我們具備基本的 AI 知識與應用能力，讓求職或升遷更有優勢。</p>



<h3 class="wp-block-heading"><strong>認證在產業中的價值</strong></h3>



<p class="wp-block-paragraph">許多公司在導入 AI 時，缺的不是工程師，而是能規劃應用的人才。這張證照正是要培養這樣的角色。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>考試基本資訊</strong></h2>



<h3 class="wp-block-heading"><strong>考試架構與題型</strong></h3>



<p class="wp-block-paragraph">考試多以選擇題為主，測驗 AI 基礎知識、應用案例、倫理議題等。範圍廣但深度不會太難，重點是概念理解。</p>



<h3 class="wp-block-heading"><strong>考試報名流程與費用</strong></h3>



<p class="wp-block-paragraph">報名方式多為線上申請，初級要考兩科，一科 800 元，初級共兩科。各考季會公告報名時間。</p>



<p class="wp-block-paragraph">iPAS AI 官方網站：<a href="https://www.ipas.org.tw/AIAP/" target="_blank" rel="noopener" title="">https://www.ipas.org.tw/AIAP/</a></p>



<p class="wp-block-paragraph">iPAS 報名登入頁面 <a href="https://www.ipas.org.tw/reg/System/Login" target="_blank" rel="noopener" title="">https://www.ipas.org.tw/reg/System/Login</a></p>



<h3 class="wp-block-heading"><strong>考試難度與通過率</strong></h3>



<p class="wp-block-paragraph">屬於入門級，重點在於理解而不是死背。若有基礎資訊背景，準備起來相對輕鬆。2025/8/16 的過考率為 45%。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="789" height="433" src="https://dongdonggcp.com/wp-content/uploads/2025/09/114-03AI初級成績公告.jpg" alt="" class="wp-image-11297" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/114-03AI初級成績公告.jpg 789w, https://dongdonggcp.com/wp-content/uploads/2025/09/114-03AI初級成績公告-300x165.jpg 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/114-03AI初級成績公告-768x421.jpg 768w" sizes="(max-width: 789px) 100vw, 789px" /></figure>



<p class="wp-block-paragraph">資料來源：<a href="https://www.ipas.org.tw/AIAP/AbilityPageContent.aspx?pgeno=f9025e73-ae4b-470c-95fc-4c7a7207031e" target="_blank" rel="noopener" title="">https://www.ipas.org.tw/AIAP/AbilityPageContent.aspx?pgeno=f9025e73-ae4b-470c-95fc-4c7a7207031e</a></p>



<h2 class="wp-block-heading">人工智慧概論 重點整理</h2>



<h4 class="wp-block-heading"><a href="https://gcp.kit.com/ipas-ai-intro" target="_blank" rel="noopener" title="">簡報免費下載</a></h4>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">1 人工智慧基礎概念</h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1024x576.png" alt="" class="wp-image-11286" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">1.1 AI 發展階段分類</h2>



<p class="wp-block-paragraph">當我們談論人工智慧時，其實就像討論汽車的發展歷程一樣，有著不同的階段和層次。目前學術界普遍將人工智慧的發展分為三個主要階段，每個階段都代表著不同程度的智慧能力表現。</p>



<p class="wp-block-paragraph"><strong>狹義人工智慧 (ANI &#8211; Artificial Narrow Intelligence)</strong> 是我們現在最常接觸到的AI類型，就像是專業的工匠一樣，每個AI系統都只專精於某一個特定領域。例如，Siri或Google Assistant這類語音助理只會處理語音相關的任務，而Netflix的推薦系統則專門分析你的觀影喜好來推薦電影。這些AI雖然在各自的領域表現出色，甚至可能超越人類，但它們無法跨領域運作。就像一個頂尖的西餐廚師可能完全不會做中式料理一樣，ANI只能在預設的範圍內發揮功能。</p>



<p class="wp-block-paragraph">從ANI進一步發展，我們期待能達到**通用人工智慧 (AGI &#8211; Artificial General Intelligence)**的境界。AGI就像是一個真正聰明的人類一樣，能夠學習並處理各種不同類型的任務。想像一下，如果有一個AI既能幫你寫文章，又能解數學題，還能跟你聊天談心理，甚至能學會開車、做菜、彈鋼琴，這就是AGI的概念。不過，儘管科技界對此充滿期待，AGI目前仍然只存在於理論和研究階段，距離真正實現還有相當長的路要走。</p>



<p class="wp-block-paragraph">而在更遙遠的未來，理論上可能出現<strong>超級人工智慧 (ASI &#8211; Artificial Super Intelligence)</strong>。ASI就像是把愛因斯坦、達文西、和牛頓的智慧結合起來，然後再放大無數倍的概念。這種AI不只是能做人類能做的事情，更能在所有領域都遠遠超越人類的表現。ASI更像是科幻小說中的概念，是一個極其遙遠且充滿不確定性的未來願景。</p>



<h2 class="wp-block-heading">1.2 AI 發展三大浪潮</h2>



<p class="wp-block-paragraph">了解了AI的分類階段後，我們來看看AI是如何一步步發展到今天的樣貌。就像工業革命有好幾個階段一樣，AI的發展也經歷了三個主要的技術浪潮，每個浪潮都有其獨特的特色和貢獻。</p>



<p class="wp-block-paragraph"><strong>第一波浪潮 (1950s-1970s)：符號主義 AI</strong> 是AI發展的起始點，這個時期的研究者相信智慧可以透過邏輯符號和規則來表達。就像我們用數學公式來描述物理定律一樣，早期的AI研究者試圖用邏輯符號來描述人類的思考過程。這個時期最著名的成果是專家系統，比如DENDRAL（用來分析化學分子結構）和MYCIN（用來診斷細菌感染）。這些系統就像是把專家的知識和經驗寫成一本詳細的規則手冊，然後讓電腦按照這些規則來解決問題。雖然在特定領域很有效，但這種方法需要人工輸入大量的規則，而且很難應對複雜多變的現實情況。</p>



<p class="wp-block-paragraph">接著進入<strong>第二波浪潮 (1980s-2000s)：統計學習</strong>的時代，研究者開始意識到與其手動寫規則，不如讓機器自己從數據中學習規律。這就像是從「老師手把手教學生每一個步驟」轉變為「讓學生自己從大量練習題中歸納出解題方法」。這個時期發展出許多重要的機器學習演算法，包括決策樹、支援向量機(SVM)、隨機森林等。這些方法讓AI系統能夠從歷史數據中自動發現模式，並應用到新的情況中，大大提升了AI的實用性和靈活性。</p>



<p class="wp-block-paragraph">而我們現在正處於<strong>第三波浪潮 (2010s-至今)：深度學習</strong>的黃金時代。深度學習的核心概念是模仿人類大腦的神經網路結構，就像建造一個簡化版的人工大腦一樣。這種方法特別善於處理複雜的數據，例如圖像、語音、和文字。深度學習讓AI在許多領域都有了突破性的進展，從AlphaGo擊敗圍棋世界冠軍，到ChatGPT能夠進行自然的對話，都是深度學習技術的成果。這個浪潮的特色是需要大量的數據和強大的運算能力，但換來的是前所未有的AI表現水準。</p>



<h2 class="wp-block-heading">1.3 AI 任務執行基礎</h2>



<p class="wp-block-paragraph">經過前面兩個部分的介紹，我們已經了解AI的發展階段和歷史脈絡，現在讓我們深入探討AI到底是如何工作的。理解這個基礎原理對於後續學習各種AI技術和應用都至關重要。</p>



<p class="wp-block-paragraph">AI的核心能力可以用一個簡單的概念來理解：<strong>從數據中學習模式，並進行推理與決策</strong>。這聽起來很抽象，但其實就像人類學習的過程一樣。想像一個小孩學習認識動物，他會看很多動物的圖片，慢慢學會區分貓、狗、鳥的特徵，然後當看到新的動物圖片時，就能根據之前學到的模式來判斷這是什麼動物。</p>



<p class="wp-block-paragraph">這個過程與傳統的程式設計有著根本性的差異。傳統程式就像是一本詳細的操作手冊，程式設計師會寫下每一個步驟，告訴電腦在什麼情況下該做什麼事情。這種方法對於邏輯清楚、規則固定的任務很有效，但面對複雜多變的現實世界問題時就顯得力不從心。比如要寫一個程式來識別照片中的貓，用傳統方法幾乎是不可能的任務，因為貓的外觀千變萬化，很難用固定的規則來描述。</p>



<p class="wp-block-paragraph">AI系統則採用完全不同的方法。它們不需要人類預先告訴它們所有的規則，而是透過分析大量的數據來自動發現其中的規律和模式。這就像是讓AI系統自己當學生，從無數的例子中學習，然後形成自己的「理解」。當面對新的情況時，AI系統會運用它從數據中學到的模式來做出推理和決策，這個過程更像是人類的直覺判斷，而不是機械式的規則執行。</p>



<p class="wp-block-paragraph">這種學習和推理的能力讓AI能夠處理許多以前被認為只有人類才能做的任務，例如理解語言、識別圖像、預測趨勢等等。正是這個基本原理的威力，讓我們看到了AI在各個領域中不斷突破的可能性，也為我們進入下一個章節學習具體的AI技術和應用奠定了堅實的基礎。</p>



<h1 class="wp-block-heading">2 機器學習類型與方法</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1-1024x576.png" alt="" class="wp-image-11287" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-1.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">機器學習就像是教電腦如何像人一樣學習和做決定的技術。就如同人類可以通過不同方式學習新事物，機器學習也有多種不同的學習方式，每種方式都適合解決不同類型的問題。接下來我們將深入探討四種主要的機器學習類型，讓您了解它們各自的特色和應用場景。</p>



<h2 class="wp-block-heading">2.1 監督式學習 (Supervised Learning)</h2>



<p class="wp-block-paragraph">監督式學習可以想像成是有老師指導的學習過程。在這種學習方式中，我們會提供電腦大量已經有正確答案的資料，就像給學生練習題和標準答案一樣，讓機器從中學會如何處理類似的問題。這種學習方式的核心概念是使用已標記的資料進行訓練，其中「已標記」意思是每筆資料都有對應的正確答案。</p>



<p class="wp-block-paragraph">在監督式學習中，有兩種主要的問題類型需要解決。第一種是分類問題，它的目的是將輸入資料對應到離散的類別中。想像一下郵件系統需要判斷每封郵件是正常郵件還是垃圾郵件，或是醫生需要根據X光片判斷病患是否有肺炎，這些都是典型的分類問題應用。在這些情況下，機器需要學會將輸入的資料歸類到預先定義好的類別中。</p>



<p class="wp-block-paragraph">與分類問題相對的是迴歸問題，它的目的是預測連續數值而非離散類別。舉例來說，根據房屋的坪數、地點、屋齡等因素來預測房價，或是根據歷史銷售數據來預測下個月的銷售額，這些都屬於迴歸問題。線性迴歸就是解決這類問題的經典算法，它特別適合預測連續型目標變數。</p>



<p class="wp-block-paragraph">為了解決這些不同類型的問題，監督式學習發展出許多常見算法。決策樹是其中一種具有高可解釋性的算法，它就像是建立一套決策規則，讓人們能夠清楚理解機器是如何做出判斷的。Logistic Regression則特別適合處理類別型預測問題，它能夠計算某個樣本屬於特定類別的機率。當面對更複雜的分類問題時，隨機森林算法會是很好的選擇，它結合多個決策樹的預測結果，通常能夠獲得更準確的預測結果。</p>



<h2 class="wp-block-heading">2.2 非監督式學習 (Unsupervised Learning)</h2>



<p class="wp-block-paragraph">與監督式學習不同的是，非監督式學習就像是讓學生自己探索和發現規律，沒有標準答案可以參考。這種學習方式的最大特徵是使用未標記的數據，也就是說資料中沒有正確答案或目標輸出。機器必須自己從大量資料中發現隱藏模式，找出資料之間的關聯性和結構。</p>



<p class="wp-block-paragraph">由於非監督式學習不需要訓練的目標輸出，它特別適合用來探索我們還不知道該尋找什麼的情況。比如說，一家公司想要了解顧客的消費行為模式，但不知道顧客可以分成幾種類型，這時就可以使用非監督式學習來自動發現顧客群體的特徵。</p>



<p class="wp-block-paragraph">在非監督式學習中，聚類分析是最重要的技術之一，它的目標是將相似的資料點歸納到同一個群組中。K-means是最經典的聚類演算法，它會將資料分成預先指定數量的群組，並確保每個群組內的資料點盡可能相似，而不同群組間的差異盡可能大。另一個重要的聚類方法是DBSCAN，它是基於密度的聚類方法，能夠自動決定群組數量，並且對於形狀不規則的群組也有很好的處理能力。</p>



<h2 class="wp-block-heading">2.3 強化學習 (Reinforcement Learning)</h2>



<p class="wp-block-paragraph">強化學習採用了一種截然不同的學習方式，它更像是透過反覆嘗試和接受回饋來學習的過程。想像一個小孩學習騎腳踏車，他會不斷嘗試不同的動作，當做對了就能保持平衡（獲得正面回饋），做錯了就可能跌倒（獲得負面回饋），透過這樣的過程逐漸學會騎車。強化學習的核心概念就是透過與環境互動學習，系統會根據行動的結果接收獎勵函數 (reward function) 的回饋，並據此調整未來的行為策略。</p>



<p class="wp-block-paragraph">這種學習方式特別適合處理動態重複互動問題，也就是需要連續做出多個相關決策的情況。在這類問題中，當下的決策不僅會影響即時的結果，也會影響未來可能獲得的回報，因此系統需要學會平衡短期利益和長期利益。</p>



<p class="wp-block-paragraph">在強化學習中有幾個關鍵要素需要理解。折扣因子 γ 是其中一個重要概念，它決定了系統對未來獎勵的重視程度。當折扣因子越接近1時，表示系統越重視未來獎勵，會更願意為了長期利益而犧牲短期回報。Q-Learning則是強化學習中的核心算法，它透過試誤與回饋的過程，讓系統學習在不同狀況下應該採取什麼行動才能獲得最佳的長期回報。</p>



<p class="wp-block-paragraph">強化學習在許多前沿應用領域都有出色的表現。最著名的例子是圍棋AI AlphaGo，它透過與自己對弈數百萬局來學習最佳的下棋策略，最終擊敗了世界頂級的圍棋選手。在自動駕駛領域，車輛需要根據路況、交通號誌、行人等各種因素做出連續的駕駛決策，這正是強化學習擅長解決的問題類型。此外，在各種遊戲策略學習中，強化學習也展現了超越人類玩家的能力。</p>



<h2 class="wp-block-heading">2.4 半監督學習與主動學習</h2>



<p class="wp-block-paragraph">在實際應用中，我們經常會遇到一個困難的問題：獲得大量已標記的訓練資料既昂貴又耗時。想像一下，如果要訓練一個醫學影像識別系統，需要請專業醫師標記成千上萬張影像，這不僅成本高昂，也需要大量時間。為了解決這個問題，研究人員發展出了半監督學習和主動學習這兩種方法，它們都嘗試更有效地利用有限的標記資料。</p>



<p class="wp-block-paragraph">半監督學習是一種聰明的解決方案，它同時使用少量已標記和大量未標記資料來訓練模型。這種方法的核心理念是，即使某些資料沒有標準答案，它們仍然包含有用的資訊，可以幫助模型更好地理解資料的整體結構。重要的是，半監督學習可以自動從未標記資料中學習，不需要人工干預，這大大降低了人力成本。</p>



<p class="wp-block-paragraph">主動學習則採用了另一種策略來最大化標記資料的價值。在這種方法中，模型會主動選擇最有價值的樣本請求標記，而不是隨機選擇需要標記的資料。這就像是一個聰明的學生，會主動向老師提問最能幫助自己學習的問題。主動學習使用查詢函數 Q 來從未標記樣本中選出信息量最大的樣本，但這個過程仍然需要人工參與標註過程。</p>



<p class="wp-block-paragraph">儘管半監督學習和主動學習採用不同的策略，但它們有一個共同特點：都利用未標記資料來輔助監督學習。這兩種方法代表了機器學習領域對於如何更有效利用資料資源的重要探索，在資料標記成本高昂的現實環境中，它們為我們提供了實用且經濟的解決方案。</p>



<p class="wp-block-paragraph">透過了解這四種主要的機器學習類型，我們可以看出每種方法都有其獨特的優勢和適用場景。監督式學習適合有明確目標的問題，非監督式學習適合探索性分析，強化學習適合需要連續決策的動態環境，而半監督學習和主動學習則提供了在資源有限情況下的實用解決方案。選擇合適的機器學習方法，就像選擇合適的工具一樣，需要根據具體問題的特性和可用資源來決定。</p>



<h1 class="wp-block-heading">3. 資料預處理與品質管理</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-2-1024x576.png" alt="" class="wp-image-11288" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-2-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-2-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-2-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-2.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">在人工智慧的世界裡，資料預處理就像是料理前的食材準備工作一樣重要。想像一下，如果我們拿到一堆雜亂無章的食材，有些已經腐壞、有些缺斤少兩、有些甚至不知道是什麼東西，直接拿去煮菜肯定做不出好料理。同樣地，機器學習模型也需要乾淨、整齊、品質良好的資料才能產生準確的預測結果。這就是為什麼我們需要先了解不同類型的資料，然後學會如何清理、轉換和精簡這些資料。</p>



<h2 class="wp-block-heading">3.1 資料類型</h2>



<p class="wp-block-paragraph">在開始處理資料之前，我們必須先認識資料的基本分類，就像廚師要先認識食材的種類一樣。在人工智慧應用中，資料主要分為兩大類型：結構化資料和非結構化資料，每種類型都有不同的特性和處理需求。</p>



<h3 class="wp-block-heading">結構化資料</h3>



<p class="wp-block-paragraph">結構化資料就像是整齊排列在表格中的資訊，每一欄都有固定的格式和意義。最常見的例子包括顧客交易記錄表格，裡面可能有日期、金額、商品名稱等欄位，每一筆記錄都按照相同的格式排列。Excel 財務報表也是典型的結構化資料，會計師將收入、支出、資產負債等數字按照固定的會計科目分類整理。此外，存放在各種資料庫中的欄位設定，每個欄位都有明確的資料類型定義，比如數字欄位只能存數字、日期欄位只能存日期格式，這些都屬於結構化資料的範疇。這類資料的特色是格式統一、容易理解，也相對容易進行分析處理。</p>



<h3 class="wp-block-heading">非結構化資料</h3>



<p class="wp-block-paragraph">相對於結構化資料的整齊劃一，非結構化資料就像是各式各樣形狀不一的物品，沒有固定的格式可循。人臉影像是最典型的例子，每張照片的解析度、角度、光線條件都不相同，需要特殊的影像處理技術才能讓電腦理解其中的特徵。自然語言文字也是非結構化資料的代表，可能是客戶的評論、新聞文章或社群媒體貼文，長短不一、用詞各異，包含豐富的語意資訊但難以直接量化。醫療領域的 X光醫學影像同樣屬於非結構化資料，每張 X光片的拍攝角度和病灶位置都不盡相同。監控錄影畫面記錄著各種動態場景，而客服電話錄音則包含了語調、語速、方言等複雜的語音資訊，這些都需要運用深度學習等先進技術才能有效處理。</p>



<p class="wp-block-paragraph">了解資料類型的差異後，我們就能選擇適當的預處理策略，這為接下來的資料清理工作奠定了重要基礎。</p>



<h2 class="wp-block-heading">3.2 資料清理技術</h2>



<p class="wp-block-paragraph">認識了資料類型之後，接下來要面對的挑戰就是資料品質問題。就像收到一批蔬菜後要先挑揀一樣，我們需要識別並處理資料中的各種問題。在實際的資料科學專案中，最常遇到的問題包括空值、離群值和錯誤值，每種問題都需要不同的處理技術。</p>



<h3 class="wp-block-heading">空值處理</h3>



<p class="wp-block-paragraph">空值就像是表格中的空白格子，代表某些資訊遺失了。處理這些空值時，我們需要根據資料的特性選擇適當的填補方法。對於數值型資料，比如客戶的年齡或消費金額，我們可以使用平均值來填補空缺，這樣能保持資料的整體趨勢不變。如果資料分布不均勻或存在極端值，中位數會是更好的選擇，因為它不會被異常高低的數值影響而產生偏差。至於類別型資料，像是客戶的職業別或居住地區，最合理的做法是使用眾數，也就是最常出現的類別來填補空缺。有時候，我們也可以選擇將空值視為一個獨立的類別進行處理，或者直接刪除包含空值的記錄，這取決於資料的完整性和分析需求，以及空值比例的高低。</p>



<h3 class="wp-block-heading">離群值處理</h3>



<p class="wp-block-paragraph">處理完空值問題後，下一個挑戰是離群值。離群值的定義是指那些資料點與大多數資料落點距離極遠的數值，就像在一群身高正常的人中突然出現一個巨人一樣顯眼。這些異常值可能是測量錯誤造成的，也可能是真實存在的極端情況，但都會對機器學習模型的訓練產生不良影響。最常用的處理方法是天花板和地板處理法，具體做法是為數據設定一個合理的最大值上限（天花板）和最小值下限（地板），任何超出這個範圍的數值都會被調整到邊界值。這種方法既能保留大部分資料的原始特性，又能避免極端值對模型學習造成干擾，讓模型能夠學習到更穩定和一般化的規律。</p>



<h3 class="wp-block-heading">錯誤值處理</h3>



<p class="wp-block-paragraph">最後一種常見的資料品質問題是錯誤值。這些是明顯不合理或不可能存在的數值，比如出現負數的年齡、超過 24 小時的時間，或是在性別欄位出現數字等明顯的資料輸入錯誤。當我們發現這些錯誤值時，如果無法判斷正確性或確定正確的數值應該是什麼，最安全的做法就是將這些錯誤值視為空值來處理，然後套用前面提到的空值處理方法。這種處理方式能夠避免錯誤資訊對模型造成誤導，同時保持資料處理的一致性。</p>



<p class="wp-block-paragraph">清理完資料中的各種品質問題後，我們就為下一步的資料轉換做好了準備。</p>



<h2 class="wp-block-heading">3.3 資料轉換技術</h2>



<p class="wp-block-paragraph">資料清理完成後，接下來面臨的挑戰是如何讓不同格式的資料能夠被機器學習模型理解和使用。這就像是翻譯工作，需要將各種「語言」的資料轉換成機器能夠「讀懂」的統一格式。在人工智慧的演算法世界中，大部分的機器學習模型都只能處理數值型資料，因此資料轉換是一個關鍵的預處理步驟。</p>



<h3 class="wp-block-heading">類別型轉數值型</h3>



<p class="wp-block-paragraph">機器學習演算法基本上只能處理數字，所以我們需要將文字或類別資訊轉換成數值形式。最直觀的例子是教育程度的轉換，我們可以根據入學年齡將學歷轉換為對應的數值：小學對應 6 歲、國中對應 12 歲、高中對應 15 歲、大學對應 18 歲。這種轉換方法不僅讓機器能夠理解教育程度的概念，還保留了教育階段之間的順序關係和差距大小，讓模型能夠更準確地學習這些特徵對預測結果的影響。除了順序性的類別之外，對於沒有順序關係的類別資料，我們也可以使用 One-Hot Encoding 等技術將每個類別轉換成獨立的二進位特徵。</p>



<h3 class="wp-block-heading">離散化方法</h3>



<p class="wp-block-paragraph">有時候我們需要將連續的數值資料切分成不同的區間，這個過程稱為離散化或分箱（Binning）。在處理客戶年齡或收入資料時，我們經常會用到兩種主要的離散化方法。等寬裝箱法是將資料範圍平均分割，比如將年齡從 0 到 100 歲分成 10 個區間，每個區間都是 10 歲的寬度。這種方法簡單直觀，計算容易，但可能會造成某些區間的資料過多或過少，導致資料分布不均。相對地，等分裝箱法則是確保每個區間包含相同數量的資料筆數，這樣能夠讓訓練樣本更加平衡，避免模型過度偏重某些特定區間的特徵，有助於提升模型的泛化能力。</p>



<h3 class="wp-block-heading">資料一般化</h3>



<p class="wp-block-paragraph">在處理類別型資料時，資料一般化是類別型欄位最常用的清理方法。這個技巧的概念是將過於具體的類別合併成更廣泛的分組，既能簡化資料結構，又能提高模型的泛化能力。最典型的例子就是地理位置的一般化處理，我們可能原本有「台北市」、「新北市」、「桃園市」等詳細的城市資訊，但為了讓分析更有意義且減少雜訊，我們可以將這些具體位置一般化為「北部地區」、「中部地區」、「南部地區」等更廣泛的分類。這樣不僅減少了類別的數量，降低了模型的複雜度，也讓模型能夠學習到更穩定和可靠的地域特徵模式。</p>



<p class="wp-block-paragraph">完成了資料轉換後，我們還需要考慮如何讓資料量更適合模型訓練的需求，這就進入了資料精簡的階段。</p>



<h2 class="wp-block-heading">3.4 資料精簡技術</h2>



<p class="wp-block-paragraph">即使經過清理和轉換，我們的資料集可能仍然過於龐大或複雜，就像一個裝滿雜物的倉庫，需要進一步整理才能有效利用。在機器學習的實務應用中，資料精簡不僅能提升模型訓練的效率，還能改善模型的效果和穩定性，避免過度擬合的問題。</p>



<h3 class="wp-block-heading">記錄精簡（Record Reduction）</h3>



<p class="wp-block-paragraph">記錄精簡的核心概念是減少資料的數量，但保留最有價值的資訊。首先要處理的是移除重複的資料列，這些重複記錄就像是同一張照片的多個副本，不僅佔用儲存空間和計算資源，還可能讓模型對某些特定模式產生過度偏好，影響學習的公正性。去除重複資料後，我們還需要從剩餘的資料中僅保留具代表性的樣本，就像從一大群人中挑選代表參加會議一樣，要確保選出的樣本能夠反映整體的特徵分布和變異情況。這種選擇性的資料精簡能夠在保持資料多樣性的同時，大幅提升訓練效率。</p>



<h3 class="wp-block-heading">屬性值精簡（Value Reduction）</h3>



<p class="wp-block-paragraph">在處理類別型欄位時，我們經常會遇到一些出現頻率極低的屬性值。這些稀少的類別就像是偶爾出現的訪客，對整體分析的貢獻有限，卻會增加模型的複雜度並可能導致過度擬合。最有效的處理方式是將類別型欄位中出現極少的屬性值合併成一類，通常命名為「其他」或「雜項」。這種做法不僅簡化了資料結構，減少了需要學習的參數數量，還能讓模型更專注於學習那些真正重要且具有統計意義的主要類別特徵，提升模型的穩定性和可靠性。</p>



<h3 class="wp-block-heading">屬性擴充</h3>



<p class="wp-block-paragraph">雖然叫做「精簡技術」，但有時候我們需要透過整合既有資料來創造新的、更有意義的屬性。這就像是將散落的積木組合成更完整的作品。在實務應用中，內部資料統整是常見的屬性擴充方式，最典型的例子是將客戶的個別交易紀錄加總計算出「每月消費總額」、「平均單筆消費金額」或「購買頻率」等衍生指標。這些新創建的屬性往往比原始的單筆交易記錄更能反映客戶的消費行為模式和偏好，為模型提供更有價值和更具預測力的學習資料。</p>



<p class="wp-block-paragraph">經過資料精簡處理後，我們通常會得到一個更乾淨、更集中的資料集，但有時候這個資料集可能仍然很大，這時就需要考慮抽樣技術了。</p>



<h2 class="wp-block-heading">3.5 抽樣方法</h2>



<p class="wp-block-paragraph">在大數據時代，我們經常面臨資料量過於龐大的挑戰。就像要了解一鍋湯的味道，我們不需要喝完整鍋，只需要嚐一小口就能判斷。抽樣方法的目的就是利用少量樣本推估整體母體的特性，既能保持統計的準確性，又能大幅提升處理效率。在機器學習的實務應用中，適當的抽樣策略能讓我們在合理的時間和運算資源限制內完成模型訓練，同時維持模型的效果。</p>



<h3 class="wp-block-heading">分層抽樣</h3>



<p class="wp-block-paragraph">在所有抽樣方法中，分層抽樣是最能確保樣本代表性的技術之一。分層抽樣的核心概念是針對具有高同質性但互不重疊的群體分別進行抽樣，能確保各群體都有代表性。想像一下，如果我們要調查全國民眾對某項政策的看法，直接隨機抽樣可能會導致某些地區或年齡層的民眾比例失衡，讓調查結果出現偏差。使用分層抽樣的話，我們可以先將民眾依據地區、年齡、職業等重要特徵分成不同的層次，再從每一層中抽取適當比例的樣本。這樣能夠確保最終的樣本在各個重要特徵上都具有足夠的代表性，讓分析結果更能反映真實的母體情況，避免某些少數群體被忽略或某些多數群體被過度代表的問題。</p>



<p class="wp-block-paragraph">透過這種精密的抽樣設計，我們不僅能有效控制資料處理的規模和成本，還能確保機器學習模型在訓練過程中接觸到各種不同類型的樣本，避免產生偏差或過度擬合的問題，提升模型在真實世界應用時的可靠性和穩定性。</p>



<p class="wp-block-paragraph">經過完整的資料預處理與品質管理流程後，我們的原始資料已經轉變成適合機器學習模型使用的高品質資料集。從最初的資料類型識別，到清理各種品質問題，再到轉換資料格式、精簡資料規模，最後透過科學的抽樣方法選取訓練樣本，每一個步驟都是為了讓機器學習模型能夠學習到最準確、最有用的知識。這個紮實的基礎工作雖然耗時，但卻是成功建立可靠人工智慧系統不可或缺的重要環節，也是 AI 應用規劃師必須熟練掌握的核心技能之一。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<h1 class="wp-block-heading">4. 模型評估與性能指標</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-3-1024x576.png" alt="" class="wp-image-11289" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-3-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-3-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-3-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-3.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">在機器學習中，建立好模型之後，最重要的就是評估它的表現好不好。就像我們考試後要看成績一樣，機器學習模型也需要透過各種方法來測試它的能力。在這個章節中，我們將學習如何正確地評估模型，以及遇到問題時該如何解決。</p>



<h2 class="wp-block-heading">4.1 資料分割</h2>



<p class="wp-block-paragraph">想像一下，如果我們要測試一個學生的數學能力，絕對不能用他練習過的題目來考試，因為這樣測不出他真正的實力。機器學習也是同樣的道理，我們需要把資料分成不同的部分，才能真正了解模型的表現。</p>



<p class="wp-block-paragraph"><strong>訓練資料 (Training Data)</strong> 就像是學生的練習題，專門用來訓練模型學習各種規律和模式。模型會透過這些資料來調整自己內部的參數，就像學生透過練習題來熟悉解題方法一樣。這部分的資料佔總資料的大部分，通常是70%到80%。</p>



<p class="wp-block-paragraph">然而，光有練習是不夠的，我們還需要真正的考試來檢驗學習成果。<strong>測試資料 (Test Data)</strong> 就扮演著期末考的角色，專門用來評估模型在完全沒見過的資料上能有多好的表現。這個部分非常關鍵，因為它不能用於訓練或調整模型，必須保持「乾淨」的狀態，才能給出公正的評分。</p>



<p class="wp-block-paragraph">除了基本的訓練測試分割，還有一個更精密的方法叫做 <strong>K-fold 交叉驗證</strong>。以 <strong>5-fold</strong> 為例，我們把所有資料分成5等份，然後進行5輪的訓練和測試。每一輪都用其中4份來訓練模型，剩下1份來測試，這樣總共會得到5個不同的測試結果。透過這種方法，我們可以更全面地了解模型的穩定性，就像一個學生考了5次不同的測驗，我們就能更準確地評估他的真實水準。</p>



<h2 class="wp-block-heading">4.2 分類評估指標</h2>



<p class="wp-block-paragraph">當我們要評估一個分類模型的好壞時，就像醫生診斷病人一樣，我們需要知道模型預測的準確程度。這時候就需要用到各種評估指標，它們就像是不同角度的成績單，告訴我們模型在哪些方面表現好，哪些方面需要改進。</p>



<p class="wp-block-paragraph"><strong>混淆矩陣相關指標</strong> 是最基本也最重要的評估工具。首先我們來了解幾個關鍵概念：TP (True Positive) 代表正確預測為正例的數量，TN (True Negative) 代表正確預測為負例的數量，FP (False Positive) 代表錯誤預測為正例的數量，FN (False Negative) 代表錯誤預測為負例的數量。</p>



<p class="wp-block-paragraph"><strong>精確率 (Precision)</strong> 的計算公式是 TP / (TP + FP)，它告訴我們在所有預測為正例的案例中，有多少是真正正確的。就像一個醫生說100個人有病，結果真的有90人有病，那精確率就是90%。這個指標特別重要當我們不希望有太多誤報的時候，比如垃圾郵件過濾或者疾病診斷。</p>



<p class="wp-block-paragraph"><strong>召回率 (Recall)</strong> 的計算公式是 TP / (TP + FN)，它衡量的是在所有實際為正例的案例中，我們成功找到了多少。延續上面的例子，如果實際有100個病人，醫生成功診斷出其中80個，那召回率就是80%。當我們不希望漏掉重要案例時，比如癌症篩檢或者詐騙偵測，召回率就變得非常重要。</p>



<p class="wp-block-paragraph"><strong>準確率 (Accuracy)</strong> 的計算公式是 (TP + TN) / (TP + TN + FP + FN)，這是最直觀的指標，代表所有預測中正確的比例。不過要注意的是，當資料不平衡時（比如1000個案例中只有10個是正例），準確率可能會產生誤導，因為即使模型什麼都不做，只要都預測為負例，準確率也能達到99%。</p>



<p class="wp-block-paragraph">除了這些基本指標，我們還有更進階的評估方法。<strong>ROC 曲線</strong> 是一個非常有用的視覺化工具，它繪製的是 TPR (真陽性率，也就是召回率) 對 FPR (假陽性率) 的關係圖。想像這是一個座標系，橫軸是誤報率，縱軸是正確檢出率，理想的模型會儘量接近左上角，代表高檢出率但低誤報率。</p>



<p class="wp-block-paragraph"><strong>AUC (Area Under the Curve)</strong> 則是ROC曲線下方的面積，範圍從0到1。AUC值為0.5就代表模型的表現跟隨機猜測一樣，沒有任何預測能力；AUC值越接近1，表示模型的辨別能力越強。一般來說，AUC超過0.7就算是可接受的模型，超過0.8算是好模型，超過0.9就是優秀的模型了。</p>



<h2 class="wp-block-heading">4.3 模型問題診斷</h2>



<p class="wp-block-paragraph">在模型訓練和評估的過程中，我們經常會遇到一些問題，就像醫生看病時會遇到各種症狀一樣。學會診斷這些問題並找出解決方法，是成為機器學習專家的關鍵技能。</p>



<p class="wp-block-paragraph"><strong>過度擬合 (Overfitting)</strong> 是最常見的問題之一，就像一個學生死背題目答案，雖然練習題都做得很好，但遇到新題目就不會了。具體來說，過度擬合的現象是模型在訓練資料上的準確度很高，甚至可能達到100%，但在測試資料上的表現卻很差。這是因為模型過度學習了訓練資料中的特殊細節和噪音，而不是真正的規律和模式。</p>



<p class="wp-block-paragraph">造成過度擬合的原因有很多，最主要的是模型太複雜，參數太多，就像用一個1000度的多項式去擬合10個資料點一樣，雖然能完美通過每個點，但對新資料的預測能力會很差。另一個原因是訓練資料太少，模型沒有足夠的範例來學習真正的規律，只能記住現有的資料。</p>



<p class="wp-block-paragraph">除了過度擬合，我們還需要注意 <strong>訓練與測試差異</strong> 的問題。如果數值型屬性在訓練集與測試集的分佈差異過大，就會導致模型的準確度大幅下滑。這就像一個學生只練習過簡單的加法，突然考試時遇到複雜的微積分，當然會表現很差。比如說，如果訓練資料中的年齡都在20-30歲之間，但測試資料中的年齡卻在60-70歲之間，模型就很難做出準確的預測。</p>



<p class="wp-block-paragraph">要發現這些問題，最重要的是要仔細觀察訓練過程中的學習曲線。如果訓練準確率持續上升，但驗證準確率卻開始下降或停滯，這就是過度擬合的明顯徵象。同時，我們也要檢查資料的統計特性，確保訓練集和測試集在各個屬性上的分佈都相近。</p>



<h2 class="wp-block-heading">4.4 正則化技術</h2>



<p class="wp-block-paragraph">當我們發現模型出現過度擬合的問題時，就需要採取一些技術來解決。<strong>正則化技術</strong> 就像是給模型加上一些限制條件，防止它過度複雜化，確保它學到的是真正有用的規律而不是無意義的細節。</p>



<p class="wp-block-paragraph"><strong>L1 正則化</strong> 是一種常用的方法，它的原理是在原本的損失函數中加入權重絕對值總和作為懲罰項。想像模型的每個權重都要付「稅」，權重越大，稅就越重。這樣模型就會傾向於使用較小的權重，甚至會把一些不重要的權重直接設為0，達到特徵選擇的效果。這就像一個公司在成本控制下，會自然地淘汰不必要的部門和職位。</p>



<p class="wp-block-paragraph"><strong>L2 正則化</strong> 的做法類似，但它加入的是權重平方和作為懲罰項。與L1不同的是，L2正則化不會讓權重變成0，而是讓所有權重都變小。這種方法特別適合處理多重共線性的問題，就像把所有相關的特徵都保留，但降低它們的影響力，避免任何一個特徵過度主導模型的決策。</p>



<p class="wp-block-paragraph"><strong>Dropout</strong> 是專門針對神經網路設計的正則化技術。它的做法是在訓練過程中隨機將某些神經元設為0，強迫模型不能過度依賴特定的神經元。這就像一個團隊中隨機讓某些成員請假，迫使整個團隊培養更好的協作能力和冗余機制。Dropout通常在訓練時使用，但在預測時會關閉，讓所有神經元都參與計算。</p>



<p class="wp-block-paragraph">需要特別注意的是，<strong>梯度下降</strong> 雖然也是模型訓練中的重要技術，但它是一種最佳化方法，用來尋找最佳的模型參數，而不是正則化技術。梯度下降就像是在山上尋找最低點的過程，它告訴我們往哪個方向走才能讓損失函數最小，但它本身並不能防止過度擬合。</p>



<p class="wp-block-paragraph">透過適當運用這些正則化技術，我們可以建立出既準確又穩定的模型。關鍵是要根據具體的問題和資料特性來選擇合適的方法，有時候甚至需要組合多種技術才能達到最佳效果。記住，機器學習的目標不是讓模型在訓練資料上表現完美，而是要讓它在現實世界的新資料上也能有良好的表現。</p>



<h1 class="wp-block-heading">5. 深度學習與神經網路：從基礎概念到現代應用</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-4-1024x576.png" alt="" class="wp-image-11290" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-4-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-4-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-4-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-4.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">5.1 神經網路基礎</h2>



<p class="wp-block-paragraph">想要了解深度學習，我們首先要搞清楚神經網路到底是什麼東西。簡單來說，神經網路就像是模仿人類大腦運作方式的一種電腦程式。就像我們的大腦有很多神經元互相連接，神經網路也是由許多人工神經元組成的網狀結構。</p>



<h3 class="wp-block-heading">與傳統機器學習的區別</h3>



<p class="wp-block-paragraph">傳統的機器學習方法就像是教一個小朋友認識動物，我們需要先告訴他「狗有四條腿、有毛、會叫」這些特徵，然後他才能學會分辨狗和貓。但是神經網路就不一樣了，它可以透過多層結構自動學習這些複雜特徵。你只要給它看很多狗和貓的照片，它就能自己找出區別的方法，甚至發現一些我們人類沒注意到的細微差異。</p>



<p class="wp-block-paragraph">這種能力特別適合處理非線性數據，什麼是非線性數據呢？想像一下畫一條直線來區分兩種東西，如果畫得出來就是線性的，畫不出來就是非線性的。現實世界的數據大多都是非線性的，像是語音、影像、文字等等，傳統方法很難處理，但神經網路卻能輕鬆應付。</p>



<p class="wp-block-paragraph">不過神經網路也有個缺點，就是需要大量數據支持。就像小朋友要看過很多狗狗的照片才能準確認出狗狗一樣，神經網路也需要餵給它大量的範例資料才能學得好。如果數據太少，它可能會學得不夠準確，甚至出現過度學習（Overfitting）的問題。</p>



<h2 class="wp-block-heading">5.2 深度學習模型類型</h2>



<p class="wp-block-paragraph">了解了神經網路的基本概念後，我們來看看現在有哪些不同類型的深度學習模型。這些模型就像是不同的工具，每一種都有它擅長的任務。</p>



<h3 class="wp-block-heading">生成式 AI 模型</h3>



<p class="wp-block-paragraph">近年來最火紅的就是生成式 AI 模型了，這類模型的特色是能夠「創造」新的內容，而不只是分析或分類現有的資料。</p>



<p class="wp-block-paragraph">首先是 GAN（Generative Adversarial Networks，生成對抗網絡）。GAN 的運作原理很有趣，就像是一場永不停歇的貓抓老鼠遊戲。它包含兩個部分：生成器和判別器。生成器就像是一個偽造者，專門生成假的資料；判別器則像是鑑定專家，專門分辨真假。透過生成器與判別器的對抗過程，生成器會越來越會做假，判別器也會越來越會分辨，最終生成器就能產出非常逼真的資料了。</p>



<p class="wp-block-paragraph">接下來是 VAE（Variational Autoencoder，變分自編碼器）。VAE 結合了自編碼器和機率理論，它的工作方式比較像是先把資料壓縮成一個小小的密碼，然後再從這個密碼重建出原來的資料。通過這個過程，VAE 學會了如何用簡潔的方式表達複雜的資料，並且能夠生成新的、類似的內容。</p>



<p class="wp-block-paragraph">在圖像生成領域最成功的要算是擴散模型（Diffusion Models）了。你可能聽過 DALL-E 或 Stable Diffusion 這些能夠根據文字描述生成圖片的神奇工具，它們背後用的就是擴散模型技術。擴散模型的概念就像是把一張清晰的照片慢慢加上雜訊變成雪花點，然後學會如何把雪花點反向處理變回清晰的照片。</p>



<h3 class="wp-block-heading">非深度學習模型</h3>



<p class="wp-block-paragraph">雖然我們在談論深度學習，但也不能忽略一些傳統但依然有用的方法。SVM（Support Vector Machine，支持向量機）就是其中的佼佼者。SVM 是傳統機器學習算法，主要用於分類和迴歸任務。它的基本想法就是在數據中找到一條最佳的分界線，讓不同類別的資料能夠清楚分開。雖然 SVM 不是深度學習，但在某些特定情況下，它的表現仍然非常出色，而且計算速度快、需要的資料量也比較少。</p>



<h2 class="wp-block-heading">5.3 現代架構</h2>



<p class="wp-block-paragraph">從傳統的神經網路發展到現在，有兩個重要的現代架構概念改變了整個遊戲規則，讓深度學習能夠處理更複雜的任務。</p>



<h3 class="wp-block-heading">Transformer 模型</h3>



<p class="wp-block-paragraph">首先要介紹的是 Transformer 模型，它可以說是現代 AI 發展的關鍵技術。Transformer 的核心技術是注意力機制（Attention Mechanism）。什麼是注意力機制呢？想像你在讀一篇文章，當你讀到某個詞的時候，你的大腦會自動去注意跟這個詞相關的其他詞彙，這就是注意力的概念。</p>



<p class="wp-block-paragraph">傳統的神經網路處理文字時必須按照順序一個字一個字讀，就像我們看書必須從左到右一樣。但是 Transformer 可以同時看整個句子，並且知道每個詞之間的關係有多重要。這種能力讓它在理解語言的語義和上下文方面表現得特別好。</p>



<p class="wp-block-paragraph">正因為這個優勢，Transformer 成為了大型語言模型的基礎架構。你可能聽過 GPT、BERT 這些名字，它們都是建立在 Transformer 架構之上的。可以說，沒有 Transformer，就沒有現在我們看到的這些聰明的 AI 助手。</p>



<h3 class="wp-block-heading">端到端學習</h3>



<p class="wp-block-paragraph">最後要談的是端到端學習（End-to-End Learning）這個重要概念。過去我們要讓電腦處理複雜任務時，通常需要把問題分解成很多小步驟，每一步都要人工設計特定的處理方法。比如說要讓電腦識別照片中的物體，我們可能需要先找邊緣、再找形狀、然後分析紋理等等，每一步都需要工程師精心設計。</p>



<p class="wp-block-paragraph">但是端到端學習改變了這個做法，它能夠直接從原始輸入處理到最終輸出，中間的所有步驟都讓神經網路自己學習。這就像是給一個人看很多照片和對應的標籤，讓他自己摸索出識別的方法，而不是教他一堆規則。這種方法與傳統使用工程化特徵的方法完全不同，不但簡化了開發流程，往往還能得到更好的效果。</p>



<p class="wp-block-paragraph">端到端學習的成功，標誌著我們從「教電腦怎麼做」轉變為「讓電腦自己學會怎麼做」的重大轉折。這個轉變不只是技術上的進步，更代表了我們對於人工智慧本質理解的深化，為未來更智慧、更靈活的 AI 系統奠定了堅實的基礎。</p>



<h1 class="wp-block-heading">6. AI 應用與實務案例</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-5-1024x576.png" alt="" class="wp-image-11291" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-5-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-5-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-5-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-5.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">在進入實務應用之前，我們需要先理解人工智慧的基本分類和運作方式。人工智慧技術依照功能特性，可以分為兩大類型：鑑別式AI和生成式AI。這兩種類型各有不同的強項和應用場景，了解它們的差異，能幫助我們選擇最適合的技術來解決實際問題。</p>



<h2 class="wp-block-heading">6.1 鑑別式 vs 生成式 AI</h2>



<p class="wp-block-paragraph"><strong>鑑別式人工智慧</strong>是一種專門用來「辨認和分類」的AI技術。就像是一位經驗豐富的醫生，能夠從X光片中判斷病人是否有骨折，或是像銀行的風險管理專員，能從客戶的信用資料中判斷是否應該放款。鑑別式AI的核心功能是從大量資料中辨識出特定的模式，然後進行分類與預測。它的特徵在於能夠準確地從資料中辨識出樣本所屬的分類，但是它無法生成全新的內容，只能針對現有的資料進行分析、分類和預測工作。</p>



<p class="wp-block-paragraph">相對於鑑別式AI的分析特性，<strong>生成式人工智慧</strong>則展現了「創造」的能力。它就像是一位多才多藝的藝術家，不僅能理解現有的作品，還能創作出全新的內容。生成式AI的主要應用包括創建合成數據樣本、生成文本內容，以及模擬各種數據分佈。不過需要注意的是，並非所有AI應用都屬於生成式範疇，例如分類醫學影像這類工作，實際上是鑑別式AI的應用領域，因為它專注於辨識和分類，而非生成新內容。</p>



<p class="wp-block-paragraph">這兩種AI技術並不是互相競爭的關係，而是能夠協作互補的夥伴。<strong>協作案例</strong>的典型應用就是自動駕駛系統的開發。在這個應用中，生成式AI負責模擬各種複雜的交通場景，包括不同天氣條件、路況變化、行人行為等情況，創造出豐富多樣的訓練資料。接著，鑑別式AI則利用這些模擬資料來訓練自動駕駛模型，學習如何在真實環境中正確識別路標、行人、其他車輛，並做出適當的駕駛決策。</p>



<h2 class="wp-block-heading">6.2 自然語言處理 (NLP)</h2>



<p class="wp-block-paragraph">從AI的基本分類開始，我們現在深入探討其中一個最重要的應用領域：自然語言處理。自然語言處理讓電腦能夠理解和處理人類的語言，就像是為電腦安裝了一套語言理解系統，讓機器能夠與人類進行更自然的溝通。</p>



<p class="wp-block-paragraph"><strong>核心技術</strong>方面，自然語言處理涵蓋了多個重要的技術領域。首先是語音識別技術，它能將人類的語音轉換成文本，這項技術廣泛應用在語音助理系統中，讓我們可以直接對手機或智慧音箱說話來下達指令。接下來是自然語言生成技術，它能夠生成流暢、自然的文本內容，這項技術是聊天機器人能夠與用戶進行對話的關鍵。機器翻譯則是另一項重要應用，它能夠自動翻譯不同語言之間的內容，大大促進了多語言溝通的便利性。最後是<strong>語意分析</strong>技術，這是理解文本真正含義的核心技術，主要用於情感分析、文本分類，以及問答系統等應用場景。</p>



<p class="wp-block-paragraph">在理解這些核心技術的運作方式時，我們需要掌握一些<strong>重要概念</strong>。Token是自然語言處理中的基本單位概念，可以想像成是文本的最小處理單元，通常是一個完整的單詞或是單詞的一部分。就像是將一本書拆解成一個個的字詞，電腦才能逐一處理和理解內容。另一個關鍵概念是Function Calling，這項技術讓大型語言模型具備了呼叫外部API和工具的能力，就像是為AI助理配備了各種專業工具，讓它能夠執行更多樣化的任務，而不僅僅是回答問題。</p>



<h2 class="wp-block-heading">6.3 電腦視覺</h2>



<p class="wp-block-paragraph">自然語言處理讓電腦理解文字和語音，而電腦視覺則讓電腦擁有了「看」的能力。電腦視覺技術讓機器能夠處理和理解影像資料，就像是為電腦裝上了一雙智慧的眼睛。</p>



<p class="wp-block-paragraph"><strong>應用場景</strong>中最貼近日常生活的例子就是超市的自動結帳系統。想像一下，當你在超市購物時，只需要將商品放入購物車，系統就能自動檢測出每件商品是什麼，並且立即進行計價收費，完全不需要人工掃描條碼或手動輸入。這整個過程的<strong>主要技術</strong>就是電腦視覺，系統透過攝影機拍攝的影像，運用深度學習演算法來識別不同的商品，判斷商品的種類、數量和價格，然後自動完成結帳流程。這不僅大幅提升了購物效率，也減少了人工作業的錯誤率。</p>



<h2 class="wp-block-heading">6.4 聯邦學習</h2>



<p class="wp-block-paragraph">從個別技術應用轉向更複雜的協作學習機制，聯邦學習代表了一種全新的AI訓練方式。傳統的機器學習需要將所有資料集中到同一個地方進行訓練，但聯邦學習打破了這個限制，讓分散在不同地點的資料能夠共同參與模型訓練，同時保護資料的隱私和安全。</p>



<p class="wp-block-paragraph"><strong>模型聚合目的</strong>是聯邦學習的核心機制。在這個過程中，中央伺服器會將各個客戶端回傳的模型參數進行整合，形成一個更新、更強大的全域模型。就像是集合眾人智慧的過程，每個參與者都貢獻自己的學習成果，最終形成一個比任何單一參與者都更優秀的整體模型。</p>



<p class="wp-block-paragraph">聯邦學習的運作可以分為四個清楚的<strong>階段劃分</strong>。首先是初始模型下發階段，中央伺服器會提供一個基礎的初始模型給所有參與的客戶端，這就像是給每個學習者發放同樣的教材。接下來進入本地訓練階段，各個客戶端會使用自己的本地資料來訓練這個模型，每個參與者都根據自己的資料特性來改進模型。然後是參數回傳階段，各客戶端會將訓練後的模型參數上傳回中央伺服器，但重要的是只傳送參數而不傳送原始資料，這樣就能保護資料隱私。最後是模型聚合階段，中央伺服器會整合所有收到的參數，創造出一個融合了所有參與者學習成果的新模型，然後這個新模型又可以作為下一輪訓練的基礎，形成持續改進的循環。</p>



<p class="wp-block-paragraph">透過這樣的機制，聯邦學習不僅解決了資料隱私的問題，也讓原本因為資料分散而無法進行大規模訓練的情況成為可能，為AI技術的應用開啟了更廣闊的可能性。</p>



<h1 class="wp-block-heading">7. AI 治理與倫理</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-6-1024x576.png" alt="" class="wp-image-11292" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-6-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-6-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-6-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-6.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">隨著人工智慧技術在我們生活中扮演越來越重要的角色，從智慧型手機的語音助理到自動駕駛汽車，從醫療診斷系統到金融風險評估，AI 已經深入到社會的各個層面。然而，技術的快速發展也帶來了前所未有的挑戰和風險。我們不能只關注 AI 技術能夠做什麼，更需要思考它應該如何被使用，以及如何確保這些強大的技術能夠以符合人類價值和社會利益的方式來運作。這就是為什麼 AI 治理與倫理成為當今最重要的議題之一。</p>



<h2 class="wp-block-heading">7.1 AI 透明度</h2>



<p class="wp-block-paragraph">當我們談到 AI 透明度時，指的是 AI 決策過程的可解釋性和可理解性。想像一下，如果你去銀行申請貸款，銀行使用 AI 系統來決定是否批准你的申請，但是當你被拒絕時，銀行卻無法告訴你具體的原因，只說「AI 系統認為你不符合條件」。這種情況就是缺乏透明度的典型例子。</p>



<p class="wp-block-paragraph">在現實世界中，許多 AI 系統都面臨著「黑箱」問題。這些系統雖然能夠產生準確的預測結果，但它們的決策過程往往非常複雜，連開發者本身都難以完全理解。深度學習神經網路就是一個典型的例子，它可能包含數百萬個參數和複雜的非線性關係，使得追蹤其決策邏輯變得極其困難。</p>



<p class="wp-block-paragraph">然而，在許多重要的應用場景中，我們不能僅僅滿足於「AI 說對了」這樣的結果。特別是在醫療診斷、司法判決、金融信貸等攸關人們基本權益的領域，決策的透明度變得至關重要。醫生需要理解 AI 診斷系統的推理過程來驗證其合理性，法官需要了解風險評估系統的判斷依據，銀行客戶有權知道貸款被拒絕的具體原因。</p>



<p class="wp-block-paragraph">因此，AI 透明度不僅是技術問題，更是建立社會信任的基礎。當人們能夠理解 AI 系統的決策邏輯時，他們更容易接受和信任這些系統的判斷，也更能夠在必要時對其進行挑戰和糾正。這也推動了可解釋 AI（Explainable AI，XAI）領域的發展，致力於開發能夠解釋自身決策過程的 AI 系統。</p>



<h2 class="wp-block-heading">7.2 負責任 AI</h2>



<p class="wp-block-paragraph">建立 AI 透明度只是確保 AI 系統可靠性的第一步，更重要的是確保這些系統能夠以負責任的方式運作。負責任 AI 的概念涵蓋了多個重要層面，其中偏見緩解和責任歸屬是兩個核心要素。</p>



<p class="wp-block-paragraph"><strong>偏見緩解</strong>是確保 AI 不對特定群體產生不公平結果的關鍵機制。AI 系統的偏見通常來自於訓練資料中隱含的社會偏見。例如，如果一個招聘 AI 系統是用過去的招聘紀錄來訓練的，而這些紀錄反映了歷史上存在的性別或種族歧視，那麼 AI 系統就可能學習並延續這些偏見，在未來的招聘決策中對某些群體產生系統性的不公平對待。</p>



<p class="wp-block-paragraph">類似的問題也出現在其他領域。刑事司法系統中的風險評估工具可能對特定種族群體產生偏見，導致不公平的判決結果。醫療 AI 系統如果主要用某一族群的資料來訓練，可能在診斷其他族群的疾病時表現較差。金融 AI 系統可能因為歷史資料的限制而對女性或少數群體的信用評估產生偏見。</p>



<p class="wp-block-paragraph"><strong>責任歸屬</strong>是負責任 AI 的另一個核心原則，明確指出 AI 系統行為的主要責任歸屬於開發者、部署者和管理者等相關人員。這個原則特別重要，因為它防止了「演算法責任稀釋」的問題。當 AI 系統出現錯誤或造成損害時，相關責任方不能簡單地將責任推給「AI 自己的判斷」，而必須承擔相應的法律和道德責任。</p>



<p class="wp-block-paragraph">這種責任歸屬機制確保了人類在 AI 決策鏈中始終保持最終控制權和責任感。它要求 AI 系統的開發者在設計階段就要考慮潛在的風險和後果，部署者需要確保系統在適當的環境中使用，管理者則需要建立有效的監督和糾錯機制。</p>



<h2 class="wp-block-heading">7.3 國際合作的重要性</h2>



<p class="wp-block-paragraph">隨著 AI 技術影響力的擴大，我們逐漸意識到 AI 治理不能僅靠單一國家或組織的努力，而需要全球範圍內的協調合作。AI 技術的無國界特性和其潛在的全球性影響，使得國際合作成為有效治理的必要條件。</p>



<p class="wp-block-paragraph">國際合作在 AI 治理中的重要性首先體現在統一 AI 發展標準的需求上。目前，不同國家和地區對於 AI 系統的安全性、可靠性和倫理性要求存在差異，這不僅增加了跨國 AI 服務的複雜性，也可能導致「標準競次」的問題，即各國為了吸引 AI 產業而放寬標準。通過國際合作建立統一或相容的標準框架，可以確保 AI 技術在全球範圍內都能滿足基本的安全和倫理要求。</p>



<p class="wp-block-paragraph">其次，國際合作有助於避免 AI 技術的濫用。某些 AI 技術如果被惡意使用，可能對全球安全和穩定造成威脅。例如，自主武器系統的開發、大規模監控技術的擴散，或者用於網路攻擊的 AI 工具等。這些威脅往往具有跨國性質，需要國際社會的共同努力來預防和應對。</p>



<p class="wp-block-paragraph">最後，國際合作也能促進 AI 技術的轉移和共享，讓更多國家和地區能夠受益於 AI 發展的成果。這種合作不僅有助於縮小全球數位落差，也能夠集合世界各國的智慧和資源來解決人類面臨的共同挑戰，如氣候變化、疾病防治、貧困消除等全球性問題。</p>



<h2 class="wp-block-heading">7.4 歐盟人工智慧法 (AI Act)</h2>



<p class="wp-block-paragraph">在國際 AI 治理的實踐中，歐盟人工智慧法（AI Act）是一個具有重大意義的里程碑。這部於 2021 年提出並在後續年份中不斷完善的法律，是全球首部全面性的 AI 監管法規，為世界各國的 AI 治理提供了重要的參考模式。</p>



<p class="wp-block-paragraph"><strong>風險分級制度</strong>是 AI Act 的核心創新，它摒棄了「一刀切」的監管方式，而是根據 AI 應用可能造成的風險程度來制定相應的監管要求。這種分級方式既能確保高風險應用得到嚴格管控，又能避免過度監管阻礙技術創新，體現了監管的精準性和靈活性。</p>



<p class="wp-block-paragraph"><strong>不可接受風險</strong>類別代表了歐盟認為應該完全禁止的 AI 應用。社會信用評分系統是其中最受關注的例子，特別是那些基於年齡、缺陷、種族等個人特徵來評定社會價值的系統。這類系統被認為根本性地違反了人類尊嚴和基本人權原則，無論技術多麼先進都不應該被允許。另一個被禁止的應用是公眾場所的遠程生物辨識系統，特別是用於執法目的的即時人臉識別系統。雖然這些技術在安全防護方面可能有其效用，但歐盟認為其對隱私權和行動自由的威脅過於嚴重，因此選擇了全面禁止的立場。</p>



<p class="wp-block-paragraph"><strong>高風險</strong>類別涵蓋了那些可能對人身安全、健康或基本權利造成重大負面影響的 AI 應用。自動駕駛車輛是一個典型例子，因為系統故障可能直接威脅到駕駛員、乘客和其他道路使用者的生命安全。醫療診斷系統同樣被歸類為高風險應用，因為錯誤的診斷可能導致患者接受不當治療或錯過最佳治療時機。對於這些高風險應用，AI Act 要求進行嚴格的風險評估、合規性測試、人工監督，以及持續的監控和報告。</p>



<p class="wp-block-paragraph"><strong>有限風險</strong>類別主要涉及那些需要向使用者披露其 AI 特性的系統。這類系統的風險相對較低，但仍需要確保使用者知道他們正在與 AI 互動，而不是與人類互動。例如，聊天機器人必須明確標示其 AI 身分，深度偽造內容必須清楚標註其人工生成的性質。</p>



<p class="wp-block-paragraph"><strong>小或低風險</strong>類別包括了絕大多數的日常 AI 應用，如推薦系統、垃圾郵件過濾器、基本的客戶服務機器人等。這些應用的監管要求相對寬鬆，主要依賴行業自律和自願性的倫理準則來確保合規。</p>



<h2 class="wp-block-heading">7.5 AI 安全風險</h2>



<p class="wp-block-paragraph">在理解了 AI 治理的制度框架後，我們需要深入探討 AI 技術可能帶來的具體安全風險。這些風險不僅是技術問題，更是可能影響整個社會穩定和公眾信任的重大挑戰。</p>



<p class="wp-block-paragraph"><strong>Deepfake 與假訊息</strong>問題充分體現了 AI 技術的雙刃劍特性。AI 能夠生成具有真實外觀的虛假影像與語音，這項技術本身具有許多正當和創新的用途。在娛樂產業中，它可以用來製作電影特效，讓已故演員「復活」參與新作品的拍攝。在教育領域，它可以創造歷史人物的虛擬形象來進行互動式教學。在醫療復健中，它可以幫助失聲患者重建個人化的語音。</p>



<p class="wp-block-paragraph">然而，同樣的技術也可能被惡意使用，對社會與輿論造成嚴重威脅。在政治領域，Deepfake 技術可能被用來製作政治人物的虛假言論，影響選舉結果或破壞國際關係。在社會層面，它可能被用來製作非經同意的不當內容，對個人名譽和心理健康造成嚴重傷害。在商業領域，它可能被用於詐騙和股市操縱，透過偽造企業高管的言論來影響股價。</p>



<p class="wp-block-paragraph">更深層的威脅在於，當 Deepfake 技術變得普及且容易使用時，可能會導致整個社會對真實資訊的信任度下降。人們可能開始懷疑所有的影像和音頻內容，即使是真實的資訊也可能被質疑為「可能是假的」。這種現象被稱為「真相衰變」或「資訊末日」，它不僅會破壞公眾討論的基礎，也會削弱民主社會中事實驗證和理性辯論的可能性。</p>



<p class="wp-block-paragraph">面對這些挑戰，我們需要從多個層面來建構防護機制。在技術層面，需要持續發展和改進 Deepfake 檢測技術，同時探索數位浮水印、區塊鏈驗證等內容真實性驗證方法。在法律層面，需要建立明確的法規來規範生成式 AI 技術的使用，並對惡意使用行為制定相應的懲罰措施。在教育層面，需要大幅提升公眾的媒體素養和批判思維能力，讓人們能夠更好地識別和應對假訊息。在社會層面，需要建立可信的資訊驗證機制和平台，讓公眾能夠便利地查證資訊的真實性。</p>



<h2 class="wp-block-heading">小結</h2>



<p class="wp-block-paragraph">AI 治理與倫理是人工智慧發展過程中不可迴避的重要議題。從確保 AI 決策過程的透明度，到建立負責任的 AI 開發和應用框架；從推動國際社會的協調合作，到制定具體可行的法規制度；從識別和防範各種安全風險，到建構社會整體的應對能力，這些都是確保 AI 技術能夠真正造福人類社會的必要條件。</p>



<p class="wp-block-paragraph">作為 AI 應用規劃師，我們不僅需要掌握技術層面的知識和技能，更需要具備深刻的倫理意識和社會責任感。在規劃和實施 AI 應用方案時，我們必須始終考慮技術對社會的潛在影響，確保我們的工作符合倫理標準和法律要求。只有這樣，我們才能真正發揮 AI 技術的正面價值，同時最大程度地避免其可能帶來的負面後果，為建構一個更加智慧、公平和安全的社會做出貢獻。</p>



<p class="wp-block-paragraph"></p>



<h1 class="wp-block-heading">8 統計學習與分析方法：從基礎到實務的完整指南</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-8-1024x576.png" alt="" class="wp-image-11294" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-8-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-8-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-8-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-8.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">在現今數位時代，資料分析已成為企業決策的重要依據。無論您是初學者還是想要深化理解的學習者，掌握統計學習與分析方法都是不可或缺的技能。本文將從最基礎的統計概念開始，循序漸進地帶您了解如何有效地處理和分析資料，並透過視覺化方法來呈現分析結果。</p>



<h2 class="wp-block-heading">8.1 統計基礎概念：理解資料的核心特性</h2>



<p class="wp-block-paragraph">要進行有效的資料分析，我們首先必須了解資料的基本特性。就像醫生診斷病人需要先測量體溫、血壓等基本生理指標一樣，分析資料也需要先掌握幾個重要的統計指標。這些指標主要分為兩大類：集中趨勢衡量和變異程度指標。</p>



<h3 class="wp-block-heading">集中趨勢衡量：找出資料的「中心點」</h3>



<p class="wp-block-paragraph">集中趨勢衡量就像是在一群人中找出「代表性人物」，它告訴我們資料大致集中在哪個數值附近。最常用的三種方法包括平均數（Mean）、中位數（Median）和眾數（Mode）。平均數是將所有數值加總後除以資料筆數，這是我們最熟悉的「平均值」概念。中位數則是將資料由小到大排列後，位於正中間的那個數值，它不會被極端值影響。眾數是資料中出現次數最多的數值，在了解消費者偏好或產品銷售狀況時特別有用。</p>



<p class="wp-block-paragraph">需要特別注意的是，標準差（Standard Deviation）並不屬於集中趨勢衡量，而是屬於下一個要討論的變異程度指標。這個區別很重要，因為它們分別回答了不同的問題：集中趨勢告訴我們「資料集中在哪裡」，而變異程度則告訴我們「資料分散的程度如何」。</p>



<h3 class="wp-block-heading">變異程度指標：評估資料的穩定性</h3>



<p class="wp-block-paragraph">了解了資料的中心位置後，接下來要關心的是資料的分散程度。標準差是最重要的變異程度指標，它衡量資料點與平均數之間的平均距離。在實際應用中，標準差具有重要的管理意義。例如在品質管理領域，當標準差顯著偏大時，這表示生產過程波動很大，產品品質不穩定。這就像是一個射箭手，如果每次射出的箭都落在靶心附近很小的範圍內，代表技術穩定；但如果箭散布在很大的範圍，就表示技術不夠穩定。</p>



<h2 class="wp-block-heading">8.2 特徵選取技術：從眾多變數中找出關鍵因子</h2>



<p class="wp-block-paragraph">當我們面對一個包含數十個甚至數百個變數的資料集時，就像面對一個裝滿不同物品的倉庫，我們需要找出其中最有價值的物品。特徵選取技術就是幫助我們從眾多變數中挑選出最重要、最具預測能力的變數的方法。</p>



<h3 class="wp-block-heading">常見的特徵選取方法</h3>



<p class="wp-block-paragraph">在眾多特徵選取方法中，皮爾森積差相關分析是最基礎也最常用的方法之一。它衡量兩個變數之間的線性相關程度，相關係數介於-1到1之間。當係數接近1時，表示兩個變數有很強的正相關；接近-1時表示強負相關；接近0則表示沒有線性關係。</p>



<p class="wp-block-paragraph">除了相關分析外，主成分分析（PCA）是另一個重要的技術。PCA不僅能夠進行特徵選取，還能同時進行降維和特徵提取。它的工作原理是將原本複雜的高維度資料轉換成較低維度的資料，同時保留大部分的資訊內容。這就像是將一個立體的雕塑用平面攝影的方式呈現，雖然失去了一些立體感，但仍能保留主要的視覺特徵。</p>



<p class="wp-block-paragraph">隨機森林（Random Forest）則提供了另一種特徵選取的思路。這個方法不是透過數學計算來評估變數重要性，而是透過機器學習演算法來提供特徵重要性評分。它會建立多個決策樹，然後統計每個變數在這些樹中的貢獻程度，從而判斷變數的重要性。</p>



<h3 class="wp-block-heading">需要注意的非特徵選取技術</h3>



<p class="wp-block-paragraph">值得注意的是，並非所有的統計方法都是特徵選取技術。迴歸分析雖然是資料分析中的重要工具，但它主要是一種預測建模技術，而不是專門的特徵選取方法。迴歸分析的目的是建立變數之間的關係模型，用來預測未知的結果，這與特徵選取的目標有所不同。</p>



<h2 class="wp-block-heading">8.3 視覺化方法：讓數據說話的藝術</h2>



<p class="wp-block-paragraph">統計分析的結果如果只是一堆數字，往往難以讓人快速理解。視覺化方法就像是資料的「翻譯員」，將複雜的數字轉換成直觀的圖形，讓人能夠一眼看出資料的特性和模式。</p>



<h3 class="wp-block-heading">能夠判斷中心趨勢的視覺化方法</h3>



<p class="wp-block-paragraph">在眾多視覺化方法中，有些特別適合用來判斷資料的中心趨勢。散點圖是最直觀的方法之一，它將每個資料點在圖上標示出來，讓我們能夠直接看出資料的分布情況和集中位置。箱型圖（Box Plot）則是另一個強大的工具，它不僅能顯示中位數的位置，還能同時呈現資料的四分位數、極值和異常值，提供了資料分布的完整圖像。</p>



<p class="wp-block-paragraph">直方圖則以長條圖的形式呈現資料的頻率分布，讓我們能夠清楚看出資料在不同數值區間的分布密度，進而判斷資料的中心趨勢和分布形狀。</p>



<h3 class="wp-block-heading">無法判斷中心趨勢的視覺化方法</h3>



<p class="wp-block-paragraph">然而，並非所有的視覺化方法都適合用來判斷中心趨勢。雷達圖（Radar Chart）雖然在某些情況下很有用，但它主要是用來比較多個項目在不同維度上的表現，而不是用來判斷單一變數的中心趨勢。雷達圖更適合用來做多變數的比較分析，例如比較不同產品在價格、品質、服務等多個面向的表現。</p>



<h2 class="wp-block-heading">8.4 資料品質與前處理的重要性：成功分析的基石</h2>



<p class="wp-block-paragraph">經過前面章節對統計方法和視覺化技術的介紹，我們可能會以為掌握這些技術就足以進行有效的資料分析。然而，實際上資料的品質和前處理工作往往決定了整個分析專案的成敗。正如建築物的品質取決於地基是否穩固，資料分析的成果也深深依賴於資料本身的品質。</p>



<h3 class="wp-block-heading">CRISP-DM：業界標準的分析流程</h3>



<p class="wp-block-paragraph">在資料分析領域，CRISP-DM（Cross-Industry Standard Process for Data Mining）是一個跨產業通用的資料探勘標準處理流程。這個流程強調了資料前處理在整個分析過程中的重要地位。CRISP-DM將資料探勘專案分為六個階段，其中資料理解和資料準備就佔了整個專案時間的大部分，這說明了資料品質控制的重要性。</p>



<h3 class="wp-block-heading">資料前處理的關鍵作用</h3>



<p class="wp-block-paragraph">高品質的資料能夠顯著提升後續模型訓練與預測效果，這是資料探勘成功與否的關鍵。想像一下，如果我們用髒污的鏡頭拍照，即使相機再高級，拍出來的照片品質也會大打折扣。同樣地，如果原始資料存在錯誤、缺失或不一致的問題，再先進的分析技術也無法產生可靠的結果。</p>



<p class="wp-block-paragraph">因此，在進行任何複雜的統計分析或機器學習之前，我們必須先投入充分的時間和精力來清理和準備資料。這包括處理缺失值、識別和處理異常值、統一資料格式、以及確保資料的一致性和完整性。</p>



<h3 class="wp-block-heading">屬性重要性的判斷依據</h3>



<p class="wp-block-paragraph">在資料前處理過程中，判斷哪些屬性重要、哪些可以捨棄，是一個需要謹慎考慮的問題。這個判斷通常依靠兩個重要來源：專家的經驗與直覺，以及機器學習演算法中的屬性重要性分析。專家憑藉對業務領域的深度了解，能夠識別出在理論上重要的變數；而機器學習演算法則能夠從資料中發現我們可能忽略的重要模式。</p>



<h3 class="wp-block-heading">資料精簡的平衡考量</h3>



<p class="wp-block-paragraph">最後，我們需要認識到資料精簡是一個需要平衡的過程。透過特徵選取和資料簡化，我們可能會有些微的準確度損失，但同時能大幅提升分析效率。這就像是在地圖上選擇適當的比例尺：太詳細會讓地圖難以使用，太簡化又可能遺漏重要資訊。關鍵在於根據分析目標找到最適合的平衡點。</p>



<h2 class="wp-block-heading">小結</h2>



<p class="wp-block-paragraph">統計學習與分析方法是一個既深且廣的領域，從基礎的統計概念到複雜的特徵選取技術，從直觀的視覺化呈現到嚴謹的資料前處理流程，每個環節都環環相扣，共同構築了現代資料科學的基礎架構。掌握這些方法不僅能幫助我們更好地理解資料，更能讓我們在面對複雜的商業問題時，有系統地找出有效的解決方案。記住，好的分析始於好的資料，而好的資料來自於細心的前處理工作。只有在紮實的基礎上，我們才能運用各種統計方法和視覺化技術，將隱藏在資料中的知識和洞察挖掘出來。</p>



<h1 class="wp-block-heading">9 統計學習 AI 應用實例：從垃圾郵件過濾談起</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-9-1024x576.png" alt="" class="wp-image-11295" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-9-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-9-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-9-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-9.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">當我們討論人工智慧（AI）的時候，很多人腦海中可能會浮現機器人或是會下圍棋的程式。但其實在我們的日常生活中，有一種叫做「統計學習 AI」的技術，早就默默地在幫我們處理各種問題了。這種技術的核心概念是透過大量的數據來學習規律，然後用這些學到的規律來預測或分類新的資料。</p>



<p class="wp-block-paragraph">統計學習 AI 最大的特色是它會從過去的經驗中學習，就像人類會從過去的經驗中學到什麼是好的、什麼是壞的一樣。當我們給它看夠多的例子後，它就能自己找出這些例子之間的共同特徵，並且運用這些特徵來判斷新遇到的情況。這種學習方式讓統計學習 AI 在處理大量重複性工作時特別有效，尤其是需要分類或預測的任務。</p>



<h2 class="wp-block-heading">代表應用：Spam Filter 垃圾郵件過濾系統</h2>



<p class="wp-block-paragraph">說到統計學習 AI 最成功的應用例子，垃圾郵件過濾系統（Spam Filter）絕對是其中的經典代表。每天我們的電子郵件信箱都會收到各式各樣的郵件，其中有些是我們真正需要的重要信件，但也有不少是廣告信、詐騙信或其他我們不想看到的垃圾郵件。如果要靠人工一封一封去檢查和分類，那將會是一個非常耗時且不切實際的工作。</p>



<p class="wp-block-paragraph">垃圾郵件過濾系統的運作原理其實很簡單，但卻非常聰明。首先，系統會收集大量已經被標記為「垃圾郵件」和「正常郵件」的範例。接著，它會分析這些郵件的各種特徵，比如說郵件的標題通常包含哪些關鍵字、寄件者的網域名稱、郵件內容的用詞習慣、是否包含可疑的連結等等。透過統計分析，系統會學習到垃圾郵件和正常郵件在這些特徵上的差異。</p>



<p class="wp-block-paragraph">經過訓練之後，當新的郵件送達時，過濾系統就會檢查這封郵件的各種特徵，然後根據之前學到的規律來計算這封郵件是垃圾郵件的機率。如果機率超過某個門檻，系統就會自動將這封郵件分類到垃圾郵件資料夾。這整個過程都是自動化的，不需要人工介入，而且隨著處理的郵件越來越多，系統的判斷準確度也會越來越高。</p>



<h2 class="wp-block-heading">非統計學習 AI 的其他典型例子</h2>



<p class="wp-block-paragraph">為了讓大家更清楚統計學習 AI 的特色，我們來看看其他幾種不是使用統計學習方法的 AI 系統。這些系統雖然同樣很聰明，但它們的運作原理和學習方式都跟統計學習 AI 有很大的不同。</p>



<h3 class="wp-block-heading">AlphaGo：強化學習的代表作</h3>



<p class="wp-block-paragraph">AlphaGo 是 Google DeepMind 開發的圍棋程式，它在 2016 年擊敗了世界圍棋冠軍李世乭，震驚了全世界。不過，AlphaGo 使用的技術叫做「強化學習」（Reinforcement Learning），這跟統計學習有著本質上的差異。強化學習的概念比較像是教小孩子學走路，系統會透過不斷的嘗試和錯誤來學習，每當它做出好的決定時就會得到獎勵，做出壞的決定時就會受到懲罰。</p>



<p class="wp-block-paragraph">AlphaGo 透過跟自己對弈數百萬局來學習圍棋策略，它不是單純地從大量棋譜中找出統計規律，而是透過實際的對弈經驗來學習什麼樣的下法會帶來勝利。這種學習方式讓它能夠發現一些連人類職業棋手都沒想到的創新下法，展現出了超越傳統統計學習方法的能力。</p>



<h3 class="wp-block-heading">MYCIN：符號邏輯專家系統的經典</h3>



<p class="wp-block-paragraph">MYCIN 是 1970 年代史丹佛大學開發的醫療診斷專家系統，它的目標是協助醫生診斷血液感染疾病並建議適當的抗生素治療。MYCIN 使用的技術叫做「符號邏輯」，這種方法是將專家的知識和經驗編寫成一系列的邏輯規則，然後透過邏輯推理來得出結論。</p>



<p class="wp-block-paragraph">舉例來說，MYCIN 會包含像是「如果病人有發燒症狀，而且血液檢查顯示白血球數量異常，那麼可能是細菌感染」這樣的規則。當面對新的病例時，系統會根據病人的症狀和檢查結果，按照預先設定的邏輯規則一步步推理，最終得出診斷建議。這種方法跟統計學習完全不同，它不需要大量的訓練資料，而是直接將專家的知識轉化為電腦可以理解的邏輯規則。</p>



<h3 class="wp-block-heading">Siri：多技術整合的現代語音助理</h3>



<p class="wp-block-paragraph">最後，我們來談談大家都很熟悉的 Siri。Siri 是蘋果公司開發的語音助理，它能夠理解我們說的話並且做出適當的回應。不過，Siri 並不是單純使用某一種 AI 技術，而是結合了多種不同的技術才能完成它的工作。</p>



<p class="wp-block-paragraph">當我們對 Siri 說話時，它首先需要將我們的語音轉換成文字，這個過程使用的是語音識別技術。接著，它要理解我們說的話是什麼意思，這需要用到自然語言處理技術。然後，根據我們的要求，它可能需要搜尋資訊、設定提醒、播放音樂等等，這些功能又涉及到不同的技術模組。最後，它還要將回應轉換成語音說給我們聽，這又用到了語音合成技術。</p>



<p class="wp-block-paragraph">雖然 Siri 的某些功能可能會用到統計學習的方法，比如說語音識別和自然語言理解，但它的整體架構是一個複雜的系統整合，包含了統計學習、規則推理、資料庫查詢等多種技術。這讓 Siri 跟單純的統計學習 AI 有很大的不同。</p>



<h2 class="wp-block-heading">小結：統計學習 AI 的獨特價值</h2>



<p class="wp-block-paragraph">透過這些例子的比較，我們可以清楚地看出統計學習 AI 的特色和價值。它擅長處理需要從大量資料中找出規律的問題，像垃圾郵件過濾這樣的應用就是一個完美的例子。相對於需要專家知識的符號邏輯系統，或是需要透過試錯學習的強化學習系統，統計學習 AI 提供了一種相對簡單但非常有效的解決方案。</p>



<p class="wp-block-paragraph">在今天的數位時代，我們每天都會產生大量的資料，而統計學習 AI 正是處理這些資料的最佳工具之一。從推薦系統到圖像識別，從信用卡詐騙檢測到股價預測，統計學習 AI 在各個領域都發揮著重要的作用，默默地讓我們的生活變得更加便利和安全。</p>



<h1 class="wp-block-heading">10. 異常檢測</h1>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-10-1024x576.png" alt="" class="wp-image-11296" srcset="https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-10-1024x576.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-10-300x169.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-10-768x432.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/09/iPAS-AI-初級-人工智慧概論-重點整理-10.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">異常檢測是人工智慧領域中一個重要的技術，它的主要目標是要找出資料中那些不正常、不符合預期的部分。想像一下，如果我們每天都在觀察某個現象，大部分時候都會看到類似的模式，但偶爾會出現一些奇怪的情況，這些奇怪的情況就是我們要找的「異常」。異常檢測技術就像是一個敏銳的觀察者，能夠自動識別出這些不尋常的狀況。</p>



<p class="wp-block-paragraph">在現實生活中，異常檢測的應用非常廣泛。比如說，銀行需要檢測信用卡是否被盜刷，網路安全公司要找出駭客的攻擊行為，製造業需要發現設備故障的徵兆，醫療機構要識別病人的異常生理指標等等。這些應用場景雖然不同，但都有一個共同點：我們需要從大量的正常資料中，快速且準確地找出那些異常的狀況。</p>



<p class="wp-block-paragraph">為了更好地理解和處理不同性質的異常情況，研究人員將異常分成了幾個不同的類型。每種類型的異常都有其特殊的特徵和檢測方法，了解這些分類有助於我們選擇最適合的檢測技術。接下來，我們將詳細探討這四種主要的異常類型。</p>



<h2 class="wp-block-heading">10.1 異常類型</h2>



<h3 class="wp-block-heading">點異常（Point Anomaly）</h3>



<p class="wp-block-paragraph">點異常是最直觀也是最常見的一種異常類型。當我們說某個資料點是異常的，通常指的就是點異常。這種異常的特徵是單一的資料點明顯偏離了正常的資料分布範圍或預期的參數值。</p>



<p class="wp-block-paragraph">舉個簡單的例子，假設我們在監控一個網站的每日訪客數量，正常情況下每天大約有1000到1500個訪客。如果某一天突然出現了10000個訪客，這就是一個明顯的點異常。這個異常值可能代表著網站受到了異常的關注（比如被新聞報導），或者遭受了某種攻擊。</p>



<p class="wp-block-paragraph">在技術實作上，檢測點異常通常會使用統計方法，比如計算每個資料點與平均值的距離，或者使用Z-score來判斷資料點是否超出了正常範圍。機器學習方法如One-Class SVM、Isolation Forest等也常被用來檢測這類異常。點異常的檢測相對簡單，但在處理高維度資料或複雜的資料分布時，仍然需要選擇適當的方法。</p>



<h3 class="wp-block-heading">情境異常（Contextual Anomaly）</h3>



<p class="wp-block-paragraph">情境異常比點異常更加複雜，因為它需要考慮資料出現的背景或環境。同一個資料值在不同的情境下可能是正常的，也可能是異常的。這種異常通常與時間、地點或其他條件因素有關。</p>



<p class="wp-block-paragraph">最典型的例子就是氣溫資料。在台灣，如果夏天7月份的氣溫是35度，這是完全正常的；但如果在冬天12月份出現35度的氣溫，這就是一個明顯的情境異常。同樣的溫度值，在不同的時間背景下有著完全不同的意義。</p>



<p class="wp-block-paragraph">另一個例子是網路流量監控。在工作日的上午9點，網路流量很高是正常現象，因為大家都在上班使用網路；但如果在凌晨3點出現同樣高的流量，就可能是異常情況，需要進一步調查是否有異常活動發生。</p>



<p class="wp-block-paragraph">檢測情境異常需要建立更複雜的模型，這些模型必須能夠理解和學習不同情境下的正常行為模式。時間序列分析、條件機率模型和基於規則的系統都是常用的技術手段。</p>



<h3 class="wp-block-heading">集體異常（Collective Anomaly）</h3>



<p class="wp-block-paragraph">集體異常指的是多個資料點共同形成的異常模式。單獨看每個資料點可能都是正常的，但當這些點組合在一起時，就形成了一個異常的模式或行為。這種異常類型在序列資料或網路資料中特別常見。</p>



<p class="wp-block-paragraph">舉例來說，在股票交易中，單筆小額交易都是正常的，但如果在短時間內出現大量的小額賣出交易，而且這些交易來自不同的帳戶，這個集體行為就可能是異常的，可能代表有人在進行大規模的股票操作。每筆交易本身沒有問題，但整體模式是可疑的。</p>



<p class="wp-block-paragraph">在網路安全領域，一個駭客可能會進行多次小規模的嘗試登入，每次嘗試單獨看起來都很正常，但將這些嘗試組合起來看，就會發現這是一個暴力破解攻擊的模式。</p>



<p class="wp-block-paragraph">檢測集體異常需要分析資料之間的關係和模式，常用的技術包括序列模式挖掘、圖形分析和基於距離的聚類方法。這類檢測通常比點異常檢測需要更多的計算資源和更複雜的算法。</p>



<h3 class="wp-block-heading">系統性異常（Systematic Anomaly）</h3>



<p class="wp-block-paragraph">系統性異常是最複雜的一種異常類型，它表示整個系統層面出現了持續性的異常行為。這種異常不是偶發的，而是在系統中根深蒂固的問題，可能會影響系統的整體運作和表現。</p>



<p class="wp-block-paragraph">在製造業中，如果一條生產線的產品品質逐漸下降，雖然每天的下降幅度很小，不容易被發現，但長期累積下來就會造成嚴重的品質問題。這種逐漸惡化的趨勢就是系統性異常的典型表現。</p>



<p class="wp-block-paragraph">在金融系統中，如果某個交易系統的處理速度在幾個月內逐漸變慢，雖然每天的變化微小，但這種持續的性能下降可能預示著系統即將出現重大故障。這種異常需要長期的監控和分析才能發現。</p>



<p class="wp-block-paragraph">檢測系統性異常需要長期的資料累積和趨勢分析。常用的技術包括時間序列分解、變點檢測（Change Point Detection）和長期趨勢分析。這類檢測對於預防性維護和系統優化具有重要意義。</p>



<h2 class="wp-block-heading">小結</h2>



<p class="wp-block-paragraph">異常檢測中的四種主要異常類型各有其特點和應用場景。點異常處理的是單個明顯偏離的資料點，檢測相對直接；情境異常需要考慮資料的背景條件，檢測更加複雜；集體異常關注的是多個資料點形成的異常模式，需要分析資料間的關係；系統性異常則是最難檢測的，因為它涉及整個系統層面的持續性問題。</p>



<p class="wp-block-paragraph">在實際應用中，一個完整的異常檢測系統往往需要能夠處理多種類型的異常。選擇適當的檢測方法和技術，需要根據具體的應用場景、資料特性和業務需求來決定。隨著資料量的增加和應用場景的複雜化，異常檢測技術也在不斷evolving，為各個領域提供更加精準和及時的異常識別能力。</p>



<h4 class="wp-block-heading"><a href="https://gcp.kit.com/ipas-ai-intro" target="_blank" rel="noopener" title="">簡報免費下載</a></h4><p>The post <a href="https://dongdonggcp.com/2025/09/10/ipas-ai-planner-exam-ai-introduction/">iPAS AI 應用規劃師初級認證考試 人工智慧概論 重點整理&簡報下載</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2025/09/10/ipas-ai-planner-exam-ai-introduction/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BigQuery 不就是查詢嗎？跟資料庫差在哪裡？能做什麼分析？</title>
		<link>https://dongdonggcp.com/2025/07/04/is-bigquery-a-database-what-is-the-usage/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-bigquery-a-database-what-is-the-usage</link>
					<comments>https://dongdonggcp.com/2025/07/04/is-bigquery-a-database-what-is-the-usage/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 04 Jul 2025 02:15:51 +0000</pubDate>
				<category><![CDATA[大數據處理和分析]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[大數據]]></category>
		<category><![CDATA[資料分析]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11072</guid>

					<description><![CDATA[<p>許多人初次接觸 BigQuery 時會問 [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2025/07/04/is-bigquery-a-database-what-is-the-usage/">BigQuery 不就是查詢嗎？跟資料庫差在哪裡？能做什麼分析？</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="11072" class="elementor elementor-11072" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-350a063c e-flex e-con-boxed e-con e-parent" data-id="350a063c" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-40f5660f elementor-widget elementor-widget-text-editor" data-id="40f5660f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									
<p class="wp-block-paragraph">許多人初次接觸 BigQuery 時會問：「這不就是一個支援 SQL 的資料庫嗎？」到底有什麼差別？</p>

<p class="wp-block-paragraph">實際上，BigQuery 提供了遠超傳統 SQL 的強大分析功能，這些功能讓數據科學家和分析師能夠進行複雜的數據探索和分析。</p>

<h3 class="wp-block-heading">視窗函數：時間序列和趨勢分析</h3>

<p class="wp-block-paragraph">視窗函數是 BigQuery 最強大的功能之一，它允許在不使用 GROUP BY 的情況下進行聚合計算：</p>

<pre class="wp-block-code"><code>-- 計算每日銷售額的7天移動平均
SELECT 
  date,
  daily_sales,
  AVG(daily_sales) OVER (
    ORDER BY date 
    ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
  ) as moving_avg_7days,
  -- 計算與前一天的銷售增長率
  LAG(daily_sales) OVER (ORDER BY date) as prev_day_sales,
  (daily_sales - LAG(daily_sales) OVER (ORDER BY date)) 
    / LAG(daily_sales) OVER (ORDER BY date) * 100 as growth_rate
FROM daily_sales_summary
ORDER BY date;</code></pre>

<p class="wp-block-paragraph">這種功能對於財務分析、庫存管理、趨勢預測等場景極其有用。</p>

<h3 class="wp-block-heading">陣列處理：處理複雜嵌套 (巢狀) 數據</h3>

<p class="wp-block-paragraph">BigQuery 原生支援陣列數據類型，這對處理 JSON 數據、用戶行為軌跡等特別有用：</p>

<pre class="wp-block-code"><code>-- 分析用戶購物車中的商品組合
SELECT 
  user_id,
  ARRAY_LENGTH(cart_items) as item_count,
  -- 提取所有商品類別
  ARRAY_AGG(DISTINCT category) as categories,
  -- 找出最貴的商品
  ARRAY_AGG(product_name ORDER BY price DESC LIMIT 1)[OFFSET(0)] as most_expensive_item
FROM users_carts
CROSS JOIN UNNEST(cart_items) as item
GROUP BY user_id, cart_items;</code></pre>

<h3 class="wp-block-heading">地理空間分析：位置數據的深度洞察</h3>

<p class="wp-block-paragraph">BigQuery 內建了強大的地理空間分析功能，支援點、線、面等各種地理對象：</p>

<pre class="wp-block-code"><code>-- 分析門店覆蓋範圍和競爭分析
SELECT 
  store_id,
  store_name,
  -- 計算門店間距離
  ST_DISTANCE(
    ST_GEOGPOINT(store_lng, store_lat),
    ST_GEOGPOINT(-73.935242, 40.730610)  -- 紐約時代廣場
  ) / 1000 as distance_to_times_square_km,
  -- 創建門店3公里服務範圍
  ST_BUFFER(ST_GEOGPOINT(store_lng, store_lat), 3000) as service_area,
  -- 統計服務範圍內的競爭對手數量
  (SELECT COUNT(*) 
   FROM competitor_stores c
   WHERE ST_DWITHIN(
     ST_GEOGPOINT(store_lng, store_lat),
     ST_GEOGPOINT(c.lng, c.lat),
     3000
   )) as competitors_nearby
FROM our_stores;</code></pre>

<h3 class="wp-block-heading">機器學習整合：BigQuery ML</h3>

<p class="wp-block-paragraph">BigQuery ML 讓 SQL 開發者無需學習 Python 或 R 就能建立機器學習模型：</p>

<pre class="wp-block-code"><code>-- 建立客戶流失預測模型
CREATE OR REPLACE MODEL `project.dataset.churn_model`
OPTIONS(
  model_type='logistic_reg',
  input_label_cols=['churned']
) AS
SELECT
  -- 特徵工程
  DATE_DIFF(CURRENT_DATE(), last_purchase_date, DAY) as days_since_purchase,
  total_purchases,
  avg_order_value,
  customer_lifetime_value,
  support_tickets_count,
  -- 標籤
  churned
FROM customer_features
WHERE partition_date &gt; DATE_SUB(CURRENT_DATE(), INTERVAL 365 DAY);

-- 使用模型進行預測
SELECT
  customer_id,
  ML.PREDICT(MODEL `project.dataset.churn_model`, 
    (SELECT * FROM current_customers WHERE customer_id = c.customer_id)
  ).predicted_churned as churn_probability
FROM current_customers c;</code></pre>

<h3 class="wp-block-heading">時間序列分析：預測和異常檢測</h3>

<p class="wp-block-paragraph">BigQuery 提供了專門的時間序列分析功能：</p>

<pre class="wp-block-code"><code>-- 使用時間序列分解來檢測異常
SELECT
  date,
  actual_value,
  -- 季節性分析
  AVG(actual_value) OVER (
    PARTITION BY EXTRACT(DAYOFWEEK FROM date)
    ORDER BY date
    ROWS BETWEEN 4 PRECEDING AND 4 FOLLOWING
  ) as seasonal_avg,
  -- 趨勢分析
  AVG(actual_value) OVER (
    ORDER BY date
    ROWS BETWEEN 30 PRECEDING AND 30 FOLLOWING
  ) as trend,
  -- 異常檢測：偏離季節性平均超過2個標準差
  ABS(actual_value - AVG(actual_value) OVER (
    PARTITION BY EXTRACT(DAYOFWEEK FROM date)
    ORDER BY date
    ROWS BETWEEN 4 PRECEDING AND 4 FOLLOWING
  )) &gt; 2 * STDDEV(actual_value) OVER (
    PARTITION BY EXTRACT(DAYOFWEEK FROM date)
    ORDER BY date
    ROWS BETWEEN 4 PRECEDING AND 4 FOLLOWING
  ) as is_anomaly
FROM time_series_data
ORDER BY date;</code></pre>

<h3 class="wp-block-heading">統計分析函數：深度數據探索</h3>

<p class="wp-block-paragraph">BigQuery 內建了豐富的統計函數，支援各種統計分析需求：</p>

<pre class="wp-block-code"><code>-- 客戶價值分析
SELECT
  customer_segment,
  COUNT(*) as customer_count,
  -- 描述性統計
  AVG(annual_revenue) as avg_revenue,
  STDDEV(annual_revenue) as revenue_stddev,
  MIN(annual_revenue) as min_revenue,
  MAX(annual_revenue) as max_revenue,
  -- 分位數分析
  PERCENTILE_CONT(annual_revenue, 0.25) OVER() as q1_revenue,
  PERCENTILE_CONT(annual_revenue, 0.5) OVER() as median_revenue,
  PERCENTILE_CONT(annual_revenue, 0.75) OVER() as q3_revenue,
  -- 相關性分析
  CORR(annual_revenue, satisfaction_score) OVER() as revenue_satisfaction_corr
FROM customer_analysis
GROUP BY customer_segment;</code></pre>

<h3 class="wp-block-heading">進階資料處理函數</h3>

<p class="wp-block-paragraph">BigQuery 還提供了許多專門的資料處理函數：</p>

<pre class="wp-block-code"><code>-- 文本分析和數據清理
SELECT
  -- 正規表達式提取
  REGEXP_EXTRACT(email, r'@(.+)') as domain,
  -- 數據指紋（用於去重）
  FARM_FINGERPRINT(CONCAT(name, email, phone)) as record_fingerprint,
  -- 生成唯一識別碼
  GENERATE_UUID() as record_id,
  -- 文本相似度（用於數據匹配）
  EDIT_DISTANCE(name1, name2) as name_similarity,
  -- JSON 數據解析
  JSON_EXTRACT_SCALAR(user_profile, '$.preferences.language') as preferred_language
FROM user_data;</code></pre>

<h2 class="wp-block-heading">實務應用場景</h2>

<h3 class="wp-block-heading">商業智慧分析</h3>

<p class="wp-block-paragraph">BigQuery 在商業智慧領域的應用極其廣泛。企業可以輕鬆建立複雜的銷售漏斗分析、客戶生命週期價值分析、市場區隔分析等。例如，電商公司可以分析不同客戶群體的購買行為，識別高價值客戶，並制定精準的行銷策略。</p>

<p class="wp-block-paragraph"><strong>銷售趨勢分析</strong>：通過視窗函數和時間序列分析，企業可以識別銷售的季節性模式、長期趨勢，以及異常波動。這些洞察對於庫存管理、行銷預算分配、業績預測都極其重要。</p>

<p class="wp-block-paragraph"><strong>客戶行為分析</strong>：利用陣列處理和路徑分析功能，企業可以深入了解客戶在網站或應用中的行為軌跡，識別轉換的關鍵節點，優化用戶體驗。</p>

<h3 class="wp-block-heading">即時數據分析</h3>

<p class="wp-block-paragraph">BigQuery 的流式數據處理能力使其成為即時分析的理想選擇：</p>

<p class="wp-block-paragraph"><strong>網站流量監控</strong>：結合 Google Analytics 和其他數據源，企業可以即時監控網站效能、用戶行為，並在發現異常時立即採取行動。</p>

<p class="wp-block-paragraph"><strong>IoT 數據處理</strong>：製造業、物流業等可以利用 BigQuery 處理來自感測器、設備的海量 IoT 數據，進行預測性維護、品質控制等。</p>

<p class="wp-block-paragraph"><strong>金融風險監控</strong>：金融機構可以即時分析交易數據，檢測可疑的詐欺行為，確保業務安全。</p>

<h3 class="wp-block-heading">進階分析應用</h3>

<p class="wp-block-paragraph">BigQuery 的機器學習整合和進階分析功能開啟了更多可能性：</p>

<p class="wp-block-paragraph"><strong>預測分析</strong>：從客戶流失預測到需求預測，企業可以利用歷史數據建立預測模型，為未來的決策提供數據支持。</p>

<p class="wp-block-paragraph"><strong>推薦系統</strong>：電商、媒體公司可以利用 BigQuery ML 建立個人化推薦系統，提升用戶參與度和轉換率。</p>

<p class="wp-block-paragraph"><strong>異常檢測</strong>：無論是網路安全、品質控制還是業務營運，BigQuery 的異常檢測功能都能幫助企業及時發現問題。</p>

<h2 class="wp-block-heading">總結</h2>

<p class="wp-block-paragraph">BigQuery 代表了數據分析技術的一個重要里程碑。它不僅僅是一個「會下 SQL 的資料庫」，而是一個功能完整、效能卓越的現代數據分析平台。從 Dremel 的學術研究到 BigQuery 的商業成功，這個演進過程展示了雲端運算如何徹底改變了數據分析的格局。</p>

<p class="wp-block-paragraph">對於企業而言，BigQuery 提供了突破傳統基礎設施限制的機會，讓組織能夠專注於數據洞察而非技術維護。其豐富的分析功能、卓越的效能表現，以及與 Google Cloud 生態系統的深度整合，使其成為現代數據驅動型企業的理想選擇。</p>

<p class="wp-block-paragraph">隨著數據量的持續增長和分析需求的日益複雜，BigQuery 這樣的雲端原生數據平台將繼續發揮重要作用，推動企業數據分析能力的不斷提升。</p>

<p class="wp-block-paragraph">相關文章：</p>

<p class="wp-block-paragraph"><a href="https://www.dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/">雲端界陳浩南 – BigQuery 是什麼？功能、組成元件、特色和優勢完整介紹</a></p>

<p class="wp-block-paragraph"><a href="https://www.dongdonggcp.com/2025/02/12/how-to-upload-data-to-bigquery/">把資料上傳到 BigQuery 的各種方法和步驟</a></p>

<p class="wp-block-paragraph"> </p>
								</div>
				</div>
					</div>
				</div>
				</div><p>The post <a href="https://dongdonggcp.com/2025/07/04/is-bigquery-a-database-what-is-the-usage/">BigQuery 不就是查詢嗎？跟資料庫差在哪裡？能做什麼分析？</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2025/07/04/is-bigquery-a-database-what-is-the-usage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dataproc 是什麼？四大優勢與使用方法介紹</title>
		<link>https://dongdonggcp.com/2025/04/23/whai-is-dataproc-architecture-and-usage-introduction/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=whai-is-dataproc-architecture-and-usage-introduction</link>
					<comments>https://dongdonggcp.com/2025/04/23/whai-is-dataproc-architecture-and-usage-introduction/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 23 Apr 2025 10:13:24 +0000</pubDate>
				<category><![CDATA[大數據處理和分析]]></category>
		<category><![CDATA[Dataproc]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[HDFS]]></category>
		<category><![CDATA[Hive]]></category>
		<category><![CDATA[Spark]]></category>
		<category><![CDATA[大數據]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=10584</guid>

					<description><![CDATA[<p>Dataproc 是 GCP 上的全代管的大數據處理服務，它支援大數據工具如 Apache Spark、Hadoop、Hive 等，不用自行安裝環境。<br />
你可以直接進入 Comman Line 視窗，下達指令來探索和處理資料。你也可以撰寫 Spark 腳本，提交給 Dataproc 自動執行。</p>
<p>The post <a href="https://dongdonggcp.com/2025/04/23/whai-is-dataproc-architecture-and-usage-introduction/">Dataproc 是什麼？四大優勢與使用方法介紹</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<h1 class="wp-block-heading">認識 Google Cloud Dataproc</h1>



<h2 class="wp-block-heading">Dataproc 是什麼？</h2>



<p class="wp-block-paragraph"><a href="https://cloud.google.com/dataproc?hl=zh-TW" target="_blank" rel="noopener" title="">Dataproc</a> 是 GCP 的一個全代管的大數據處理服務，它支援開源的大數據生態系統工具，如 <a href="https://cloud.google.com/learn/what-is-apache-spark?hl=zh-TW" target="_blank" rel="noopener" title="">Apache Spark</a>、<a href="https://cloud.google.com/learn/what-is-hadoop?hl=zh-TW" target="_blank" rel="noopener" title="">Hadoop</a>、<a href="https://hive.apache.org/" target="_blank" rel="noopener" title="">Hive</a> 等。</p>



<p class="wp-block-paragraph">簡單說，Dataproc 幫你把資料處理這件事，變得又快又簡單，就像把一座沉重的工廠裝進自動販賣機，按一下就能開工。</p>



<h2 class="wp-block-heading">為什麼選擇 Dataproc？四大優勢</h2>



<p class="wp-block-paragraph"><strong>1.  快速啟動與彈性擴展</strong>：只需幾分鐘就能啟動叢集，根據工作負載自動擴縮。</p>



<p class="wp-block-paragraph"><strong>2. 與 GCP 生態系整合</strong>：無縫串接 <a href="https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/" target="_blank" rel="noopener" title="">BigQuery</a>、<a href="https://dongdonggcp.com/2024/11/27/what-is-google-cloud-storage/" target="_blank" rel="noopener" title="">Cloud Storage</a>、<a href="https://dongdonggcp.com/2025/04/14/vertex-ai-functions-agent-builder-model-builder-model-garden-introduction/" target="_blank" rel="noopener" title="">Vertex AI</a> 等工具。</p>



<p class="wp-block-paragraph">3. 精準付費、節省成本：按秒計費、支援自動關閉機制，有效降低閒置成本。</p>



<p class="wp-block-paragraph">4. 使用你本來就會的技能： Dataproc 包含 Hadoop、Spark、Hive、Pig 等 Open Source 的工具，不用重新學習。</p>



<h1 class="wp-block-heading">Dataproc 的應用場景</h1>



<h2 class="wp-block-heading">大數據處理</h2>



<p class="wp-block-paragraph">無論是 ETL（Extract, Transform, Load）處理，還是資料清洗、彙整，都可以用 Dataproc。</p>



<h2 class="wp-block-heading">結合 Spark 進行機器學習訓練</h2>



<p class="wp-block-paragraph">Dataproc 支援 <a href="https://spark.apache.org/mllib/" target="_blank" rel="noopener" title="">Spark MLlib</a>，你可以直接在叢集上進行分散式訓練，大幅提升訓練速度與模型精度。</p>



<h2 class="wp-block-heading">搭配 Jupyter Notebook 做互動分析</h2>



<p class="wp-block-paragraph">開發者可透過 <a href="https://cloud.google.com/dataproc/docs/concepts/components/jupyter" target="_blank" rel="noopener" title="">Jypyter Notebook</a> 與叢集互動，實現即時查詢與分析，彷彿在大型資料倉庫裡漫步，探索資料的可能性。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="569" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture-1024x569.png" alt="" class="wp-image-10585" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture-1024x569.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture-300x167.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture-768x427.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture-1536x854.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc-Architecture.png 1702w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h1 class="wp-block-heading">Dataproc 的架構設計概念</h1>



<h2 class="wp-block-heading"><strong>叢集（Cluster）與節點角色說明</strong></h2>



<p class="wp-block-paragraph">Dataproc 叢集主要包含兩種節點角色：Master 與 Worker。就像一個工廠，Master 是主管，Worker 是執行員工。</p>



<p class="wp-block-paragraph">而節點其實就是 Compute Engine 的虛擬機器，因為我們是對整個 Cluster 操作，不針對某一台 VM，所以我們才稱它們叫 Node。</p>



<h3 class="wp-block-heading">Master 節點與 Worker 節點的差異</h3>



<ul class="wp-block-list">
<li><strong>Master</strong>：負責指派任務、監控進度、管理資源。</li>
</ul>



<ul class="wp-block-list">
<li><strong>Worker</strong>：實際執行 Spark Job 與 Hadoop Task。</li>
</ul>



<h3 class="wp-block-heading">如何選擇正確的 VM 類型？</h3>



<p class="wp-block-paragraph"><strong>n2-standard</strong> 適合大多數應用。</p>



<p class="wp-block-paragraph"><strong>e2-medium</strong> 適合成本敏感的小型專案。</p>



<p class="wp-block-paragraph">可依工作負載選擇是否搭配 GPU 或高記憶體，但如果是初學者，建議不要開太大的機器喔！</p>



<h2 class="wp-block-heading">Spark、Hadoop、Hive 在架構中的定位</h2>



<ul class="wp-block-list">
<li><strong>Spark</strong>：主力計算框架，支援即時與批次任務。</li>
</ul>



<ul class="wp-block-list">
<li><strong>Hadoop HDFS</strong>：用於資料儲存與分散處理。</li>
</ul>



<ul class="wp-block-list">
<li><strong>Hive</strong>：提供 SQL 介面查詢 HDFS 中的資料。</li>
</ul>



<h1 class="wp-block-heading">實際操作：如何建立一個 Dataproc Cluster (叢集)</h1>



<h2 class="wp-block-heading">在 GCP Console 上建立步驟</h2>



<p class="wp-block-paragraph">進入 Dataproc =&gt; Cluster。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="753" height="488" src="https://dongdonggcp.com/wp-content/uploads/2025/04/click_create_dataproc_cluster.png" alt="" class="wp-image-10586" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/click_create_dataproc_cluster.png 753w, https://dongdonggcp.com/wp-content/uploads/2025/04/click_create_dataproc_cluster-300x194.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></figure>



<p class="wp-block-paragraph">選擇 Compute Engine。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="527" height="377" src="https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_on_compute_engine.png" alt="" class="wp-image-10587" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_on_compute_engine.png 527w, https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_on_compute_engine-300x215.png 300w" sizes="(max-width: 527px) 100vw, 527px" /></figure>



<p class="wp-block-paragraph">給 Cluster 命名，選擇 Region 和 Zone，我是照 <a href="https://www.cloudskillsboost.google/focuses/586?catalog_rank=%7B%22rank%22%3A1%2C%22num_filters%22%3A1%2C%22has_search%22%3Atrue%7D&amp;parent=catalog&amp;search_id=44571046" target="_blank" rel="noopener" title="">《Dataproc: Qwik Start &#8211; Console》</a> 這個 Lab 做的，所以就跟它一模一樣，你也可以選擇台灣 asia-east1 喔！</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="926" height="542" src="https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_region_zone.png" alt="" class="wp-image-10588" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_region_zone.png 926w, https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_region_zone-300x176.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/cluster_region_zone-768x450.png 768w" sizes="(max-width: 926px) 100vw, 926px" /></figure>



<p class="wp-block-paragraph">先設定 Manager Node，我還是習慣叫 Master Node。</p>



<p class="wp-block-paragraph">這裡要注意，剛開始你可能會找不到 N1、N2 或 E2 的主機，你要先把 Disk 改成 Standard 的，這幾個型號就會出現了。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="914" height="580" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Master-Node.png" alt="" class="wp-image-10589" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Master-Node.png 914w, https://dongdonggcp.com/wp-content/uploads/2025/04/Master-Node-300x190.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Master-Node-768x487.png 768w" sizes="(max-width: 914px) 100vw, 914px" /></figure>



<p class="wp-block-paragraph">一樣的做法再設定 Worker Node。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="918" height="700" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Worker-Node.png" alt="" class="wp-image-10590" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Worker-Node.png 918w, https://dongdonggcp.com/wp-content/uploads/2025/04/Worker-Node-300x229.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Worker-Node-768x586.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<p class="wp-block-paragraph">在 IP 的部分，原本 「Internal IP only」是有勾選的，要把它取消喔，</p>



<p class="wp-block-paragraph">如果只有內部 IP，是不容易從部外連進去的，</p>



<p class="wp-block-paragraph">它會先勾選，我想是為了安全性的問題，怕任何人都可以連到 Dataproc，</p>



<p class="wp-block-paragraph">但我們是初學者，玩一下就會馬上把它刪掉(記得喔)，所以沒關係！</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="925" height="488" src="https://dongdonggcp.com/wp-content/uploads/2025/04/use-external-IP.png" alt="" class="wp-image-10591" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/use-external-IP.png 925w, https://dongdonggcp.com/wp-content/uploads/2025/04/use-external-IP-300x158.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/use-external-IP-768x405.png 768w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p class="wp-block-paragraph">接下來等大概五分鐘左右，它就準備好了。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="897" height="452" src="https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-21-下午5.49.01.png" alt="" class="wp-image-10593" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-21-下午5.49.01.png 897w, https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-21-下午5.49.01-300x151.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-21-下午5.49.01-768x387.png 768w" sizes="(max-width: 897px) 100vw, 897px" /></figure>



<p class="wp-block-paragraph">同時你也可以在 Compute Engine 頁面上看到真的有機器開出來，一台 Master Node，兩台 Worker Node。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="932" height="378" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc_Cluster_Nodes.png" alt="" class="wp-image-10604" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc_Cluster_Nodes.png 932w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc_Cluster_Nodes-300x122.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Dataproc_Cluster_Nodes-768x311.png 768w" sizes="(max-width: 932px) 100vw, 932px" /></figure>



<p class="wp-block-paragraph">接下來有兩種操作場景。</p>



<h2 class="wp-block-heading">第一種是直接連到 Dataproc Master Node 的 Command Line</h2>



<p class="wp-block-paragraph">(本部份取自網路上的 YouTube 影片：<a href="https://www.youtube.com/watch?v=ED9emgRK48Q" target="_blank" rel="noopener" title="">GCP Dataproc Cluster creation | HDFS and Hive</a>)</p>



<p class="wp-block-paragraph">先 SSH 連到 Master Node，然後上傳一個要分析的檔案。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="267" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File-1024x267.png" alt="" class="wp-image-10596" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File-1024x267.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File-300x78.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File-768x201.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File-1536x401.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/Upload_Hadoop_File.png 1742w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">進入 Hive 建立資料庫名叫 “vehicle”。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="253" src="https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database-1024x253.png" alt="" class="wp-image-10597" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database-1024x253.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database-300x74.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database-768x189.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database-1536x379.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_hive_database.png 1829w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">建立表格 “vehicle_sold”，並查詢表格結構。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="306" src="https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema-1024x306.png" alt="" class="wp-image-10606" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema-1024x306.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema-300x90.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema-768x230.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema-1536x460.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select_schema.png 1855w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">接下來使用語法來查詢資料，看到能正常顯示剛上傳的資料。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="466" src="https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select-1024x466.png" alt="" class="wp-image-10598" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select-1024x466.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select-300x137.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select-768x350.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select-1536x699.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/create_table_and_select.png 1729w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">你會在上半部看到效能數據，如果資料量很大，可以查看是否需要調整主機規格來優化效能。</p>



<p class="wp-block-paragraph">其中 Map 1 是什麼意思？</p>



<p class="wp-block-paragraph">“1” 是第一階段，Map 是映射任務，資料被分割成多個小塊，每個小塊由一個 Map 任務處理。</p>



<p class="wp-block-paragraph">把資料轉成 key-value 格式，例如 (Venue, 302), (Ertiga, 123)。</p>



<p class="wp-block-paragraph">最後來下一個加總語法，查詢各類汽車銷售數量。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="485" src="https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by-1024x485.png" alt="" class="wp-image-10601" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by-1024x485.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by-300x142.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by-768x363.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by-1536x727.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/04/select_group_by.png 1665w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">“Reducer2” 是第二階段 &#8211; 歸納任務，Reducer 接收 Map 任務輸出的 key-value，然後將相同 key 的 value 合併。</p>



<p class="wp-block-paragraph">例如相同 Creta 的 336 和 265 加總起來為 601。</p>



<p class="wp-block-paragraph">以上是第一種使用場景，就是讓你可以用下指令的方式，跟 Dataproc 互動操作。</p>



<h2 class="wp-block-heading">第二種場景是提交你寫好的 Job 程式碼給 Dataproc 自動執行</h2>



<p class="wp-block-paragraph">(本部分是我操作 Skillboost Lab：<a href="Dataproc: Qwik Start - Console" target="_blank" rel="noopener" title="">Dataproc: Qwik Start &#8211; Console</a> 的截圖)</p>



<p class="wp-block-paragraph">接下來去 Jobs，我們要準備提交一個 Job。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="990" height="543" src="https://dongdonggcp.com/wp-content/uploads/2025/04/create-job.png" alt="" class="wp-image-10595" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/create-job.png 990w, https://dongdonggcp.com/wp-content/uploads/2025/04/create-job-300x165.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/create-job-768x421.png 768w" sizes="(max-width: 990px) 100vw, 990px" /></figure>



<p class="wp-block-paragraph">在這個 Lab 我們要用一支程式去計算圓周率，所以要引入一個 org.apache.spark.examples.SparkPi 這個 Class，</p>



<p class="wp-block-paragraph">然後再給它執行 Job 細節的程式碼檔案：file:///usr/lib/spark/examples/jars/spark-examples.jar</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="807" height="540" src="https://dongdonggcp.com/wp-content/uploads/2025/04/job_config_1.png" alt="" class="wp-image-10602" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/job_config_1.png 807w, https://dongdonggcp.com/wp-content/uploads/2025/04/job_config_1-300x201.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/job_config_1-768x514.png 768w" sizes="(max-width: 807px) 100vw, 807px" /></figure>



<p class="wp-block-paragraph">這個程式使用<a href="https://zh.wikipedia.org/zh-tw/%E8%92%99%E5%9C%B0%E5%8D%A1%E7%BE%85%E6%96%B9%E6%B3%95" target="_blank" rel="noopener" title="">蒙地卡羅方法</a>（Monte Carlo Method）來估算圓周率（Pi）的值，</p>



<p class="wp-block-paragraph">參數 1000 代表程式將生成的 x,y 座標點對的數量，生成的點對越多，估算的圓周率值就越精確。</p>



<p class="wp-block-paragraph">所以，當你在 Arguments 欄位中輸入 1000 時，您實際上是在告訴 SparkPi 程式生成 1000 個隨機點來估算 Pi 值。</p>



<p class="wp-block-paragraph">如果您輸入更大的數字（例如 10000 或 100000），估算會更精確，但計算時間也會更長。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="556" src="https://dongdonggcp.com/wp-content/uploads/2025/04/Pi-1024x556.png" alt="" class="wp-image-10603" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/Pi-1024x556.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/04/Pi-300x163.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/04/Pi-768x417.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/04/Pi.png 1204w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">最後我們會在 Job Details 看到它算出來的圓周率，你會看到它有點不準。</p>



<p class="wp-block-paragraph">我們記得 Pi 是 3.1415926&#8230;&#8230;，但它算出來竟然是 3.14193&#8230;&#8230;.</p>



<p class="wp-block-paragraph">因為它只算 1000 個點，所以沒那麼準，如果算更多個點，一定比我們記憶的還準。</p>



<h2 class="wp-block-heading">Dataproc 和 <a href="https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/" target="_blank" rel="noopener" title="">Dataflow</a> 很像？到底有何差異？</h2>



<p class="wp-block-paragraph">當你在 Dataproc 上執行 Spark Job 時，確實會有一些操作方式上的相似點：</p>



<ul class="wp-block-list">
<li>兩者都能執行預先編譯好的程式（JAR 檔案、Python 腳本等）</li>



<li>兩者都能處理批次和串流資料</li>



<li>兩者都能自動分散工作負載到多個節點</li>
</ul>



<p class="wp-block-paragraph">但根本差異仍然存在。</p>



<p class="wp-block-paragraph"><strong>Dataproc 執行 Spark 程式時：</strong></p>



<ul class="wp-block-list">
<li>你要先建立和維護 Dataproc Cluster</li>



<li>使用 <code>gcloud dataproc jobs submit spark</code> 或通過 Web UI 提交 JAR 檔</li>



<li>Spark 程式會在你開好的 Cluster 上執行</li>



<li>叢集資源是固定的（除非手動調整）</li>



<li>叢集在任務完成後繼續存在（除非配置為自動刪除）</li>
</ul>



<p class="wp-block-paragraph"><strong>Dataflow 執行 <a href="https://beam.apache.org/about/" target="_blank" rel="noopener" title="">Apache Beam</a> 程式時：</strong></p>



<ul class="wp-block-list">
<li>不用預先建立 Cluster</li>



<li>提交程式後，Dataflow 會自動建立和管理執行環境</li>



<li>資源會根據工作負載 Autoscale</li>



<li>任務完成後，所有資源會自動釋放 (刪除 Cluster)</li>
</ul>



<p class="wp-block-paragraph">簡言之，Dataproc 執行 Spark 程式時，你仍需管理基礎架構 (Cluster)，而 Dataflow 則完全幫你管理這一層面。</p>



<p class="wp-block-paragraph">這就是為什麼在某些使用案例中，兩者看起來很相似，</p>



<p class="wp-block-paragraph">都是提交預先寫好的程式來處理資料，但底層的資源管理和架構哲學是不同的。</p>



<h3 class="wp-block-heading">Dataproc 和 Dataflow 比較表</h3>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="756" height="611" src="https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-23-下午5.28.43.png" alt="" class="wp-image-10608" srcset="https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-23-下午5.28.43.png 756w, https://dongdonggcp.com/wp-content/uploads/2025/04/截圖-2025-04-23-下午5.28.43-300x242.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></figure>



<h1 class="wp-block-heading">工作流程範本  Dataproc Workflow Template</h1>



<h2 class="wp-block-heading">自動化任務排程的關鍵利器</h2>



<p class="wp-block-paragraph"><a href="https://cloud.google.com/dataproc/docs/concepts/workflows/overview" target="_blank" rel="noopener" title="">Workflow Templates</a> 用來設定和管理一系列相依的 Dataproc 作業 (Job)，</p>



<p class="wp-block-paragraph">例如 A Job 必須完成之後，再開始 B Job。</p>



<p class="wp-block-paragraph">就像食譜，你只需設定好步驟與材料，系統會自動幫你依序完成資料處理任務。</p>



<p class="wp-block-paragraph">注意建立範本後，Dataproc 不會建立 Cluster 或開始運作。只有在建立機器後才會開始工作。</p>



<h3 class="wp-block-heading">工作流程範本的種類</h3>



<p class="wp-block-paragraph"><strong>代管叢集 Managed Cluster</strong></p>



<p class="wp-block-paragraph">當你手上沒有運作中的 Cluster，工作流程會建立一個「臨時」Cluster 來運行作業，完成時刪除該 Cluster。</p>



<p class="wp-block-paragraph"><strong>叢集選擇器 Cluster Selector</strong></p>



<p class="wp-block-paragraph">當你手上有幾個運作中的 Cluster，你可以下標籤來指定做事的 Cluster，有點像 Kubernetes 那種管理方法。</p>



<p class="wp-block-paragraph">每個 Cluster 都可以設標籤，是 key-value 的結構，例如你有 3 個 Cluster：</p>



<p class="wp-block-paragraph">cluster-1 的標籤&nbsp; analytics=ig</p>



<p class="wp-block-paragraph">cluster-2 的標籤&nbsp; analytics=fb</p>



<p class="wp-block-paragraph">cluster-3 的標籤&nbsp; web=click</p>



<p class="wp-block-paragraph">你指定 analytics=fb，cluster-2 就會開始做事。</p>



<p class="wp-block-paragraph">它會選具有完全相同標籤的 cluster 來工作，而且會找具有最多 YARN 可用記憶體的叢集來運行所有工作流程作業。</p>



<p class="wp-block-paragraph">但工作完，Cluster 會持續存在，不會把你的 Cluster 刪掉。</p>



<h1 class="wp-block-heading">Dataproc 與其他 GCP 工具整合</h1>



<h3 class="wp-block-heading"><strong>結合 BigQuery 快速查詢分析結果</strong></h3>



<p class="wp-block-paragraph">Dataproc 可以使用 <a href="https://cloud.google.com/dataproc/docs/concepts/connectors/bigquery" target="_blank" rel="noopener" title="">BigQuery 連接器</a>在 Spark 或 Hadoop 作業中直接讀寫 BigQuery 資料。</p>



<p class="wp-block-paragraph">處理完的結果可直接匯入 BigQuery，進行後續報表分析與視覺化。</p>



<p class="wp-block-paragraph">如果經常使用 Dataproc、Cloud Storage 和 BigQuery，建議使用 Avro 格式的資料，因為完全相容。 </p>



<h3 class="wp-block-heading"><strong>與 Cloud Storage 無縫資料串接</strong></h3>



<p class="wp-block-paragraph">傳統上 Hadoop 用 HDFS 在資料的永久儲存，確保資料在系統關閉或重啟後仍然存在。</p>



<p class="wp-block-paragraph">在 Dataproc 上使用 <a href="https://cloud.google.com/dataproc/docs/concepts/connectors/cloud-storage" target="_blank" rel="noopener" title="">Cloud Storage 連接器</a>時，可以讓 Dataproc 直接讀寫儲存在 Cloud Storage 上的資料，</p>



<p class="wp-block-paragraph">無需使用 HDFS。(因為 Dataproc 通常用完就會刪掉環境，上面的 Disk 跟著刪除)</p>



<p class="wp-block-paragraph">而且 GCS 還比 Disk 便宜。</p>



<p class="wp-block-paragraph">你可以再搭配 GCS 的物件生命週期管理 Object Lifecycle，有效控管儲存成本。</p>



<h1 class="wp-block-heading">成本管理與效能最佳化技巧</h1>



<h2 class="wp-block-heading">如何利用預留節點與自動關機功能省錢</h2>



<p class="wp-block-paragraph">使用 Preemptible VM（可搶占節點）節省 80% 成本，但這種主機可能隨時被終止。</p>



<p class="wp-block-paragraph">建議你用在容錯性高的批次處理工作（可以隨時停下來、即使失敗也可以重試、有備份機制），</p>



<p class="wp-block-paragraph">也就是「不緊急不重要的工作」。</p>



<p class="wp-block-paragraph">建議搭配重試機制和優雅停用 (Graceful Decommissioning) 設定，確保正在進行的工作在節點移除前完成。</p>



<h3 class="wp-block-heading"><strong>使用 Cloud Logging 監控資源與效能</strong></h3>



<p class="wp-block-paragraph">透過指標追蹤 CPU、Memory 使用率，找出瓶頸，優化叢集配置。</p>



<h1 class="wp-block-heading"><strong>Dataproc 常見錯誤與排除方式</strong></h1>



<h2 class="wp-block-heading">排查任務失敗的三個關鍵檢查點</h2>



<ul class="wp-block-list">
<li>驗證 Cluster 資源是否足夠，像記憶體是不是快爆了。</li>



<li>檢查程式碼是否有錯誤。</li>



<li>檢查輸入資料路徑是否正確。</li>
</ul>



<h2 class="wp-block-heading">如何讀懂 Job Logs 與錯誤訊息</h2>



<p class="wp-block-paragraph">進入 Job Logs，根據錯誤訊息回推失敗原因，例如記憶體不足、格式錯誤、路徑遺失等。</p>



<p class="wp-block-paragraph">你也可以直接錯誤的 Log 拿去問 ChatGPT。</p>



<h1 class="wp-block-heading">適合導入 Dataproc 的企業情境</h1>



<h2 class="wp-block-heading">金融業：批次風險模型計算</h2>



<p class="wp-block-paragraph">金融機構常需夜間批次執行大量風控模型，Dataproc 正好適合這種短時高負載任務。</p>



<h2 class="wp-block-heading">零售業：銷售資料彙總與推薦引擎訓練</h2>



<p class="wp-block-paragraph">從 POS 資料中彙總趨勢、訓練推薦模型，Dataproc 可有效協助行銷與庫存預測。</p>



<p class="wp-block-paragraph">當然，可以做批次處理的工具都可以，像上面提到的 Dataflow，取決於你對哪個比較熟悉。</p>



<h1 class="wp-block-heading">結語：Dataproc 是否適合你的團隊？</h1>



<p class="wp-block-paragraph">如果你的團隊正在處理大量資料，需要彈性資源、自動化流程，</p>



<p class="wp-block-paragraph">或正從傳統平台轉型到雲端，那麼 Dataproc 將會是你強而有力的幫手。</p>



<p class="wp-block-paragraph">它不只是工具，更是未來資料基礎建設的基石。</p>



<h1 class="wp-block-heading">常見問答（FAQ）</h1>



<p class="wp-block-paragraph"><strong>Q1：Dataproc 可以不寫程式嗎？</strong><br>A：可以透過 Workflow Template 搭配 SQL、Hive 指令，降低程式依賴。（所以還是要拿下指令）</p>



<p class="wp-block-paragraph">真的要不寫程式，可以考慮用 Dataprep，它是互動式並且視覺化的操作界面，可以設定資料處理規則讓它自動執行。</p>



<p class="wp-block-paragraph"><strong>Q2：Dataproc 和 BigQuery 哪個適合分析？</strong><br>A：BigQuery 適合即時分析，Dataproc 則擅長處理大量轉換、清洗、模型訓練等流程，Dataproc 的分析，主要是拿來探索用的，就是讓你大概看一下資料長怎樣，不方便做大規模而且複雜的分析。</p>



<p class="wp-block-paragraph"><strong>Q3：有支援 GPU 計算嗎？</strong><br>A：有，可以在 Worker 節點指定使用 GPU 運算資源。</p>



<p class="wp-block-paragraph"><strong>Q4：Dataproc 支援 Python 嗎？</strong><br>A：完全支援，Spark 任務可用 PySpark 寫成，也可整合 Notebook 開發環境。</p>



<p class="wp-block-paragraph"><strong>Q5：部署後多久能用？</strong><br>A：幾分鐘內即可建立好叢集，立即上線處理任務。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p><p>The post <a href="https://dongdonggcp.com/2025/04/23/whai-is-dataproc-architecture-and-usage-introduction/">Dataproc 是什麼？四大優勢與使用方法介紹</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2025/04/23/whai-is-dataproc-architecture-and-usage-introduction/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[BigQuery 教學]  雲端界陳浩南 &#8211; BigQuery 是什麼？功能、組成元件、特色和優勢完整介紹</title>
		<link>https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-bigquery-functions-advantages</link>
					<comments>https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Sat, 23 Nov 2024 09:50:20 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[大數據]]></category>
		<category><![CDATA[資料處理]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=7987</guid>

					<description><![CDATA[<p>如果你想看 BigQuery 影片介紹， [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/">[BigQuery 教學]  雲端界陳浩南 – BigQuery 是什麼？功能、組成元件、特色和優勢完整介紹</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">如果你想看 BigQuery 影片介紹，可以直接捲到最下面喔！</p>



<p class="wp-block-paragraph">如果用一句話講完 BigQuery，就是你只要下一個 SQL 分析語法，就可以叫雲端上一大堆機器出來幫你分析資料。就像陳浩南一聲令下，小弟瞬間集結完成，幫你「橋事情」。</p>



<p class="wp-block-paragraph">Google BigQuery 是一種由 Google Cloud 提供的無伺服器資料倉儲解決方案，專為大規模資料處理設計。</p>



<p class="wp-block-paragraph">你可以將它視為資料分析的高速引擎，幫助你快速從海量資料中找出洞察。</p>



<p class="wp-block-paragraph">重點是你只要使用通用的 SQL 語法，就可以馬上使用￼，完全不用學習新的技術，超級方便。</p>



<p class="wp-block-paragraph">接下來，我們將深入介紹它的功能、組成元件、特色以及使用它的好處。</p>



<h2 class="wp-block-heading">一、BigQuery 的基本介紹</h2>



<p class="wp-block-paragraph">BigQuery 是一種基於雲端的企業級資料倉儲服務，它可以快速處理結構化和非結構化數據，並提供即時查詢功能。它主要針對需要分析大量數據的組織設計，例如電子商務平台、金融服務公司等。</p>



<h2 class="wp-block-heading">二、BigQuery 的核心功能</h2>



<h3 class="wp-block-heading">(一) 即時查詢與高效能處理</h3>



<p class="wp-block-paragraph">BigQuery 的設計使它能在幾秒鐘內處理數百億行數據，這對於需要快速決策的企業來說至關重要。它的分散式架構允許你同時查詢和寫入資料，完全不需要等待。</p>



<h3 class="wp-block-heading">(二) 支援大規模資料分析</h3>



<p class="wp-block-paragraph">無論是幾百 GB 的數據，還是幾 PB 的數據，BigQuery 都能輕鬆處理。它的擴展性確保了隨著你的業務需求增長，你的資料分析能力也能跟上。</p>



<h3 class="wp-block-heading">(三) 與其他 GCP 工具的整合</h3>



<p class="wp-block-paragraph">BigQuery 可與 Google Cloud 其他工具無縫整合，例如 <a href="https://cloud.google.com/products/dataflow?hl=zh-TW">Dataflow</a>、<a href="https://cloud.google.com/pubsub?hl=zh-TW">Pub/Sub</a> 和 <a href="https://cloud.google.com/looker?hl=zh-TW">Looker</a> (或 <a href="https://cloud.google.com/looker-studio?hl=zh-TW">Looker Studio</a>)，讓你能建立完整的數據管道和視覺化報告。</p>



<h2 class="wp-block-heading">三、BigQuery 的組成元件</h2>



<p class="wp-block-paragraph">(一) <a href="https://cloud.google.com/bigquery/docs/datasets-intro">Dataset</a>：資料的邏輯分組</p>



<p class="wp-block-paragraph">Dataset 是 BigQuery 的核心概念之一。你可以將 Dataset 理解為數據的邏輯容器，用於組織和管理 Tables 與 Views。</p>



<p class="wp-block-paragraph">每個 Dataset 都屬於一個特定的專案，並可以設定資料位置、存取權限與加密選項。</p>



<h4 class="wp-block-heading">Dataset 的特點：</h4>



<p class="wp-block-paragraph">1. 幫助你有效組織資料（例如將不同部門的數據分開存放）。 </p>



<p class="wp-block-paragraph">2. 支援跨 Dataset 查詢，方便資料整合。 </p>



<p class="wp-block-paragraph">3. 具有細緻的權限管理，確保數據安全。</p>



<h3 class="wp-block-heading">(二) <a href="https://cloud.google.com/bigquery/docs/tables-intro">Table</a>：儲存結構化資料的基本單位</h3>



<p class="wp-block-paragraph">Table 是 BigQuery 中存放數據的主要單位。每張 Table 包含行與列，類似於傳統的關聯式資料表，但支持更大規模的資料。</p>



<h4 class="wp-block-heading">BigQuery 支持的 Table 類型</h4>



<p class="wp-block-paragraph">1. 永久表（Permanent Table）</p>



<p class="wp-block-paragraph">一般的資料表，存放數據直到你手動刪除。</p>



<p class="wp-block-paragraph">2. 臨時表（Temporary Table）</p>



<p class="wp-block-paragraph">這些表僅在查詢執行期間存在，適合處理臨時性的中間結果，你每次查詢永久表的結果，它都會暫存 24 小時。</p>



<p class="wp-block-paragraph">3. 分區表（Partitioned Table）</p>



<p class="wp-block-paragraph">這種表根據時間（例如日期）、數字範圍或數據欄位進行分區，能有效提升查詢效能並降低成本。</p>



<p class="wp-block-paragraph">4. 分片表（Sharded Table）</p>



<p class="wp-block-paragraph">通過表名結構（如 `table_202311`）分片，雖然靈活，但不如分區表高效。</p>



<h3 class="wp-block-heading">(三) <a href="https://cloud.google.com/bigquery/docs/views-intro">View</a>：基於查詢語句的虛擬表</h3>



<p class="wp-block-paragraph">View 是基於 SQL 查詢創建的虛擬表，讓你能透過查詢結果像操作實際表一樣進行使用。</p>



<h4 class="wp-block-heading">BigQuery 支持的 View 類型：</h4>



<p class="wp-block-paragraph">1. 標準 View（Standard View）</p>



<p class="wp-block-paragraph">基於靜態查詢語句，直接返回當前的查詢結果。</p>



<p class="wp-block-paragraph">2. 授權 View（Authorized View）</p>



<p class="wp-block-paragraph">允許你控制使用者對基礎表的存取權限。授權 View 是在敏感數據共享中非常實用的工具。</p>



<p class="wp-block-paragraph">3. 物化 View（Materialized View）</p>



<p class="wp-block-paragraph">將查詢結果存儲起來，從而加速重複查詢的性能，同時降低計算資源的使用。</p>



<p class="wp-block-paragraph">View 的優勢：</p>



<p class="wp-block-paragraph">1. 簡化複雜查詢，減少重複 SQL 撰寫的麻煩。</p>



<p class="wp-block-paragraph">2. 可作為權限管理的工具，限制對底層數據的存取，因為它能透過很靈活的語法，從各個表格抓取和過濾資料，給有適當權限的人看。</p>



<p class="wp-block-paragraph">3. 提高效能，特別是使用物化 View 時。</p>



<h2 class="wp-block-heading">四、BigQuery 的特色</h2>



<h3 class="wp-block-heading">(一) 無伺服器架構的便利性</h3>



<p class="wp-block-paragraph">BigQuery 不需要你配置伺服器或管理基礎設施，讓你能將精力集中在數據分析上，而非繁瑣的運維工作。</p>



<p class="wp-block-paragraph">光是這一點，就完全屌打巿面上所有資料倉儲和分析工具，像是 AWS 和 Azure 還要開機器，主機效能受限於你開的規格，BigQuery 完全不問規格，自動依照你的資料量瞬間呼叫機器幫你運算。</p>



<h3 class="wp-block-heading">(二) Pay-as-you-go 計費模式</h3>



<p class="wp-block-paragraph">BigQuery 採用<a href="https://cloud.google.com/bigquery/pricing">按 Query 量 (處理的資料量) 計費</a>，確保你只需為實際使用的資源付費，這對於中小型企業尤其有吸引力。</p>



<p class="wp-block-paragraph">不過也要注意，因為BigQuery 太方便了，你很容易就不小心 Query 太多資料，未來會再介紹節省 BigQuery 費用的方法。</p>



<h3 class="wp-block-heading">(三) 跨地區資料分析的優勢</h3>



<p class="wp-block-paragraph">BigQuery 支持跨地區資料分析，讓你能從全球各地的數據中快速獲得洞察，而不必擔心資料傳輸的延遲。</p>



<h2 class="wp-block-heading">五、使用 BigQuery 的主要優勢</h2>



<p class="wp-block-paragraph">(一) 企業如何受益於 BigQuery</p>



<p class="wp-block-paragraph">BigQuery 幫助企業節省成本、提升效率，並提供即時的數據洞察，這些都是在數據驅動時代中脫穎而出的關鍵。</p>



<p class="wp-block-paragraph">值得提的一點是企業不用在初期一口氣花好幾百萬，購買一套資料倉儲，而是每月依使用量計費，減少一口氣支出太多的負擔。</p>



<p class="wp-block-paragraph">(二) 開發者與資料科學家的支援</p>



<p class="wp-block-paragraph">BigQuery 提供 SQL 語法支援，且與各種開發工具兼容，讓開發者能快速上手並整合到現有的工作流程中。</p>



<h2 class="wp-block-heading">六、如何開始使用 BigQuery？</h2>



<h3 class="wp-block-heading">(一) 建立專案與資料集</h3>



<p class="wp-block-paragraph">首先，你需要在 Google Cloud Console 中<a href="https://dongdonggcp.wordpress.com/2024/02/01/how-to-apply-gcp-free-usage-credit-300-dollars/">建立一個專案</a>，並<a href="https://cloud.google.com/bigquery/docs/datasets">設定資料集</a>，這是你管理資料的基礎。</p>



<h3 class="wp-block-heading">(二) 撰寫查詢語法與分析資料</h3>



<p class="wp-block-paragraph">利用 BigQuery 提供的<a href="https://cloud.google.com/bigquery/docs/introduction-sql?hl=zh-cn">標準 SQL</a>，你可以輕鬆撰寫查詢語法，並快速分析資料，甚至建立視覺化的報表。</p>



<h2 class="wp-block-heading">七、結論</h2>



<p class="wp-block-paragraph">BigQuery 是一個功能強大且靈活的資料分析工具，無論是對於初創企業還是大型組織，都能帶來明顯的價值。如果你正在尋找一種高效處理數據的解決方案，不妨考慮使用 BigQuery。</p>



<h2 class="wp-block-heading">八、常見問題解答</h2>



<p class="wp-block-paragraph">1. BigQuery 是免費的嗎？</p>



<p class="wp-block-paragraph">BigQuery 提供<a href="https://cloud.google.com/bigquery/docs/sandbox">免費沙箱</a>，你連信用卡都不用就可以玩，每月包含 1 TB 的查詢和 10 GB 的存儲，超出部分需按使用量付費。 </p>



<p class="wp-block-paragraph">2. BigQuery 支持哪些資料格式？</p>



<p class="wp-block-paragraph">它支持 CSV、JSON、Parquet、Avro 等多種格式，適合不同的資料需求。 </p>



<p class="wp-block-paragraph">3. 如何與第三方工具整合？</p>



<p class="wp-block-paragraph">BigQuery 可以通過 API 或第三方工具如 Tableau、Power BI 進行整合，方便創建報告。 </p>



<p class="wp-block-paragraph">4. BigQuery 的資料安全性如何保障？</p>



<p class="wp-block-paragraph">BigQuery 提供強大的資料加密與訪問控制，不管是 Dataset、Table、View 都可以單獨分享存取權限，並符合多項全球合規標準。 </p>



<p class="wp-block-paragraph">5. BigQuery 可以取代傳統數據庫嗎？</p>



<p class="wp-block-paragraph">它適合用於分析數據，但不適合作為交易型資料庫（OLTP）。</p>



<p class="wp-block-paragraph">意思就是不能當一般的資料庫，每天不間斷 Insert、Update、Delete 的意思。</p>



<p class="wp-block-paragraph">影片版的介紹如下：</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="[BigQuery 教學] 046 雲端界陳浩南 - BigQuery 到底有多快？| 簡報免費下載" width="1200" height="675" src="https://www.youtube.com/embed/QVakI1csb3g?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure><p>The post <a href="https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/">[BigQuery 教學]  雲端界陳浩南 – BigQuery 是什麼？功能、組成元件、特色和優勢完整介紹</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/11/23/what-is-bigquery-functions-advantages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Dataflow 教學] Dataflow 是什麼？跟 Apache Beam 有什麼關係？</title>
		<link>https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-dataflow-vs-apache-beam</link>
					<comments>https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Sat, 23 Nov 2024 07:29:12 +0000</pubDate>
				<category><![CDATA[Google Cloud Platform]]></category>
		<category><![CDATA[Apache Beam]]></category>
		<category><![CDATA[Data Pipeline]]></category>
		<category><![CDATA[Dataflow]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[大數據]]></category>
		<category><![CDATA[資料管道]]></category>
		<category><![CDATA[資料處理]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=7975</guid>

					<description><![CDATA[<p>Dataflow 是 GCP 資料三兄弟 [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/">[Dataflow 教學] Dataflow 是什麼？跟 Apache Beam 有什麼關係？</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph"><a href="https://cloud.google.com/dataflow/docs/overview">Dataflow</a> 是 GCP 資料三兄弟的老二 (依知名度排行)，你的資料要放進 <a href="https://cloud.google.com/bigquery?hl=zh-TW">BigQuery</a> 分析之前，要先整理好資料的格式，所以 GCP 強力推薦使用 Dataflow。</p>



<p class="wp-block-paragraph">為什麼不用 VM 就好？你可以直接跳到最後一段！</p>



<h2 class="wp-block-heading">一、Dataflow 是什麼？</h2>



<p class="wp-block-paragraph">想像你是一間工廠的管理者，每天都要處理大量的原物料（資料）。這些原物料需要經過各種加工程序，最後變成成品。</p>



<p class="wp-block-paragraph">GCP 的 Dataflow 就像是一個全自動的生產線系統，你只要設定好要怎麼處理這些原物料，它就會自動幫你完成所有工序，而且還會自動調整工人（運算資源）的數量。</p>



<h2 class="wp-block-heading">二、Dataflow 舉例說明</h2>



<p class="wp-block-paragraph">當然這樣子講還是有點模糊，舉個實際的例子來說：假設你需要處理每天的銷售資料，Dataflow 可以自動幫你：</p>



<ol class="wp-block-list">
<li>收集各個分店的銷售資料</li>



<li>清理不正確的資料</li>



<li>計算各種統計數字</li>



<li>把結果存到資料庫</li>
</ol>



<h2 class="wp-block-heading">三、Dataflow 跟 Apache Beam 有什麼關係？</h2>



<p class="wp-block-paragraph"><a href="https://beam.apache.org/about/">Apache Beam</a> 是 Dataflow 的原型，GCP 只是把跟 Apache Beam 做一些加值的優化，放在 GCP 上，這樣你就不用自己在地端安裝和設定 Apache Beam，節省很多準備環境 (尤其是機器的安裝設定) 的時間。</p>



<p class="wp-block-paragraph">Apache Beam 就像是一套標準的工廠作業規範。它定義了一些基本的處理方式，讓你可以用同一種方式來描述你想要的資料處理流程，不管最後是要在哪裡執行。</p>



<h2 class="wp-block-heading">四、Apache Beam 的組成元件</h2>



<p class="wp-block-paragraph">讓我們來看看它的主要組成元件：</p>



<p class="wp-block-paragraph">1. Pipeline（管線）： 這就像是整個工廠的生產線規劃圖，定義了資料要如何從原料變成成品，經過哪些步驟。</p>



<p class="wp-block-paragraph">2. PCollection（資料集合）： 把它想像成工廠裡的輸送帶，上面放著要處理的原料或半成品。每次資料經過一道處理程序，就會形成新的一條輸送帶。</p>



<p class="wp-block-paragraph">3. Transform（轉換）： 這就是工廠裡的各種加工設備，例如：</p>



<ul class="wp-block-list">
<li>ParDo：像是一個工作站，可以對每件原料進行客製化處理</li>



<li>GroupByKey：就像是分類站，把相同種類的產品集中在一起</li>



<li>Combine：類似於組裝線，把多個零件組合成一個成品</li>
</ul>



<p class="wp-block-paragraph">4. I/O Transforms（輸入輸出轉換）： 就像工廠的原料進貨口和成品出貨口，決定資料要從哪裡讀入，最後要存到哪裡去。</p>



<p class="wp-block-paragraph">5. Window（時間窗口）： 假設你想要每小時統計一次生產數量，Window 就是幫你把資料按照時間切分的工具。</p>



<p class="wp-block-paragraph">6. Trigger（觸發器）： 就像是工廠的警報系統，當某些條件達成時（比如收集到足夠的數據），就會觸發特定的處理程序。</p>



<p class="wp-block-paragraph">最重要的是，這整套系統的特色是：</p>



<ul class="wp-block-list">
<li>全自動化：設定好後就會自動運作</li>



<li>可擴展性：需要處理更多資料時，會自動增加處理能力</li>



<li>容錯能力：即使某部分出問題，系統也能自動恢復</li>



<li>即時處理：能夠處理即時流入的資料，也能處理已存在的資料</li>
</ul>



<p class="wp-block-paragraph">關於 Apache Beam 詳細說明可以參考<a href="https://beam.apache.org/about/">這份文件</a>。</p>



<h2 class="wp-block-heading">五、從具體的角度再解釋一次 Apache Beam 的組成元件</h2>



<h3 class="wp-block-heading">1. Pipeline（管線）</h3>



<p class="wp-block-paragraph">從技術角度來看，Pipeline 是整個數據處理的骨幹，它包含了所有的處理步驟和邏輯。</p>



<pre class="wp-block-code"><code># Pipeline 的基本架構
pipeline = beam.Pipeline()
result = (pipeline 
    | "讀取資料" &gt;&gt; ReadFromText('input.csv')
    | "處理資料" &gt;&gt; Process()
    | "寫入結果" &gt;&gt; WriteToText('output.txt'))</code></pre>



<p class="wp-block-paragraph">例子：處理網站日誌文件，從讀取原始日誌、解析內容、到產生報表的整個流程。</p>



<h3 class="wp-block-heading">2. PCollection（資料集合）</h3>



<p class="wp-block-paragraph">這是 Beam 中最基本的資料結構，可以存放任何型別的資料，而且是不可變的（immutable）。每次轉換都會產生新的 PCollection。</p>



<pre class="wp-block-code"><code># 一個包含用戶訪問記錄的 PCollection
visits = pipeline | beam.Create(&#091;
    {'user': 'A', 'page': '/home', 'time': '2024-01-01 10:00'},
    {'user': 'B', 'page': '/products', 'time': '2024-01-01 10:05'}
])</code></pre>



<p class="wp-block-paragraph">例子：存放使用者的點擊記錄，每筆記錄包含用戶ID、訪問頁面、時間戳等資訊。</p>



<h3 class="wp-block-heading">3. Transform（轉換） </h3>



<p class="wp-block-paragraph">轉換是對 PCollection 進行操作的處理單元。主要類型包括：</p>



<p class="wp-block-paragraph">(1) ParDo（並行處理）：</p>



<pre class="wp-block-code"><code># 解析每一行日誌並提取重要資訊
class ParseLog(beam.DoFn):
    def process(self, element):
        user, action, timestamp = element.split(',')
        return &#091;{
            'user': user,
            'action': action,
            'timestamp': timestamp
        }]

logs | beam.ParDo(ParseLog())</code></pre>



<p class="wp-block-paragraph">例子：將原始的日誌文字轉換成結構化的資料格式。</p>



<p class="wp-block-paragraph">(2) GroupByKey（分組）：</p>



<pre class="wp-block-code"><code># 依照用戶ID分組，統計每個用戶的訪問次數
user_visits = (visits 
    | beam.Map(lambda x: (x&#091;'user'], 1))
    | beam.GroupByKey()
    | beam.Map(lambda x: {x&#091;0]: sum(x&#091;1])})
)</code></pre>



<p class="wp-block-paragraph">例子：統計每個用戶在不同頁面的停留時間。</p>



<p class="wp-block-paragraph">(3) Combine（合併）：</p>



<pre class="wp-block-code"><code># 計算每個頁面的總訪問次數
page_visits = (visits
    | beam.Map(lambda x: (x&#091;'page'], 1))
    | beam.CombinePerKey(sum)
)</code></pre>



<p class="wp-block-paragraph">例子：計算網站每個頁面的總瀏覽量。</p>



<h3 class="wp-block-heading">4. I/O Transforms（輸入輸出轉換）</h3>



<pre class="wp-block-code"><code># 從多個來源讀取資料
logs = pipeline | beam.io.ReadFromText('logs/*.txt')
# 寫入到資料庫
results | beam.io.WriteToMongoDB(uri='mongodb://localhost:27017')</code></pre>



<p class="wp-block-paragraph">例子：從 S3 讀取日誌檔案，處理後寫入到 BigQuery。</p>



<h3 class="wp-block-heading">5. Window（時間窗口）</h3>



<pre class="wp-block-code"><code># 每5分鐘統計一次訪問量
windowed_counts = (visits
    | beam.WindowInto(window.FixedWindows(300))  # 5分鐘
    | beam.GroupByKey()
    | beam.Map(count_visits)
)</code></pre>



<p class="wp-block-paragraph">例子：統計每小時的活躍用戶數，或計算每分鐘的交易金額。</p>



<h3 class="wp-block-heading">6. Trigger（觸發器）</h3>



<pre class="wp-block-code"><code># 當收集到100筆資料或等待時間超過1分鐘時觸發處理
early_results = (data
    | beam.WindowInto(
        window.GlobalWindows(),
        trigger=trigger.Repeatedly(
            trigger.AfterCount(100) | 
            trigger.AfterProcessingTime(60)
        ),
        accumulation_mode=trigger.AccumulationMode.DISCARDING
    )
)</code></pre>



<p class="wp-block-paragraph">例子：即時監控系統，當檢測到異常訪問模式時立即觸發警報。</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">六、Apache Beam 實際應用整合範例</h2>



<pre class="wp-block-code"><code># 完整的網站訪問分析pipeline
def analyze_website_logs():
    with beam.Pipeline() as pipeline:
        results = (pipeline
            | "讀取日誌" &gt;&gt; beam.io.ReadFromText('logs/*.txt')
            | "解析日誌" &gt;&gt; beam.ParDo(ParseLog())
            | "加上時間窗口" &gt;&gt; beam.WindowInto(window.FixedWindows(3600))
            | "依頁面分組" &gt;&gt; beam.Map(lambda x: (x&#091;'page'], 1))
            | "計算訪問量" &gt;&gt; beam.CombinePerKey(sum)
            | "格式化輸出" &gt;&gt; beam.Map(format_output)
            | "寫入結果" &gt;&gt; beam.io.WriteToText('results.txt')
        )</code></pre>



<p class="wp-block-paragraph">這個例子展示了如何使用這些組件來建立一個完整的數據處理流程：</p>



<ol class="wp-block-list">
<li>讀取多個日誌文件</li>



<li>解析每條日誌記錄</li>



<li>設定每小時的分析窗口</li>



<li>按頁面分組並計算訪問量</li>



<li>格式化輸出結果</li>



<li>將結果寫入文件</li>
</ol>



<p class="wp-block-paragraph">這樣的資料處理管道可以處理任意大小的資料集，而且能夠自動擴展和容錯。</p>



<p class="wp-block-paragraph">需要注意的是，這些程式碼都是在本地端執行，如果要在 GCP Dataflow 上運行，只需要修改 Pipeline 的執行器設定即可，程式碼邏輯不需要改變。</p>



<h2 class="wp-block-heading">七、為什麼不自己在 VM 上寫 Python 來處理資料就好？為何要用 Dataflow？到底差在哪裡？</h2>



<p class="wp-block-paragraph">讓我用實際的例子來說明在 VM 上自己寫 Python 處理資料，與使用 Dataflow 的差異。</p>



<p class="wp-block-paragraph">情境：處理每日 100GB 的使用者點擊日誌 Log</p>



<h3 class="wp-block-heading">(一) 在 VM 上自己寫 Python 的程式碼大概長這樣子：</h3>



<pre class="wp-block-code"><code># 在單一 VM 上運行的 Python 程式碼
def process_logs():
    with open('huge_logs.txt', 'r') as file:
        for line in file:
            user_data = parse_log(line)
            # 處理記憶體不足的問題
            if memory_usage &gt; threshold:
                save_temporary_results()
                clear_memory()
            
            # 處理單機運算慢的問題
            processed_data = complex_calculation(user_data)  # 可能要跑很久
            
            # 處理機器當機的問題
            try:
                save_to_database(processed_data)
            except ConnectionError:
                retry_save(processed_data)  # 需要自己寫重試機制 (retry)</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">可能會遇到的問題：</p>



<ol class="wp-block-list">
<li><strong>記憶體限制</strong>
<ul class="wp-block-list">
<li>VM 記憶體用完就崩潰</li>



<li>需要自己寫程式分批處理</li>



<li>要自己管理暫存資料</li>
</ul>
</li>



<li><strong>運算效能</strong>
<ul class="wp-block-list">
<li>單機處理 100GB 可能要跑一整天，花錢</li>



<li>CPU 滿載可能影響其他程式</li>



<li>擴充需要自己開更多 VM、寫分散式程式，管機器太累了</li>
</ul>
</li>



<li><strong>錯誤處理</strong>
<ul class="wp-block-list">
<li>程式崩潰要從頭重跑</li>



<li>網路斷線要自己處理</li>



<li>VM 當機就前功盡棄</li>
</ul>
</li>



<li><strong>監控和維護</strong>
<ul class="wp-block-list">
<li>要自己寫 Log</li>



<li>要自己監控 CPU/記憶體</li>



<li>要自己處理備份</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">(二) 使用 Dataflow 的情況</h2>



<pre class="wp-block-code"><code># Dataflow 程式碼
with beam.Pipeline(options=PipelineOptions()) as pipeline:
    results = (pipeline 
        | 'ReadLogs' &gt;&gt; ReadFromText('gs://bucket/huge_logs.txt')
        | 'ParseLogs' &gt;&gt; beam.ParDo(ParseLogFn())
        | 'CalculateResults' &gt;&gt; beam.ParDo(ComplexCalculationFn())
        | 'WriteToDB' &gt;&gt; WriteToDatabase()
    )</code></pre>



<p class="wp-block-paragraph">不覺得看起來簡單很多嗎？接下來看一下 Dataflow 自動處理的部分：</p>



<ol class="wp-block-list">
<li><strong>自動擴展（Auto-scaling）</strong>
<ul class="wp-block-list">
<li>自動偵測資料量</li>



<li>自動增加/減少運算資源</li>



<li>不用擔心記憶體爆掉</li>
</ul>
</li>



<li><strong>平行處理（Parallel Processing）</strong>
<ul class="wp-block-list">
<li>自動分散工作到多台機器</li>



<li>100GB 資料可能 1 小時就處理完</li>



<li>有效利用 Google 的運算資源</li>
</ul>
</li>



<li><strong>錯誤恢復（Fault Tolerance）</strong>
<ul class="wp-block-list">
<li>某台機器掛掉會自動重試</li>



<li>網路問題自動處理</li>



<li>不會從頭重跑，從上次中斷點繼續</li>
</ul>
</li>



<li><strong>監控和維護</strong>
<ul class="wp-block-list">
<li>完整的監控儀表板</li>



<li>即時查看處理進度</li>



<li>系統層級的 Log</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">(三) 何時用 Dataflow 或 VM？</h2>



<h3 class="wp-block-heading">什麼時候選擇 Dataflow：</h3>



<ol class="wp-block-list">
<li>資料量大（&gt;10GB）</li>



<li>需要即時處理（Streaming）</li>



<li>處理邏輯複雜</li>



<li>需要可靠的錯誤處理</li>



<li>需要自動擴展</li>



<li>預算允許（雖然比 VM 貴，但省下很多人力跟時間）</li>
</ol>



<h3 class="wp-block-heading">什麼時候用 VM 就夠：</h3>



<ol class="wp-block-list">
<li>資料量小（&lt;1GB）</li>



<li>單次處理就好</li>



<li>處理邏輯簡單</li>



<li>不急著要結果 (你可以使用 Spot VM 享受 60%~90% Off 的折扣)</li>



<li>預算有限</li>
</ol>



<p class="wp-block-paragraph">重點是：Dataflow 不只是一個執行環境，而是一個完整的資料處理平台。雖然前期學習成本較高，但在處理大量資料時，會省下更多開發和維護的時間。</p>



<p class="wp-block-paragraph">這就像是比較「自己蓋房子」和「請建商蓋房子」的差異 &#8211; 雖然請建商比較貴，但他們有完整的團隊、標準流程和品質保證，最終反而更有效率。</p>



<p class="wp-block-paragraph">以上先簡單介紹一下，之後再深入介紹技術細節和實際操作。</p>



<p class="wp-block-paragraph"></p><p>The post <a href="https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/">[Dataflow 教學] Dataflow 是什麼？跟 Apache Beam 有什麼關係？</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/11/23/what-is-dataflow-vs-apache-beam/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
