【資料分析】python機器學習-什麼是多重共線性? 多重共線性所引發問題與處理

閱讀時間約 4 分鐘
raw-image

多重共線性是指在迴歸模型中,兩個或多個自變數(特徵)之間存在高度線性相關的情況。當自變數之間有很強的線性關係時,這會導致模型難以準確估計每個變數對目標變數的獨立影響,從而使回歸係數不穩定,並且降低模型的解釋性和預測能力。


# 可使用目錄功能快速確認要閱覽的主題



多重共線性的基本概念

多重共線性的定義

多重共線性是指在迴歸模型中,自變數之間存在高度的線性相關性。具體來說,如果自變數 X1​ 和 X2 之間的相關性非常高,那麼可以認為它們存在多重共線性。當自變數之間的共線性非常強時,這些變數對迴歸模型的貢獻變得難以分離。




多重共線性產生的原因


1. 自變數之間存在強相關性

這是多重共線性最直接的原因。如果某些自變數之間具有很高的線性相關性,那麼這些變數就可能會影響模型的穩定性。當一個自變數可以被另一個或多個自變數近似表示時,這些變數之間就存在多重共線性。


2. 樣本數量不足

當樣本數量相對較小而自變數的數量較多時,模型更容易出現多重共線性。樣本數不足會導致模型無法準確估計每個自變數對因變數的貢獻,從而增加了自變數之間的共線性。


3. 虛擬變數陷阱(Dummy Variable Trap)

在使用虛擬變數(Dummy Variables)時,如果將所有類別變數的虛擬變數都放入模型中,這會導致共線性。因為不同類別的虛擬變數之間存在完全的相關性。例如,如果性別被分為兩個虛擬變數,MaleFemale,其中一個變數可以完全由另一個變數表示,從而導致共線性。


4. 特徵工程錯誤

在進行特徵工程時,如果不小心創造了過多的相關變數(例如,從原始變數衍生出過多的相關特徵),這會增加自變數之間的共線性。例如,當兩個特徵是同一變量的不同表現形式(如百分比和總數)時,它們之間通常會有高度相關性。


5. 數據收集過程中的誤差

在數據收集中,如果某些變數的度量標準不一致或數據變異性不足,也會引起共線性問題。例如,當多個自變數來自於同一來源且測量不準確時,這些變數可能會顯示出強烈的相關性。




多重共線性的影響


1. 回歸係數的不穩定

當存在多重共線性時,迴歸模型的係數估計變得不穩定。自變數之間高度相關性會導致迴歸係數難以準確估計,甚至會出現異常大的正負值變化,這使得解釋模型中每個變數的單獨貢獻變得困難。

  • 高方差:由於共線性,模型中每個係數的標準誤會增大,這表明模型無法穩定地估計這些係數。
  • 係數的正負號變異:在多重共線性嚴重時,某些變數的迴歸係數的符號可能會與預期不符。例如,理論上應該是正影響的變數在模型中可能會表現為負影響。


2. 降低模型的解釋性

多重共線性會影響對每個變數的獨立解釋。由於自變數之間的高度相關性,模型無法準確分離每個變數對因變數的貢獻,這會使得模型的解釋變得模糊和不明確。

  • 變數重要性難以分辨:當兩個變數高度相關時,模型無法區分它們中哪個對結果的影響更大。
  • 模型的理論解釋受限:如果模型係數無法正確解釋,則可能難以從中得到有意義的結論,從而降低模型的實際應用價值。


3. 模型預測能力下降

多重共線性可能會影響模型在新數據上的預測能力。雖然多重共線性不一定會直接導致預測精度下降,但它可能會使模型在應對新的數據集時變得不穩定。

  • 過擬合風險增加:如果存在多重共線性,模型可能會過度擬合訓練數據,這會導致在測試集或新數據上的預測能力下降。
  • 模型的不穩定性:由於共線性,模型在不同數據集上的表現可能波動較大,使得模型的預測結果變得不穩定。


4. 顯著性檢驗不準確

由於多重共線性會使自變數之間的估計相互依賴,這會影響自變數的顯著性檢驗結果。當共線性嚴重時,某些變數的 ppp-值會變大,導致這些變數看似對模型無顯著貢獻,雖然實際上這些變數可能仍然重要。




多重共線性的識別方法


1. 相關矩陣

相關矩陣是一個用於顯示自變數之間兩兩相關性的表格。每個變數與其他變數的線性相關性(通常使用皮爾森相關係數)被計算出來,並顯示在矩陣中。相關係數的取值範圍是從 -1 到 1,具體解釋如下:

  • 1 表示完全正相關,兩個變數隨著其中一個變數的增加而增加。
  • 0 表示沒有線性相關性。
  • -1 表示完全負相關,兩個變數隨著其中一個變數的增加而減少。
import matplotlib.pyplot as plt
import seaborn as sns

# 假設 df 是一個包含自變數的數據框
# 使用皮爾森相關係數來計算相關係數矩陣
correlation_matrix = df.corr()

# 繪製相關係數矩陣熱圖
plt.figure(figsize=(10, 6))
sns.heatmap(correlation_matrix,annot=True,cmap='coolwarm')
plt.title('Correlation Matrix')
plt.show()
raw-image

從這個例子中可以看到,
total sulfur dioxide 和 free sulfur dioxide 之間的強正相關(0.67),
density 和 fixed acidity 之間的正相關(0.67),
pH 和 fixed acidity 之間的負相關(-0.68),
當兩個或多個自變數之間的相關係數接近 1 或 -1 時,這表明這些變數之間存在高度的共線性。如果相關性非常高,則可能需要對模型進行調整,因為這可能導致回歸模型中自變數係數估計的不穩定性。


相關矩陣優點

  • 簡單直觀

相關矩陣提供了一種簡單且易於解釋的方式來檢查變數之間的線性相關性。通過查看兩兩變數之間的相關係數,你可以快速找到高度相關的變數。

  • 兩兩變數之間的相關性

相關矩陣專注於兩兩變數之間的相關性,能夠直接顯示出變數之間是否有明顯的正相關或負相關,適合初步分析。

  • 易於可視化

相關矩陣可以很容易地用於繪製熱力圖(如 Seaborn 的 heatmap),幫助直觀地理解變數之間的相關性結構。

  • 檢測正負相關性

相關矩陣可以顯示變數之間是正相關還是負相關,這在解釋變數之間的關係時很有幫助。


相關矩陣缺點

  • 只顯示兩兩變數之間的關係

相關矩陣只能檢測兩個變數之間的相關性,無法揭示一個變數與多個變數的整體關係。這意味著它無法檢測多重共線性中的複雜線性依賴。

  • 無法衡量多變量共線性

多重共線性可能涉及多個變數的相互作用,而相關矩陣只能處理兩個變數之間的相關性,無法捕捉多變數之間的線性依賴性。

  • 忽略非線性關係

相關矩陣只能檢測線性相關性,對於非線性關係無法檢測。因此,變數之間可能存在非線性共線性,相關矩陣無法識別這些情況。




2. 方差膨脹因子(VIF)

方差膨脹因子(VIF, Variance Inflation Factor)是用來量化自變數之間多重共線性程度的指標。VIF 衡量一個變數是否能被其他變數線性解釋。具體來說,VIF 反映的是某個自變數在模型中的方差受其他自變數影響的程度。VIF 值越高,表示該變數的多重共線性問題越嚴重。

import pandas as pd
import numpy as np
from statsmodels.stats.outliers_influence import variance_inflation_factor
from statsmodels.tools.tools import add_constant

# 假設 df 是你的數據框,其中包含多個自變數
X = df.copy()

# 增加常數項(以便回歸模型有截距)
X = add_constant(X)

# 計算每個變數的 VIF
vif_data = pd.DataFrame()
vif_data["feature"] = X.columns
vif_data["VIF"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]

print(vif_data)


"""
feature VIF
0 const 1.711696e+06
1 fixed acidity 7.772051e+00
2 volatile acidity 1.879663e+00
3 citric acid 3.131055e+00
4 residual sugar 1.703859e+00
5 chlorides 1.500591e+00
6 free sulfur dioxide 1.968010e+00
7 total sulfur dioxide 2.214467e+00
8 density 6.346491e+00
9 pH 3.339511e+00
10 sulphates 1.487286e+00
11 alcohol 3.238899e+00
12 quality 1.563848e+00
"""

VIF 的數值反映了自變數之間的共線性程度。一般來說,VIF 的解釋標準如下:

  • VIF = 1:該變數與其他變數沒有相關性(完全獨立)。
  • 1 < VIF ≤ 5:該變數存在中等的多重共線性,但在模型中屬於可接受範圍。
  • VIF > 5:該變數存在較強的多重共線性,建議進行進一步分析或處理。
  • VIF > 10:共線性問題非常嚴重,這時應考慮刪除該變數或採取其他措施來減少共線性。

通過計算每個變數的 VIF,可以清楚地識別出哪些變數存在高度的共線性。如果一個變數的 VIF 值過高,應考慮移除該變數,或通過其他技術(如主成分分析或正則化)來處理多重共線性。


VIF 優點:

  • 衡量變數與多個變數的整體共線性

VIF 是針對每個變數進行的多重回歸分析,衡量一個變數與所有其他變數的線性依賴程度。因此,它可以檢測變數之間的多變量共線性,這是相關矩陣無法做到的。

  • 量化多重共線性程度

VIF 提供了具體的數值來量化多重共線性的嚴重程度。你可以根據 VIF 值來判斷某個變數是否可能導致模型中的共線性問題(通常超過 5 或 10 的 VIF 值需要注意)。

  • 捕捉複雜的共線性關係

由於 VIF 是基於一個變數與其他所有變數的回歸,它能夠捕捉涉及多個變數的複雜共線性關係,而不僅僅是兩個變數之間的相關性。

  • 可以應對多變數組合問題

VIF 可以揭示那些難以在相關矩陣中發現的共線性問題,特別是在多個變數之間有重疊信息時。


VIF 缺點:

  • 無法檢測兩兩變數之間的相關性

VIF 測試的是某個變數與其他所有變數的線性組合關係,而不是檢測兩個變數之間的簡單相關性。因此,如果你關注兩個變數之間的高度相關性,VIF 無法提供這方面的直接信息。

  • 無法識別正負相關性

VIF 只給出一個整體共線性程度的指標,但它不會告訴你變數之間是正相關還是負相關。相比之下,相關矩陣可以顯示變數之間的正負相關性。

  • 計算成本相對較高

對於每個變數,VIF 都需要進行多重回歸計算,這在變數數量較大時可能會增加計算負擔。相比之下,相關矩陣的計算成本相對較低。

  • 無法應對非線性共線性

和相關矩陣一樣,VIF 只能檢測線性共線性。它無法捕捉非線性的依賴關係。




3. 相關矩陣呈現明顯相關但VIF測試沒有顯示出問題

我們有時候會遇到使用相關矩陣,發現有兩個變數有很明顯的關聯,但是在使用VIF測試時沒有顯示出多重共線性問題,原因是因為VIF 測試不僅考慮兩者變數之間的相關性,還考慮了所有變數之間的影響,若有兩個變數之間的相關矩陣分析呈現明顯有關聯,但它們都不能被其他變數的線性組合很好地解釋,那麼它們的 VIF 值就不會很高。
即使 VIF 沒有顯示出共線性問題,這兩個變數可能仍然攜帶冗餘信息。在這種情況下,可以考慮進行特徵選擇或降維處理(如主成分分析,PCA)來減少冗餘信息。
我們可以將 相關矩陣VIF 測試結合使用,這樣可以更好地理解變數之間的相關性及其對模型穩定性的影響。




解決多重共線性的方法


1. 刪除或合併相關變數

刪除或合併那些具有高度相關性的變數是最直接解決多重共線性的方式。當多個變數之間具有高度的相關性時,這些變數可能攜帶相似的冗餘信息。刪除其中一個變數或合併它們可以幫助減少多重共線性。


如何實施:

  • 刪除變數
    • 如果發現兩個或多個變數具有很高的相關性(通常相關係數大於 0.7 或 0.8),可以選擇刪除其中一個變數。
    • 刪除變數的標準通常依賴於變數的重要性分析(如特徵重要性、信息增益等)。你可以刪除對模型預測貢獻較小的變數。
  • 合併變數
    • 如果變數之間具有相似的含義或信息,並且它們是線性相關的,可以考慮合併變數。例如,將類似性質的變數通過平均值、加權平均或某些計算合併成一個新的變數。
    • 另一個合併方式是通過指數或比率來合併相關變數。


刪除或合併相關變數優點:

  • 方法簡單,容易實施。
  • 能夠快速消除冗餘的變數,簡化模型結構。

刪除或合併相關變數缺點:

  • 刪除變數可能會丟失部分有用的信息,從而導致模型精度下降。
  • 合併變數時,可能會導致信息損失,因為合併後的變數可能無法完全保留每個變數原本的特徵。

刪除或合併相關變數適用場景:

  • 當兩個或多個變數高度相關且彼此之間的影響難以區分時,刪除或合併變數是適合的選擇。
  • 適用於希望保持模型簡潔的情況。




2. 正則化(Lasso, Ridge)

正則化是一種在模型中添加懲罰項來減少模型複雜度的技術。它可以有效地減少多重共線性問題,因為它能縮小變數的係數,使得高度相關的變數對模型的影響變得更小。常見的正則化方法有 Lasso 回歸Ridge 回歸

正則化的使用方法以及介紹可以參考以下:

【資料分析】python機器學習-Overfitting的判斷與處理


正則化優點:

  • 可以有效減少多重共線性對模型的影響,提升模型的穩定性。
  • Lasso 回歸具有自動選擇變數的功能,這可以在保留最重要變數的同時減少冗餘變數。

正則化缺點:

  • Ridge 回歸無法完全去除無用變數,它只會縮小它們的影響,而不是完全消除。
  • Lasso 回歸可能在某些數據集中忽略掉部分重要變數,特別是在變數數量多且某些變數之間關聯性較強時。

正則化適用場景:

  • 當模型中存在多個自變數,且你不想刪除任何變數但希望減少多重共線性時,Ridge 是一個好的選擇。
  • 當你希望同時解決多重共線性並進行變數選擇時,Lasso 是更好的選擇。




3. 主成分分析(PCA)

主成分分析(PCA,Principal Component Analysis)是一種降維技術,通過將原始的高維數據轉換為一組新的互相不相關的主成分來解決多重共線性問題。這些主成分是由原始變數的線性組合形成的,但它們是正交的,因此沒有共線性問題。


如何實施:

  • PCA 將原始變數轉換為一組新的變數,這些變數(主成分)是互相獨立的,並且保留了數據中最多的信息。
  • 第一主成分解釋了數據中最多的變異性,第二主成分解釋了剩餘變異性,依此類推。你可以選擇較少的主成分來替代原始變數進行建模,從而減少多重共線性。


PCA的使用方法以及介紹可以參考以下:

【資料分析】python資料處理-特徵工程的使用時機與基礎操作語法彙整


PCA 優點:

  • 可以消除自變數之間的共線性,因為主成分是相互獨立的。
  • 能夠有效降維,保留最重要的信息,從而提高模型效率。

PCA 缺點:

  • 主成分的變數解釋性較差,因為它們是原始變數的線性組合,因此很難直接解釋每個主成分的具體含義。
  • 當你對變數的解釋性有較高要求時,PCA 可能不是最好的選擇,因為它犧牲了解釋性來解決共線性問題。

PCA 適用場景:

  • 當你需要處理高維數據集,且多個變數之間存在共線性時,PCA 是一種有效的降維工具。
  • 適用於你希望減少共線性同時保留數據中的大部分信息的情況。




4. 增加樣本數

增加樣本數是解決多重共線性的一種方法,因為當樣本數較少且變數數量較多時,多重共線性更容易發生。通過增加樣本數,可以幫助模型更準確地估計每個變數的影響,從而減少變數之間的相關性。


如何實施:

  • 增加樣本數可以通過收集更多的數據來實現。如果你有更多的觀測數據可用,將它們加入到你的模型中會有助於緩解多重共線性。
  • 如果數據獲取受限,可能需要考慮通過數據
3會員
19內容數
留言0
查看全部
發表第一個留言支持創作者!
JayRay 的沙龍 的其他內容
在機器學習和數據分析中,在分類任務中標籤不平衡是普遍存在的問題。本文探討了標籤不平衡對模型訓練和預測性能的影響,並提供解決方案,例如過採樣、欠採樣、調整類別權重和使用適合的不平衡數據評估指標。透過這些方法,能夠提高模型在類別上的預測準確性,從而促進更優化的機器學習應用。
在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
過擬合是機器學習中的一個常見問題,指模型在訓練數據上表現優異但在未見過的測試數據上效果不佳。本文介紹了多種避免過擬合的方法,包括增加數據量、使用正則化、交叉驗證、簡化模型結構以及學習曲線分析等。透過這些策略,能夠提升模型的泛化能力和在未來預測中的可靠性,幫助讀者更好地理解和解決過擬合問題。
在評估預測模型的準確率時,選用合適的評估方法至關重要。本文探討了不同的回歸和分類指標,如均方誤差(MSE)、平均絕對誤差(MAE)及準確率等。透過這些評估指標,更全面地理解模型性能,避免因不當評估而錯失優良模型。本文章還列舉了多種常見誤區和情境,以幫助讀者選擇最合適的評估方法,從而提升模型性能。 
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
在機器學習和數據分析中,在分類任務中標籤不平衡是普遍存在的問題。本文探討了標籤不平衡對模型訓練和預測性能的影響,並提供解決方案,例如過採樣、欠採樣、調整類別權重和使用適合的不平衡數據評估指標。透過這些方法,能夠提高模型在類別上的預測準確性,從而促進更優化的機器學習應用。
在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
過擬合是機器學習中的一個常見問題,指模型在訓練數據上表現優異但在未見過的測試數據上效果不佳。本文介紹了多種避免過擬合的方法,包括增加數據量、使用正則化、交叉驗證、簡化模型結構以及學習曲線分析等。透過這些策略,能夠提升模型的泛化能力和在未來預測中的可靠性,幫助讀者更好地理解和解決過擬合問題。
在評估預測模型的準確率時,選用合適的評估方法至關重要。本文探討了不同的回歸和分類指標,如均方誤差(MSE)、平均絕對誤差(MAE)及準確率等。透過這些評估指標,更全面地理解模型性能,避免因不當評估而錯失優良模型。本文章還列舉了多種常見誤區和情境,以幫助讀者選擇最合適的評估方法,從而提升模型性能。 
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
到目前為止,我們所模擬的萬有引力,是一個物體吸引另一個物體,或者是一個物體吸引多個物體。然而,在真實世界中,每個物體都會互相吸引,所以在這一節中,就來把模擬的情境,擴展成多個物體互相吸引。
並得知根源還有虛數空間理論。
Thumbnail
多邊形空心線圈十分類似方形線圈,同樣會有個線圈外膨的現象,使得完成線型可能不如預期。在方形空心線圈的討論文章中,著重討論的是兩彎角之間的距離及漆包線徑的剛性強度影響,這些要素在多邊形線圈當中依然存在。簡單的描述,就是兩彎角越近,則彎角中間的直線段外擴越嚴重;漆包線越粗,代表線材越不容易彎折,也會增加
前言 在閱讀網路文章時,有看到說1X1的卷積層能夠升維、降維,不了解所以然,故來查找。:P 正文 卷積核尺寸為1X1的卷積層能夠達到降低和增加輸出的維度,是因為它能夠改變輸入數據的通道數量(depth),而不改變其空間維度(height和width),原理如下。 1X1卷積在每個空間位置
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
玄同竟然開口說道“先前產生的三角型,在水準平面上既不等腰也不等邊,但如果將其在三維笛卡爾坐標系中調整角度,就可以得到一個正四面體。當然,這時正四面體的底面一定與水平面不平行。”他的聲音很有磁性,充滿了力量感,但說話的語氣十分生硬而且目光也只盯著懸空的投影,完全不與任何人發生交流。 這時,阿離蹦跳著
Thumbnail
冪次定律 呈現一條曲線,從左下方緩慢上升,然後迅速上升,強調了少數事件的極端值。這些極端值代表著相對較大的事件,其影響力遠遠超過了大多數事件。 馬太效應 由一個明顯的源頭開始,不斷分支出更多的線條,形成一個庞大的樹狀結構。這些分支中的一些可能變得更大,代表著成功的累積效應,符合馬太效應
前幾篇文章討論了類型系統的合理性,而這會影響我們對於變數與函式是什麼的理解。其中泛型是當中很重要的一個元素,很多討論都是基於泛型的使用。泛型會大大地增加類型系統的複雜度,因此有些語言選擇不提供泛型(go),但缺少泛型又會使簡單的容器都無法用類型精確描述。泛型的強大必須結合有紀律的類型系統才能顯現,但
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
到目前為止,我們所模擬的萬有引力,是一個物體吸引另一個物體,或者是一個物體吸引多個物體。然而,在真實世界中,每個物體都會互相吸引,所以在這一節中,就來把模擬的情境,擴展成多個物體互相吸引。
並得知根源還有虛數空間理論。
Thumbnail
多邊形空心線圈十分類似方形線圈,同樣會有個線圈外膨的現象,使得完成線型可能不如預期。在方形空心線圈的討論文章中,著重討論的是兩彎角之間的距離及漆包線徑的剛性強度影響,這些要素在多邊形線圈當中依然存在。簡單的描述,就是兩彎角越近,則彎角中間的直線段外擴越嚴重;漆包線越粗,代表線材越不容易彎折,也會增加
前言 在閱讀網路文章時,有看到說1X1的卷積層能夠升維、降維,不了解所以然,故來查找。:P 正文 卷積核尺寸為1X1的卷積層能夠達到降低和增加輸出的維度,是因為它能夠改變輸入數據的通道數量(depth),而不改變其空間維度(height和width),原理如下。 1X1卷積在每個空間位置
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
玄同竟然開口說道“先前產生的三角型,在水準平面上既不等腰也不等邊,但如果將其在三維笛卡爾坐標系中調整角度,就可以得到一個正四面體。當然,這時正四面體的底面一定與水平面不平行。”他的聲音很有磁性,充滿了力量感,但說話的語氣十分生硬而且目光也只盯著懸空的投影,完全不與任何人發生交流。 這時,阿離蹦跳著
Thumbnail
冪次定律 呈現一條曲線,從左下方緩慢上升,然後迅速上升,強調了少數事件的極端值。這些極端值代表著相對較大的事件,其影響力遠遠超過了大多數事件。 馬太效應 由一個明顯的源頭開始,不斷分支出更多的線條,形成一個庞大的樹狀結構。這些分支中的一些可能變得更大,代表著成功的累積效應,符合馬太效應
前幾篇文章討論了類型系統的合理性,而這會影響我們對於變數與函式是什麼的理解。其中泛型是當中很重要的一個元素,很多討論都是基於泛型的使用。泛型會大大地增加類型系統的複雜度,因此有些語言選擇不提供泛型(go),但缺少泛型又會使簡單的容器都無法用類型精確描述。泛型的強大必須結合有紀律的類型系統才能顯現,但