java因子分析_因子分析(Factor Analysis)

1 問題

之前我們考慮的訓練數據中樣例a1450d213c92387eab15da6ccae3ccb3.png的個數m都遠遠大于其特征個數n,這樣不管是進行回歸、聚類等都沒有太大的問題。然而當訓練樣例個數m太小,甚至m<

多元高斯分布的參數估計公式如下:

a344a1afad08b637996f1dbcfa7f6bfc.png

c53f1cc6fd305df2b11e30f35d091cd1.png

分別是求mean和協方差的公式,e881e0047c6c081cf1666e52e2b0a5d9.png表示樣例,共有m個,每個樣例n個特征,因此094522902db95f25e748110e98ec445c.png是n維向量,f6ff4fa9a21bf4206d224a6f85b16a50.png是n*n協方差矩陣。

當m<是奇異陣(cc610cf62960891505d689acc85dd9ab.png),也就是說b35680f6a9e86f98e48e7eeb00a95f74.png不存在,沒辦法擬合出多元高斯分布了,確切的說是我們估計不出來11f2af874f6e4f5e21a8024117124dad.png

如果我們仍然想用多元高斯分布來估計樣本,那怎么辦呢?

2 限制協方差矩陣

當沒有足夠的數據去估計5f8ebd79d189808773c38e5aa966a623.png時,那么只能對模型參數進行一定假設,之前我們想估計出完全的378b873f6798113e6ac977a80abd53a5.png(矩陣中的全部元素),現在我們假設3e50da7e2d21ace3168f9807e6f59650.png就是對角陣(各特征間相互獨立),那么我們只需要計算每個特征的方差即可,最后的3698434dcfeaff278dbe83ece671ba57.png只有對角線上的元素不為0

067e91c2b520bbcb583bd0e491799522.png

回想我們之前討論過的二維多元高斯分布的幾何特性,在平面上的投影是個橢圓,中心點由ec0e05fa0618a5e84a732e619c08e3e7.png決定,橢圓的形狀由e3170f5f3278b2910e26039ff18b85ad.png決定。7e6fcedc38c63e5b9b912da60278549b.png如果變成對角陣,就意味著橢圓的兩個軸都和坐標軸平行了。

b0f9d23984c44c1d498e59e43479ce1d.png

如果我們想對24ccf49a54ff3424b1b7df55ce2e0f10.png進一步限制的話,可以假設對角線上的元素都是等值的。

ec87be0f72a2167d9cf4dc4ea7d0c334.png

其中

a6eaa40629b648388128131dee011927.png

也就是上一步對角線上元素的均值,反映到二維高斯分布圖上就是橢圓變成圓。

當我們要估計出完整的ebe33da6b88b0d8525acb61bed8daa25.png時,我們需要m>=n+1才能保證在最大似然估計下得出的39981a78af6a4dffe1081ed4ead51e63.png是非奇異的。然而在上面的任何一種假設限定條件下,只要m>=2都可以估計出限定的82566d9ba4a844aa8ccd55faacac12f4.png

這樣做的缺點也是顯然易見的,我們認為特征間獨立,這個假設太強。接下來,我們給出一種稱為因子分析的方法,使用更多的參數來分析特征間的關系,并且不需要計算一個完整的16d026771eb9e1247455f972885560a5.png

3 邊緣和條件高斯分布

在討論因子分析之前,先看看多元高斯分布中,條件和邊緣高斯分布的求法。這個在后面因子分析的EM推導中有用。

假設x是有兩個隨機向量組成(可以看作是將之前的19fb9292c83923b7dda97a4f1e837256.png分成了兩部分)

57a7c950549ae3f06b745ceeec43bc10.png

其中5b184d9b6d5b14135c224752c7d0e18e.pngdb0cfd1ee0a24e77c0540ef764cf4dd8.png,那么ac0ecf59a92f20406d03a95214130018.png。假設x服從多元高斯分布a12fa7fcea85b157bd89227864869e73.png,其中

c8f8a146be817e17a3bd529ad9a734eb.png

其中8c1615c1e02369217a172972a18c77c5.pnga4827bae1f3fcb2bf0eb50de5c748033.png,那么8e7ab1418039dfa2e752acc53b6357d4.png3a6a6c4610736d71de3d9fa0d8eb7015.png,由于協方差矩陣是對稱陣,因此21e69acedbb7ce723ecbd32b6385d637.png

整體看來ff1430f39c746c7aa7f0cdc9993b1dd8.png24bda209e91d1c96ccdb93c6363ae663.png聯合分布符合多元高斯分布。

那么只知道聯合分布的情況下,如何求得1cc3cf295bae9c31ffd0a20062cc2632.png的邊緣分布呢?從上面的df303cb89c5796a61ce1ee716da6fc95.pngf2da872699eb88c5e9f199c7eb3772fb.png可以看出,

f10ae1fd86984abac34fc1e2d3ea1b65.png,39c6156cfe024e92f3232a4eb1467647.png,下面我們驗證第二個結果

fcb096e1ea84e7c9b08c572c936333ac.png

由此可見,多元高斯分布的邊緣分布仍然是多元高斯分布。也就是說a1a4f667998f58d32ee82df55b105f52.png

上面Cov(x)里面有趣的是bc80b82aab04d318849a9526d97fe8bd.png,這個與之前計算協方差的效果不同。之前的協方差矩陣都是針對一個隨機變量(多維向量)來說的,而1407a8e8f9367fee2711f209cbb7143a.png評價的是兩個隨機向量之間的關系。比如000d2af1f3fb1b471a9b9f1457ac8e6f.png={身高,體重},a98988ca65230dade3b277f5b1012e41.png={性別,收入},那么6e58ef3944ebb23395d5098dc8856c35.png求的是身高與身高,身高與體重,體重與體重的協方差。而54af8d736e8da257c32d54414e5a763f.png求的是身高與性別,身高與收入,體重與性別,體重與收入的協方差,看起來與之前的大不一樣,比較詭異的求法。

上面求的是邊緣分布,讓我們考慮一下條件分布的問題,也就是40b4b79590eaa53f801aeecadda6a659.png的問題。根據多元高斯分布的定義,c59a1d9400071eea7203f03d95728e85.png

dc062bd057073f42bcb52c5c2fe7bacb.png

這是我們接下來計算時需要的公式,這兩個公式直接給出,沒有推導過程。如果想了解具體的推導過程,可以參見Chuong B. Do寫的《Gaussian processes》。

4 因子分析例子

下面通過一個簡單例子,來引出因子分析背后的思想。

因子分析的實質是認為m個n維特征的訓練樣例06319bbea6b2de163d6d7d168ded1a6d.png的產生過程如下:

1、 首先在一個k維的空間中按照多元高斯分布生成m個8b9f5cdf3354a365bbe68d01a0be1d09.png(k維向量),即

45cb465d38df5453334d16b113f78ea9.png

2、 然后存在一個變換矩陣555eea7a1b77be46d80714c09f06c43f.png,將337b19c6f65bf4af3cd995f926e911f4.png映射到n維空間中,即

f652e7578fd9302a48b58398fc1cec8b.png

因為0f62e7a6afde351dc00bcdb243418d3b.png的均值是0,映射后仍然是0。

3、 然后將2c5d4c7dabc11a0ebe4c376e5da548ba.png加上一個均值d105aafa47196c8671b6ea8318a6e172.png(n維),即

262ab6e0c2d3f544b34ec3591101e87d.png

對應的意義是將變換后的bbdf34e56d88e97d22a673454ce251e8.png(n維向量)移動到樣本a44168a0745477297d8c813359231701.png的中心點f2e1acf3995e2b0d031a0ece562efaee.png

4、 由于真實樣例6337156ee214296d4017a24ec6a121ba.png與上述模型生成的有誤差,因此我們繼續加上誤差d03277a562a04c0a1d180b87d5eaf0af.png(n維向量),

而且cfd8f7d2945e72f3307c8536db551ffd.png符合多元高斯分布,即

f0953bb8441a10292c6aaf91871f507d.png

d30df09a69bc1420dff3cc40b802bfec.png

5、 最后的結果認為是真實的訓練樣例48a7d7016dcabe9264a03cdfb7e91cbc.png的生成公式

f5930ce877c1ad7a9845ee14633edfb1.png

讓我們使用一種直觀方法來解釋上述過程:

假設我們有m=5個2維的樣本點83474d1d587f7e760ae1b03b461beba1.png(兩個特征),如下:

3679d64b212042a798ae098c649d6910.png

那么按照因子分析的理解,樣本點的生成過程如下:

1、 我們首先認為在1維空間(這里k=1),存在著按正態分布生成的m個點13d2d53a0bdd104e063b97f2b900933e.png,如下

4fa7fd1220df0ec84e3475777b56408c.png

均值為0,方差為1。

2、 然后使用某個737ea0e74e6ea43632c7231ecab73091.png將一維的z映射到2維,圖形表示如下:

ee84a3468a7825251f820e6d92cda89d.png

3、 之后加上6384e447734c471502785cb612306eaa.png,即將所有點的橫坐標移動e37889c72b5cc99cb0513c2a1b9c61b5.png,縱坐標移動9d61ce5f85e748547d68c288f61f7967.png,將直線移到一個位置,使得直線過點56b0d9e34117df4ec763e4cde28d5b24.png,原始左邊軸的原點現在為9e7d56ecec64371d84ee4fe9906f6e03.png(紅色點)。

d6f202ba04daf12c84e5357a8e8025cc.png

然而,樣本點不可能這么規則,在模型上會有一定偏差,因此我們需要將上步生成的點做一些擾動(誤差),擾動6d75417ae28ddd926e4f8c66b7aee7b4.png

4、 加入擾動后,我們得到黑色樣本e2c275de4c5ad9ac8fa06c4f6e3ea6f9.png如下:

447a200de5d6be9532537ab1e6521a74.png

5、 其中由于z和0448145096a310b8d3064b594d770480.png的均值都為0,因此ffd463b82c9907480c99c080125d70c8.png也是原始樣本點(黑色點)的均值。

由以上的直觀分析,我們知道了因子分析其實就是認為高維樣本點實際上是由低維樣本點經過高斯分布、線性變換、誤差擾動生成的,因此高維數據可以使用低維來表示。

5 因子分析模型

上面的過程是從隱含隨機變量z經過變換和誤差擾動來得到觀測到的樣本點。其中z被稱為因子,是低維的。

我們將式子再列一遍如下:

5a0d8fda510a61f9a419ad7afe38642d.png

0171bf12a8b5bf3adc50a02ecd788584.png

1d6a1ccf8d787e03c0d1a0a789510ef2.png

其中誤差552c652b7a33a4a8bc75d46eec4848a3.png和z是獨立的。

下面使用的因子分析表示方法是矩陣表示法,在參考資料中給出了一些其他的表示方法,如果不明白矩陣表示法,可以參考其他資料。

矩陣表示法認為z和x聯合符合多元高斯分布,如下

e16d75cf6b1561d2286907f71a92dd3e.png

04f4c08b39f51463491c2aaa8dc0be4a.png之前需要求E[x]

a048187da7c90c050367547685f1c394.png

01a808581a30da447f025da3d279903c.png

deb50a1f5a133fea15802eb084a8d675.png

我們已知E[z]=0,因此

482cf946e276923f0281b8a918eca7ac.png

下一步是計算aac32c2362958a9eb334f4ef06cc0312.png

其中7985a4fbba169e64d8de365c9585e150.png

接著求71b117f5161e054c6f3ff3ce82f4572c.png

67d83d28d20cd48390bfde684a55a987.png

這個過程中利用了z和2d62346651e4fc7e5daf62675bf0045b.png獨立假設(74a5df44039761b473459d443386a556.png)。并將72adb150a05af7842c70892e3aaa07dd.png看作已知變量。

接著求3ae6ab4397f97105549b288a8ef13ec1.png

0b0388740fd205796486ec5b57bda44e.png

然后得出聯合分布的最終形式

a3898d73e3c75417e33b663ee42b8b2a.png

從上式中可以看出x的邊緣分布0e78f5afedf62e2ce633bc8ed6302efb.png

那么對樣本df9552849b773e146974906ad3659e13.png進行最大似然估計

ba8c5520d6c3f2b7da8e7082dcd810e5.png

然后對各個參數求偏導數不就得到各個參數的值了么?

可惜我們得不到closed-form。想想也是,如果能得到,還干嘛將z和x放在一起求聯合分布呢。根據之前對參數估計的理解,在有隱含變量z時,我們可以考慮使用EM來進行估計。

6 因子分析的EM估計

我們先來明確一下各個參數,z是隱含變量,dee2f74d5dbad0062f5247767a8e77eb.png是待估參數。

回想EM兩個步驟:

循環重復直到收斂 {

(E步)對于每一個i,計算

e507c28a674c28f72c4f9a8ba47fbc6f.png

(M步)計算

afef04c4dc047eeacadad5e2620ea78c.png

我們套用一下:

(E步):

77e8acb7330f85653c4e6a3063939653.png

根據第3節的條件分布討論,

a13ee42fbbd3ecaf584886cadfa14a3a.png

因此

e325f81edc6575f84e02dae910aabd10.png

那么根據多元高斯分布公式,得到

27d18462f426be94de793b1397547e22.png

(M步):

直接寫要最大化的目標是

c92b4dfc23996dddc634b7d4b627c898.png

其中待估參數是bdd6fa439776bade8676548f29674374.png

下面我們重點求121697c8bbb7e4654640052bbf984ac7.png的估計公式

首先將上式簡化為:

16b5b10ef0a5d61aa4ae182dd274b498.png

這里ac02ad71f095d399450ba9ad8d1663ed.png表示020f8ea087e12372ea4d9caa3e966e86.png服從81fb4558c0192f521d8b510be64c1897.png分布。然后去掉與c175b5f643cf9051bd2bae0fa7bf28d5.png不相關的項(后兩項),得

cd2bdbeb6fd6f5bea015d39c48c417e3.png

去掉不相關的前兩項后,對bf903e5c194924deb4eaecdfa79cbdb1.png進行導,

57482aee803836cda1fb811924983b21.png

第一步到第二步利用了tr a = a(a是實數時)和tr AB = tr BA。最后一步利用了

c2073abaab8489d0fbe04f0c1de32fe5.png

tr就是求一個矩陣對角線上元素和。

最后讓其值為0,并且化簡得

b0ea7c1b4cf8e890e2c5d8f21a539aa5.png

然后得到

f6f0a3f3a2792e606680ba7c81b31470.png

到這里我們發現,這個公式有點眼熟,與之前回歸中的最小二乘法矩陣形式類似

eaf4afb61a73ab26f66c4972c09c33f7.png

這里解釋一下兩者的相似性,我們這里的x是z的線性函數(包含了一定的噪聲)。在E步得到z的估計后,我們找尋的a13aad9749ed39de1463d19cebd247fa.png實際上是x和z的線性關系。而最小二乘法也是去找特征和結果直接的線性關系。

到這還沒完,我們需要求得括號里面的值

根據我們之前對z|x的定義,我們知道

c8fbadfff7345c769688012c01b9ccd1.png

第一步根據z的條件分布得到,第二步根據5e6270ffa1b22dd3ee02582336fd76ec.png得到

將上面的結果代入(7)中得到

d0758350c2aed08780ff710a559208f8.png

至此,我們得到了4e2d1101f0b643c1eb5a2b6310a2281c.png,注意一點是E[z]和6ee9c104d2e819d026ab39ddb258fe5f.png的不同,后者需要求z的協方差。

其他參數的迭代公式如下:

5aa180db9ff902df864badd7dd0481a3.png

均值b15873cf9df7a0785ae921a3563ef133.png在迭代過程中值不變。

090f196d09b0f1ccd65ac1bb254f1d40.png

然后將b47bbea4fbf60dce8897939050200cf1.png上的對角線上元素抽取出來放到對應的6c84037b07767e0f26aedd9f33640ade.png中,就得到了b6716d761858987afe07323d1850b353.png

7 總結

根據上面的EM的過程,要對樣本X進行因子分析,只需知道要分解的因子數(z的維度)即可。通過EM,我們能夠得到轉換矩陣c8e053951fd4187a5db392b268c1c619.png和誤差協方差c2c64611891a825c49370e6b56448771.png

因子分析實際上是降維,在得到各個參數后,可以求得z。但是z的各個參數含義需要自己去琢磨。

下面從一個ppt中摘抄幾段話來進一步解釋因子分析。

因子分析(factor analysis)是一種數據簡化的技術。它通過研究眾多變量之間的內部依賴關系,探求觀測數據中的基本結構,并用少數幾個假想變量來表示其基本的數據結構。這幾個假想變量能夠反映原來眾多變量的主要信息。原始的變量是可觀測的顯在變量,而假想變量是不可觀測的潛在變量,稱為因子。

例如,在企業形象或品牌形象的研究中,消費者可以通過一個有24個指標構成的評價體系,評價百貨商場的24個方面的優劣。

但消費者主要關心的是三個方面,即商店的環境、商店的服務和商品的價格。因子分析方法可以通過24個變量,找出反映商店環境、商店服務水平和商品價格的三個潛在的因子,對商店進行綜合評價。而這三個公共因子可以表示為:

96bf46b8c48516ce8a787fda3eff8bcb.png

這里的3a51f828af87d4fa8fe703723cb7fbe8.png就是樣例x的第i個分量,c89cc37880f537a97255e1875ed02167.png就是184fa274fe9129ffc715aeefa3da40b9.png的第i個分量,9e4c417c68deaf3d08fe4172dcb59af7.png就是a88703e242eeb2da691e6eecd058e735.png的第i行第j列元素,9242248f5c26734a5394614c713925eb.png是z的第i個分量,600aae23827d5fc991cf10491e42263c.pngafc6cec3f3328d56e9dd8028702ecb18.png

d5dd58a60d483f88f6db0626b1da9ee6.png是不可觀測的潛在因子。24個變量共享這三個因子,但是每個變量又有自己的個性,不被包含的部分871eee7d0827ac8b97cce9e33f8bb8c1.png,稱為特殊因子。

注:

因子分析與回歸分析不同,因子分析中的因子是一個比較抽象的概念,而回歸因子有非常明確的實際意義;

主成分分析分析與因子分析也有不同,主成分分析僅僅是變量變換,而因子分析需要構造因子模型。

主成分分析:原始變量的線性組合表示新的綜合變量,即主成分;

因子分析:潛在的假想變量和隨機影響變量的線性組合表示原始變量。

PPT地址

其他值得參考的文獻

An Introduction to Probabilistic Graphical Models by Jordan Chapter 14

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

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

相關文章

MySQL+多線程+Redis+算法+網絡

開頭 我們面試的時候 &#xff0c;經常會被問這種到問題:Spring中bean的循環依賴怎么解決&#xff1f; Spring中bean的加載過程&#xff1f; spring相關的問題一直是大廠面試常問到的一個問題,也是一直困擾這我們&#xff0c;不知道從哪里下手&#xff0c;今天舉例分析大廠的一…

python 函數進度條怎么_python輸出結果刷新及進度條的實現操作

print函數python輸出主要使用print函數&#xff0c;print函數介紹&#xff1a;print(*objects, sep" ", end"", filesys.stdout, flushFalse)*objects表示要打印的值&#xff0c;表示多個無名參數或需要打印的值&#xff1b;sep" "&#xff0c;對…

MySQL優化原理分析及優化方案總結

前言 今天中午收到我司安全部發了一封郵件&#xff1a;Jackson存在安全漏洞。查了一下&#xff0c;這件事并不算很新鮮了&#xff08;已經過了5天的樣子&#xff09;&#xff0c;本文來聊聊吧。 說起來還蠻戲劇化&#xff1a;阿里云向Jackson官方提交了一個Jackson序列化安全…

MySQL千萬數據量深分頁優化

前言 提到MySQL的事務&#xff0c;我相信對MySQL有了解的同學都能聊上幾句&#xff0c;無論是面試求職&#xff0c;還是日常開發&#xff0c;MySQL的事務都跟我們息息相關。 而事務的ACID&#xff08;即原子性Atomicity、一致性Consistency、隔離性Isolation、持久性Durabili…

Mysql和Redis數據同步該怎么做

前言 算法血拼&#xff1a;Google百度Alibaba字節Tencent網易360拼夕夕美團 不知不覺雙11就來了,轟轟烈烈的秋招也完美結束了,不知算法與數據結構成為了多少小伙伴進擊大廠的絆腳石&#xff1f; 恰好&#xff0c;我這兩天花了點時間&#xff0c;整理了些各大廠&#xff08;G…

python字符串是用雙引號括起來的_用python連接字符串列表并用引號將每個字符串括起來...

您也可以執行一個format調用>>> words [hello, world, you, look, nice]>>> "{0}".format(", ".join(words))"hello", "world", "you", "look", "nice"更新&#xff1a;一些基準測試…

java源代碼保存在擴展名為,看完跪了

正文 在實際的工作項目中&#xff0c; 緩存成為高并發、高性能架構的關鍵組件 &#xff0c;那么Redis為什么可以作為緩存使用呢&#xff1f;首先可以作為緩存的兩個主要特征&#xff1a; 在分層系統中處于內存/CPU具有訪問性能良好&#xff0c;緩存數據飽和&#xff0c;有良好…

java源碼文件丟恢復需要多少錢,上岸螞蟻金服!

京東Java研發崗一面&#xff08;基礎面&#xff0c;約1小時&#xff09; 自我介紹&#xff0c;主要講講做了什么和擅長什么 springmvc和spring-boot區別 Autowired的實現原理 Bean的默認作用范圍是什么&#xff1f;其他的作用范圍&#xff1f; 索引是什么概念有什么作用&am…

php 靜態方法特點,淺析php靜態方法與非靜態方法的用法區別

在php編程中&#xff0c;static關鍵字聲明一個屬性或方法是和類相關的&#xff0c;而不是和類的某個特定的實例相關&#xff0c;因此&#xff0c;這類屬性或方法也稱為“類屬性”或“類方法”如果訪問控制權限允許&#xff0c;可不必創建該類對象而直接使用類名加兩個冒號“::”…

java特性多態,90%的人看完都說好

01.第一份資料是圖解網絡 根據讀者閱讀偏好不同&#xff0c;共出了兩個版本風格的 PDF&#xff0c;分別是亮白版本和暗黑版本。 02.第二份資料是計算機的相關知識 看完能讓你對計算機有一個基礎的了解和入門&#xff0c;是培養你 內核 的基礎&#xff0c;我們看下目錄大綱 基…

php session 釋放,php中刪除Session和銷毀Session的方法

刪除某個session值可以使用PHP的unset函數&#xff0c;刪除后就會從全局變量$_SESSION中去除&#xff0c;無法訪問。session_start();$_SESSION[name] jobs;unset($_SESSION[name]);echo $_SESSION[name]; //提示name不存在如果要刪除所有的session&#xff0c;可以使用sessio…

java環境變量怎么配置,詳解系列文章

Git是什么 在回憶Git是什么的話&#xff0c;我們先來復習這幾個概念哈~ 什么是版本控制&#xff1f; 百度百科定義是醬紫的~ 版本控制是指對軟件開發過程中各種程序代碼、配置文件及說明文檔等文件變更的管理&#xff0c;是軟件配置管理的核心思想之一。 那些年&#xff0c;…

php數據接口api安全,API接口數據安全之授權碼sign

**API接口數據安全之授權碼sign**>[success] 1. ASE加密方式加密~~~class Aes{private $key null;/***param String $key 密鑰*return String*/public funciton __construct(){//配置文件中的asekey 服務端及客戶端必須保持一致 且加密key必須為16 、32、64位$this->key…

java環境變量的配置與詳解,這些知識你必須拿下

1.三重心智模型 先給大家科普一個概念&#xff0c;“三重心智模型”。 認知科學家斯坦諾維奇&#xff0c;將人的心智模式&#xff0c;分成了三個部分。 第一層是自主心智&#xff0c;自主心智是我們通過進化與內隱學習獲得。比如&#xff0c;我們看到蛇就會害怕&#xff0c;情…

centos php安裝redis擴展,Centos7編譯安裝redis、php安裝phpredis擴展

解壓 進入 make&#xff1a;# tar zxvf redis-4.0.9.tar.gz# cd redis-4.0.9/# make# cd src# make install為了方便管理&#xff0c;將Redis文件中的配置文件和常用命令移動到統一文件中&#xff1a;# mkdir –p /usr/local/redis/bin# mkdir –p /usr/local/redis/etc# cp /t…

java環境變量的配置步驟,實現原理分析

1.筆試常見的問題&#xff1f; 面試常見的問題上面給的面試題鏈接基本都有。我只提幾點&#xff1a; 寫SQL&#xff1a;寫SQL很常考察group by、內連接和外連接。手寫代碼&#xff1a;手寫代碼一般考單例、排序、線程、消費者生產者。我建議排序算法除了冒泡排序&#xff0c;…

php 方法參數傳遞,在PHP中將實例方法作為參數傳遞

我想創建一個Listener類class Listener {var $listeners array();public function add(callable $function) {$this->listeners[] $function;}public function fire() {foreach($this->listeners as $function) {call_user_func($function);}}}class Foo {public funct…

java環境安裝包出現覆蓋,請查收

正文 先問小伙伴們一個問題&#xff0c;登錄難嗎&#xff1f;“登錄有什么難得&#xff1f;輸入用戶名和密碼&#xff0c;后臺檢索出來&#xff0c;校驗一下不就行了。”凡是這樣回答的小伙伴&#xff0c;你明顯就是產品思維&#xff0c;登錄看似簡單&#xff0c;用戶名和密碼…

java生成json字符串,威力加強版

策略 1——停止挖掘 Law of Holes 是說當自己進洞就應該停止挖掘。對于單體式應用不可管理時這是最佳建議。換句話說&#xff0c;應該停止讓單體式應用繼續變大&#xff0c;也就是說當開發新功能時不應該為舊單體應用添加新代碼&#xff0c;最佳方法應該是將新功能開發成獨立微…

MATLAB小波軟硬閾值去噪代碼,matlab編程小波變換進行圖像去噪處理,包括各種軟硬閾值的選取函數...

內容&#xff1a;matlab編程小波變換進行圖像去噪處理&#xff0c;包括各種軟硬閾值的選取函數&#xff0c;%小波閾值去噪clear allclc;fimread(graylena.bmp);fdouble(f);ssize(f);rimnoise2(gaussian,s(1),s(2),0,20);%填加高斯白噪聲fnoisyfr;%對圖像進行三層小波分解[c,s]w…