機器學習算法之線性回歸

一、什么是回歸算法

回歸算法是一種有監督算法

回歸算法是一種比較常用的機器學習算法,用來建立“解釋”變量(自變量X)和觀測值(因變量Y)之間的關系;從機器學習的角度來講,用于構建一個算法模型(函數)來做屬性(X)與標簽(Y)之間的映射關系,在算法的學習過程中,試圖尋找一個函數使得參數之間的關系擬合性最好

回歸算法中算法(函數)的最終結果是一個連續的數據值,輸入值(屬性值)是一個d維度的屬性/數值向量

1.1 初識回歸

有一個問題:現在擁有一組房屋面積及其對應房價的數據如下,如果有一個房屋面積為55平,請問最終的租賃價格是多少比較合適?

房屋面積租賃價格
100.8
201.8
302.2
302.5
705.5
705.2

我們可以構建一個函數

\begin{center} h(x)=\theta ^{0}+\theta ^{1}x \end{center}

其中h(x) 為房價,x為房屋面積,根據大量的數據求出?\theta ^{0}?和?\theta ^{1}?的值,于是能夠構建出一條直線。

如果此時將測試集中的數據投入到模型中,如果模型構建的比較好,可以看到測試集中所有(面積,價格)的點會均勻分布在直線的上下兩側,而且離的直線距離不會太遠 (說明方差較小) 。如果測試集中的數據大量分布在直線的上方,或離直線的距離普遍較遠,那么說明模型質量不高,需要重新訓練。

如果在面積的基礎上,增加房間數量這一變量呢

房屋面積房間數量租賃價格
1010.8
2011.8
3012.2
3022.5
7035.5
7025.2

構造函數

h \left (x \right )=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}

其中h(x) 為房價,根據大量的數據求出 \theta ^{0}\theta ^{1}\theta ^{2}的值,于是能夠構建出一個平面。我們要預測面積、房間個數和房價的映射關系,構建如下模型

從Y軸向下俯視該平面,可以獲得該平面在 x1、 x2 兩坐標軸上的投影。同樣,由(x1、 x2)點衍生到平面上后,對應的Y軸值即是對應的房價值y或記作h(x)?

如果有1個特征,我們得到了一條直線模型。如果有2個特征,我們得到了一個平面。如果有2個以上的特征呢?

2個特征形成的平面,結合目標值構成了一個三維的圖像,對于更高維度的思維結構人類是無法想象出來的。對于兩個以上特征形成的n維模型,我們稱之為超平面(Hyperplane)

模型:

h(x) = \theta _{0} + \theta _{1}x _{1} + \theta _{2}x _{2} + ... + \theta _{n}x _{n}

h(x) = \sum_{0}^{n} \theta _{i}x_{i}

h(x) = \theta ^{T}X = [\theta_{1},\theta_{2},\theta_{3},...,\theta_{n}] * [x_{1},x_{2},x_{3},...,x_{n}]^{T}

即θ矩陣的轉置,乘以X的矩陣。

注:所有特征默認都是列向量

1.2 導數

導數 就是曲線的斜率,是曲線變化快慢的一個反應。

二階導數 是斜率變化的反應,表現曲線的 凹凸性

y=f(x)

y'=f'(x) =\frac{dy}{dx} =\lim_{\triangle x}\frac{\triangle y}{\triangle x} =\lim_{\triangle x}\frac{f(x_{0} + \triangle x) - f(x_{0})}{\triangle x}

1.3 偏導數

導數是針對單一變量的,當函數是多變量的,偏導數?就是關于其中一個變量的導數而保持其他變量恒定不變(固定一個變量求導數)。

1.4 梯度

梯度是一個向量,表示某一函數在該點處的?方向導數?,沿著該方向取最大值,即函數在該點處沿著該方向變化最快,變化率最大(即該梯度向量的模);當函數為一維函數的時候,梯度就是導數。

二、求解

2.1 求解方法

1.解析解:最小二乘法(又稱最小平方法)是一種數學優化技術,它由兩部分組成:

  • 計算所有樣本誤差的平均(代價函數)
  • 使用最優化方法尋找數據的最佳函數匹配(抽象的)

2.數值解:梯度下降法、牛頓法、擬牛頓法等

2.2 線性回歸算法的步驟

Step1:畫出散點圖確定回歸方程

Step2:寫出回歸方程的基本形式(以線性為例)。最終目的是要計算出θ的值,并選擇最優的θ構成算法公式

\begin{aligned}h_{\theta}(x)&=\theta_{0} +\theta_{1}x_{1}+ \theta_{2}x_{2} +...+\theta_{n}x_{n} \\&=\theta_{0}1 +\theta_{1}x_{1}+...+\theta_{n}x_{n}\\&=\theta_{0}x_{0} +\theta_{1}x_{1}+...+\theta_{n}x_{n}\\&=\sum_{i=0}^{n}\theta_{i}x_{i}=\theta^Tx\end{aligned}

Step3:寫出目標函數,object:樣本預測值與實際值的差值最小化

minJ(\theta)=\frac{1}{2}\sum_{i=1}^{m}(\epsilon^{(i)})^2=\frac{1}{2}\sum_{i=1}^{m}(h_{?{\theta}}(x^{(i)})-y^{(i)})^2

Step4:計算待估計參數的值,求出回歸方程

三、方法一:極大似然估計解釋最小二乘法

3.1 似然函數

前提假設:對于y^{i}=\theta ^{T}x^{i}+\varepsilon^{i},誤差?\varepsilon^{i}?是獨立同分布的,服從均值為0,方差為某定值\sigma ^{2}的高斯分布

解釋:實際問題中,很多隨機現象可以看做眾多因素的獨立影響的綜合反應,如房價往往由距離地鐵位置,周圍是否由學校等因素影響(誤差?\varepsilon^{i}同樣如此),往往服從正態分布(原因:中心極限定理)

所以,對于第i個樣本,誤差滿足如下公式:

?y^{(i)}=\theta^Tx^{(i)}+\epsilon^{(i)}

P(\epsilon^{(i)})=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(\epsilon^{(i)})^2}{2\sigma^2})

P(y^{(i)}|x;\theta)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\theta^{T}x^{(i)})^2}{2\sigma^2})

根據中心極限定理得到似然函數:

\begin{aligned}L(\theta)&=\prod_{i=1}^{m}P(y^{(i)}|x;\theta)\\&=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\theta^{T}x^{(i)})^2}{2\sigma^2})\end{aligned}

取對數,得到對數似然函數:

\begin{aligned}l(\theta)=\ln{L(\theta)}&=\sum_{i=1}^{m}\log\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\theta^{T}x^{(i)})^2}{2\sigma^2})\\&=m\log\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{\sigma^2}*\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^2\end{aligned}??????

化簡,得到目標函數:

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^2

?3.2 最小二乘法

對于y=\theta ^{T}x,其中

X=\begin{Bmatrix}x^{(1)T} \\x^{(2)T} \\\vdots\\x^{(m)T} \\\end{Bmatrix}=\begin{Bmatrix}x_{11} & x_{12} & \cdots & x_{1n} \\x_{21} &x_{22} &\cdots &x_{2n} \\\vdots & \vdots & \ddots & \vdots \\x_{m1} &x_{m2} & \cdots & x_{mn} \\\end{Bmatrix}

\begin{aligned}X\theta&=\begin{Bmatrix}x_{11} & x_{12} &\cdots &x_{1n} \\x_{21} & x_{22} &\cdots &x_{2n} \\\vdots & \vdots & \ddots &\vdots \\x_{m1} &x_{m2} &\cdots &x_{mn} \\\end{Bmatrix}\begin{Bmatrix}\theta_1 \\\theta_2 \\\vdots\\\theta_n \\\end{Bmatrix}\\&=\begin{Bmatrix}\hat{y_1} \\\hat{y_2} \\\vdots\\\hat{y_m} \\\end{Bmatrix}\end{aligned}

目標函數:

\begin{aligned}J(\theta)&=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^2\\&=\frac{1}{2}(X\theta-y)^{T}(X\theta-y)\end{aligned}

對目標函數進行求導:

\begin{aligned}\bigtriangledown_{\theta}J(\theta)&=\bigtriangledown_{\theta}(\frac{1}{2}(X\theta-y)^{T}(X\theta-y))\\&=\bigtriangledown_{\theta}(\frac{1}{2}(\theta^{T}X^{T}X\theta-\theta^TX^Ty-y^TX\theta+y^Ty)^2)\\&=\frac{1}{2}((X^TX+(X^TX)^T)\theta-X^Ty-(y^TX)^T)\\&=X^TX\theta-X^Ty\end{aligned}\\let \bigtriangledown_{\theta}J(\theta)=0\\ then \theta=(X^TX)^{-1}X^Ty??????

3.3 最小二乘法的參數最優解

參數解析式:\theta=(X^TX+\lambda{I})^{-1}X^Ty

最小二乘法的使用要求矩陣X^{T}X是可逆的;為了防止不可逆或者過擬合的問題存在,可以增加額外數據影響,導致最終的矩陣是可逆的

證明方法:加入懲罰項
1)X^TX?半正定,對于任意的非零向量μ:\mu^TX^TX\mu=(X\mu)^T\mu\\letV=X\mu,thenV^TV\geqslant0μ
2)對于任意的實數λ>0,X^TX+\lambda{I}正定λ
mu^T(X^TX+\lambda{I})\mu=\mu^TX^TX\mu+\lambda\mu^T\mu< 0恒成立。
3)從而X^TX+\lambda{I}可逆,保證回歸公式一定有意義

最小二乘法直接求解的難點:矩陣逆的求解是一個難處

3.4 損失函數,代價函數,目標函數

參考:機器學習之線性回歸 損失函數、代價函數、目標函數

3.5 線性回歸過擬合

一般來說,模型的訓練誤差很小,而預測誤差很大的情況下,模型存在過擬合的情況

目標函數

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^2

為了防止數據過擬合,也就是的θ值在樣本空間中不能過大/過小,可以在目標函數之上增加一個平方和損失:

(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2+\lambda{\sum_{i=1}^{n}\theta_{j}^{2}}

正則項(norm):\lambda{\sum_{i=1}^{n}\theta_{j}^{2}}這里這個正則項叫做L2-norm

3.5.1 Ridge回歸(嶺回歸)

使用L2正則的線性回歸模型就稱為Ridge回歸(嶺回歸)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2+\lambda{\sum_{i=1}^{n}\theta_{j}^2},\lambda> 0

3.5.2 LASSO回歸

使用L1正則的線性回歸模型就稱為LASSO回歸(Least Absolute Shrinkage and Selection Operator)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2+\lambda{\sum_{i=1}^{n}\rvert\theta_{j}}\rvert,\lambda>0

3.5.3 Elasitc Net算法

同時使用L1正則和L2正則的線性回歸模型就稱為Elasitc Net算法(彈性網絡算法)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2+\lambda{(p\sum_{j=1}^{n}|\theta_{j}|+(1-p)\sum_{j=1}^{n}\theta_{j}^{2})},\lambda>0,p\in[0,1]

3.5.4 Ridge(L2-norm)和LASSO(L1-norm)比較

L2-norm中,由于對于各個維度的參數縮放是在一個圓內縮放的,不可能導致有維度參數變為0的情況,那么也就不會產生稀疏解;實際應用中,數據的維度中是存在噪音和冗余的,稀疏的解可以找到有用的維度并且減少冗余,提高回歸預測的準確性和魯棒性(減少了overfitting)(L1-norm可以達到最終解的稀疏性的要求)

Ridge模型具有較高的準確性、魯棒性以及穩定性;LASSO模型具有較高的求解速度。

如果既要考慮穩定性也考慮求解的速度,就使用Elasitc Net

?¨è?é??¥????è?°

由上圖可知,對于二元線性回歸來說,L1正則的限制性區域為藍色正方形固定區域,L2正則限制性區域為藍色圓形固定區域,當目標函數前半部分與后半部分(限制性條件)相交時,集等勢線與固定區域相交,交點即為最優解,L1正則交點存在參數為0的情況,而L2則不存在,由此可推出L1正則容易產生稀疏解(元素為零)

3.6模型效果評判標

MSE = \frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}})^2\\RMSE = \sqrt{MSE}=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}})^2}\\R^2=1-\frac{RSS}{TSS}=1-\frac{\sum_{i=1}^{m}(y_{i}-\hat{y_{i}})^2}{\sum_{i=1}^{m}(y_{i}-\overline{y_{i}})^2}, \overline{y_{i}}=\frac{1}{m}\sum_{i=1}^{m}y_{i}

  • MSE:誤差平方和,越趨近于0表示模型越擬合訓練數據。
  • RMSE:MSE的平方根,作用同MSE
  • R^{2} :取值范圍(負無窮,1],值越大表示模型越擬合訓練數據;最優解是1;當模型預測為隨機值的時候,有可能為負;若預測值恒為樣本期望,R^{2} 為0
  • TSS:總平方和TSS(Total Sum of Squares),表示樣本之間的差異情況,是偽方差的m倍
  • RSS:殘差平方和RSS(Residual Sum of Squares),表示預測值和樣本值之間的差異情況,是MSE的m倍

3.7機器學習調參

在實際應用中,對于各種算法模型(線性回歸)來講,我們需要獲取θ、λ、p \theta、\lambda、pθ、λ、p的值,由于λ、p \lambda、pλ、p為超參數,無法求解,需要人為設定,從而求解最優的θ \thetaθ值,該過程為調參(超參數)

交叉驗證:將訓練數據分為多份,其中一份進行數據驗證并獲取最優的超參數λ \lambdaλ和p pp;比如:十折交叉驗證、五折交叉驗證(scikit-learn中默認)等。

四、方法二:梯度下降法

參考鏈接https://blog.csdn.net/fenglepeng/article/details/104507269

五、局部加權回歸

局部加權回歸-損失函數

普通線性回歸損失函數:

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^2

局部加權回歸損失函數:

J(\theta)=\sum_{i=1}^{m}w^{(i)}(h_{\theta}(x^{(i)})-y^{(i)})^2

局部加權回歸權重值w^{i}?是權重,主要是根據預測點與訓練集點的距離作為數據集中的點賦權值。當某點離要預測的點越遠,其權重越小,否則越大。常用的公式為:

w^{(i)}=\exp{(-\frac{(x^{(i)}-\hat{x})^2}{2k^2})}

該函數稱為指數衰減函數,其中k 為波長參數,它控制了權值隨距離下降的速率

注意:使用該方式主要應用到樣本之間的相似性考慮

NOTE:局部加權回歸是一種非參數學習算法,也就是說參數不固定,在每一次預測的時候,均需要使用訓練數據重新訓練模型參數。

?

?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/454546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454546.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html中怎么寫多選框,如何在HTML中實現“選擇所有”復選框?

checkboxes document.getElementsByName(foo);for(var checkbox in checkboxes)checkbox.checked source.checked;} Toggle AllBar 1 Bar 2Bar 3 Bar 4最新情況&#xff1a;這個for each...in構造在Safari 5或Chrome 5中似乎不起作用&#xff0c;至少在本例中是這樣的。這段代…

Console-算法[for]-國王與老人的六十四格

ylbtech-Arithmetic:Console-算法[for]-國王與老人的六十四格1.A&#xff0c;案例-- -- ylb&#xff1a;算法-- Type:算法[for]-- munu:國王與老人的六十四格-- 20:32 2012/3/16-- 案例&#xff1a;印度有個國王&#xff0c;他擁有超人的權力和巨大的財富。但權力和財富最終讓他…

程序人生感悟

<本來不想寫的&#xff0c;實在不想看到某些人誤人子弟&#xff0c;混淆視聽&#xff0c;耽誤了中國IT的未來&#xff0c;所以一吐為快) 一些人總是發出一些錯誤的聲音&#xff0c;形成了劣勝優汰可怕的現象。他們在誤導著中國&#xff0c;把我們的后繼軍訓練成軟件藍領―…

python的excel庫_Python-Excel 模塊哪家強?

0. 前言 從網頁爬下來的大量數據需要清洗&#xff1f; 成堆的科學實驗數據需要導入 Excel 進行分析&#xff1f; 有成堆的表格等待統計&#xff1f; 作為人生苦短的 Python 程序員&#xff0c;該如何優雅地操作 Excel&#xff1f; 得益于前人的辛勤勞作&#xff0c;Python 處理…

html如何設置滑輪效果,HTML中鼠標滾輪事件onmousewheel處理

滾輪事件是不同瀏覽器會有一點點區別&#xff0c;一個像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法綁定DomMouseScroll事件&#xff0c;其他的瀏覽器滾輪事件使用mousewheel&#xff0c;下面我來給大家具體介紹。Firefox使用DOMMouseScroll&#xff0c;其他…

在OOW2009上尋寶撞大運續(床上篇)

歷時5天的Oracle Open World 2009終于&#xff0c;終于結束了。今天最后的節目是去聽一場金融分析師的會議&#xff0c;“只”開了不到6個鐘。去的時候是毛毛雨&#xff0c;回來的時候終于看到了一縷陽光。說夕陽無限好不大合適。用Larry Ellison的說法是“太陽落下的地方也是太…

skynet記錄6:定時器

稍后填坑 kernel中&#xff0c;每一次時鐘中斷會trap到kernel code&#xff0c;這個時間間隔稱之為jiffies&#xff0c;每秒鐘發生的次數為HZ 如果是4核&#xff0c;分配到每個核就是HZ/4 cat /boot/config-uname -r | grep ^CONFIG_HZ 輸出&#xff1a; CONFIG_HZ250 cat /pro…

html圖片平鋪不重復整個頁面,JSP網頁背景圖片怎樣不平鋪,不重復出現啊...

2016-07-10 13:12最佳答案1,Q:怎樣把別人網頁上的背景音樂保存下來?A:瀏覽該網頁后,在你的 Windows\Temporary Internet Files 文件夾下可以找到該背景音樂的緩存文件&#xff0c;拷貝出來即可使用。如果還是找不見該文件&#xff0c;可以打開網頁的源文件&#xff0c;找到音樂…

特征圖注意力_從數據結構到算法:圖網絡方法初探

作者 | 朱梓豪來源 | 機器之心原文 | 從數據結構到算法&#xff1a;圖網絡方法初探如果說 2019 年機器學習領域什么方向最火&#xff0c;那么必然有圖神經網絡的一席之地。其實早在很多年前&#xff0c;圖神經網絡就以圖嵌入、圖表示學習、網絡嵌入等別名呈現出來&#xff0c;其…

FFMPEG 源碼分析

FFMPEG基本概念&#xff1a; ffmpeg是一個開源的編解碼框架&#xff0c;它提供了一個音視頻錄制&#xff0c;解碼和編碼庫。FFMPEG是在linux下開發的&#xff0c;但也有windows下的編譯版本。 ffmpeg項目由以下幾部分組成: ffmpeg 視頻文件轉換命令行工具,也支持經過實時電視…

面試之 Redis匯總

簡介 Redis 持久化機制 RDB&#xff08;Redis DataBase&#xff09; AOF&#xff08;Append-only file&#xff09; Redis 4.0 對于持久化機制的優化 補充&#xff1a;AOF 重寫 二者的區別 二者優缺點 Memcache與Redis的區別都有哪些&#xff1f; 緩存雪崩、緩存穿透、…

Oracle 10g 問題集錦

監聽服務中Oracle數據庫之中使用最主要的一個服務&#xff0c;但是這個服務經常會出現錯誤&#xff0c;包括以后在工作之中此服務也會出現錯誤&#xff0c;故給出兩種常見錯誤的解決方案&#xff08;故障1、故障2&#xff09; 故障1: 注冊表使用了優化軟件&#xff08;如&#…

iOS linker command failed with exit code 1 (use -v to see invocation)多種解決方案匯總

有時可能會遇到這種錯誤&#xff0c;關鍵是這種錯誤&#xff0c;有時只有這一句話&#xff0c;也不會給更多錯誤信息。 網上找了一些&#xff0c;總結了如下&#xff1a;&#xff08;PS&#xff1a;以下是按照解決簡易程度排序&#xff0c;不代表出現概率&#xff09; 1、bitco…

計算機二級python選擇題題庫_2018年計算機二級python題庫精編(1)

1正則中的^符號&#xff0c;用在一對中括號中則表示要匹配() A.字符串的開始 B.除中括號內的其它字符 C.字符串的結束 D.僅中括號內含有的字符 2靜態成員變量稱為類變量&#xff0c;非靜態成員變量稱為實例變量&#xff0c;下列關于一個類的靜態成員的描述中&#xff0c;不正確…

非常好用!世界上最快最好的視頻壓縮轉換工具(精品)

測試了20多款 各種視頻壓縮 截取軟件 真的是這款最快 快好用 效果也好&#xff01;&#xff01;&#xff01; 最快的視頻轉換壓縮工具。 WisMencoder 能夠把您的電腦上的所有視頻格式&#xff0c;包括avi,mpg,rmvb,wmv,mp4,mov,dat等格式以最快的速度和最高的質量轉換為…

面試之 Mysql 匯總

事務相關 什么是事務&#xff1f; 事務&#xff1a;是由一組SQL語句組成的邏輯處理單元&#xff0c;事務具有以下4個屬性&#xff0c;通常簡稱為事務。事務的ACID屬性&#xff1a; &#xff08;1&#xff09;原子性&#xff08;Atomicity&#xff09;&#xff1a;   事務是一…

Exchange Server 2003 部署手冊

1. 環境需求服務器: 域控制器1臺; Exchange Server服務器1臺。 IP和機器名配置&#xff1a; 域控制器&#xff1a;機器名&#xff1a;dc IP&#xff1a; 10.10.10.200 掩碼&#xff1a;255.255.255.0 網關&#xff1a;10.10.10.254 DNS&#xff1a;127.0.0.1 Exchange&#xff…

app中 html5 search 事件,事件 - Cordova中文網

事件Cordova給我們提供了很多的事件&#xff0c;可以在應用程序中使用。應用程序代碼中可以添加這些事件的監聽。例如:HTML文件Device Ready ExampleJS文件// example.js文件// 等待設備API庫加載好//function onLoad() {document.addEventListener("deviceready", o…

python標準庫os中的方法_python中OS常用方法

下面列出了一些在os模塊中比較有用的部分。它們中的大多數都簡單明了。 os.sep可以取代操作系統特定的路徑分隔符。windows下為 “\\” os.name字符串指示你正在使用的平臺。比如對于Windows&#xff0c;它是nt&#xff0c;而對于Linux/Unix用戶&#xff0c;它是posix。 os.get…

ffmpeg 過程分析

簡介 FFmpeg是一個集錄制、轉換、音/視頻編碼解碼功能為一體的完整的開源解決方案。FFmpeg的開發是基于Linux操作系統&#xff0c;但是可以在大多數操作系統中編譯和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多種編碼&#xff0c;AVI、MPEG、OGG、Matroska、ASF等…