[問題] 多組數據線性迴歸

看板Python作者 (別理我)時間6年前 (2018/03/05 14:54), 6年前編輯推噓15(15021)
留言36則, 7人參與, 6年前最新討論串1/1
目前使用 python , 會些基礎的 tensorflow 跟 pytroch , 大概就回歸跟CNN部分 想請問目前工作上遇到的問題 x = np.linspace(0, 1, 255)[:, np.newaxis] y = np.power(x, 2.2) plt.scatter(x, y) X 255 個點當中找出 30個點線性迴歸 但如果同時於 y1 = np.power(x, 1.8) y2 = np.power(x, 2.2) y3 = np.power(x, 2.6) 同時找出 y1,y2,y3 找出一組 X 30個點的線性迴歸 之後可能為更多組的 Y 找出共同的一組 X 30個點 https://i.imgur.com/nzou2NS.jpg
試問是否可用 deep learning 來處理? 或是還有其他方法? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.89.123 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1520232886.A.28D.html ※ 編輯: abc95007 (42.73.89.123), 03/05/2018 15:00:37

03/05 15:12, 6年前 , 1F
看不太懂...什麼叫做255個點找出30個點做回歸
03/05 15:12, 1F
更正一下 這應該也不能叫做線性回歸(?) 三條曲線上 要找出共同的一組30個X綁點 例如 (x(0),y1(0)), (x(6),y1(6)).....(x(255),y1(255)) 共30個綁點可以代表第一條曲線 (x(0),y2(0)), (x(6),y2(6)).....(x(255),y2(255)) 共30個綁點可以代表第二條曲線 以此類推 目的是想要找到 1~255之中 x=1,6....255, 30個最佳值綁點 ※ 編輯: abc95007 (110.50.128.152), 03/05/2018 16:34:40

03/05 17:22, 6年前 , 2F
你是要用30個點找出一個直線來擬合曲線?
03/05 17:22, 2F

03/05 17:26, 6年前 , 3F
然後你的30個點是給定的,還是要學習出來的?
03/05 17:26, 3F
255裡面取30個點,不知道這30個點落在哪裡? 最後我是需要在12條曲線找出找出共同最佳的30個點 這應該就要學習出來吧?? 想說用程式是跑應該有優雅一點的寫法 暴力解最後應該也是try的出來..... ※ 編輯: abc95007 (110.50.128.152), 03/05/2018 17:33:26

03/05 17:43, 6年前 , 4F
這比較不像deep learning做的,比較像數學吧..
03/05 17:43, 4F

03/05 17:46, 6年前 , 5F
255點中取30點的組合就不像deep learning要處理的,
03/05 17:46, 5F

03/05 17:53, 6年前 , 6F
資質愚鈍 我看不太出來選X的依據是什麼..
03/05 17:53, 6F

03/05 17:54, 6年前 , 7F
不過若是你的y,都是X的1次方以上,那麼斜率變化較小的前30點
03/05 17:54, 7F

03/05 17:55, 6年前 , 8F
就是要擬合直線最佳的30點...,當然不是次方而是其他函數
03/05 17:55, 8F

03/05 17:55, 6年前 , 9F
就不一定了.
03/05 17:55, 9F
的確 其實比較像是數學問題啦 這問題主要是用來顯示器的顏色校正 像是矯正Gamma2.2 還有其他曲線 但255灰階當中的只能設定其中30個點 給與特定的電壓值 其餘的225個點就線性內插出來 ※ 編輯: abc95007 (110.50.128.152), 03/05/2018 18:40:55

03/05 18:47, 6年前 , 10F
這不是deep learning 阿 是 optimization
03/05 18:47, 10F

03/05 18:48, 6年前 , 11F
甚麼是最佳的30點 要講出來xd
03/05 18:48, 11F

03/05 18:50, 6年前 , 12F
最常使用的30點嗎? 最平均分佈的三十點嗎?
03/05 18:50, 12F

03/05 18:53, 6年前 , 13F
如果是代表曲線 你要用數學定義出"最佳"才可以用framework
03/05 18:53, 13F

03/05 18:53, 6年前 , 14F
去幫你做微積分
03/05 18:53, 14F
第一條曲線中設定30個點可以任意設定值 其餘就內插 接下來算這255各點與原本的y1數據loss值,loss就用常用的方均根值 得到loss1,依此類推到loss12 loss總和最小的30各點就是我想求的 理論上頭尾刻度會切的較細,中間較粗 ※ 編輯: abc95007 (110.50.128.152), 03/05/2018 19:01:09

03/05 18:56, 6年前 , 15F
比如說 把你TF的 cost function 定為 x在0到255曲線下面積
03/05 18:56, 15F

03/05 18:56, 6年前 , 16F
跟自定義直線面積的差
03/05 18:56, 16F

03/05 20:46, 6年前 , 17F
30個點是從y1上選的 可是一樣是用這條直線來算y2的loss
03/05 20:46, 17F

03/05 20:47, 6年前 , 18F
這樣嗎?
03/05 20:47, 18F
https://imgur.com/a/xy0HO 用畫的應該比較清楚 應該會有一組30個X點 使得各虛線與各條實線的面積總和最小值 ※ 編輯: abc95007 (220.133.187.22), 03/05/2018 22:52:26

03/06 03:35, 6年前 , 19F
03/06 03:35, 19F

03/06 03:55, 6年前 , 20F
03/06 03:55, 20F

03/06 04:14, 6年前 , 21F
03/06 04:14, 21F

03/06 08:19, 6年前 , 22F
所以你的曲線為12條不同的冪函數,那麼這30點一定是連續,
03/06 08:19, 22F

03/06 08:30, 6年前 , 23F
否則X越散,Y越散,問題就簡化為從頭開始找連續的30點,所得
03/06 08:30, 23F

03/06 08:31, 6年前 , 24F
的誤差最小,但若gamma值皆大於1,那麼就是前30點,若gamma
03/06 08:31, 24F

03/06 08:32, 6年前 , 25F
值皆大於1,那麼就是後30點.
03/06 08:32, 25F

03/06 08:32, 6年前 , 26F
這兩種狀況所得到的最佳解同時也是各曲線的最佳解.
03/06 08:32, 26F

03/06 08:34, 6年前 , 27F
但若gamma值為>1及<1混合,那麼,這30點應該是往中間靠,就
03/06 08:34, 27F

03/06 08:35, 6年前 , 28F
從第一點,開始算連續30點誤差,再來第二點算連續30 點,
03/06 08:35, 28F

03/06 08:36, 6年前 , 29F
一直做下去,再看從那一點開始的連續30點所得誤差最小.
03/06 08:36, 29F

03/06 08:36, 6年前 , 30F
這個最佳解就非各曲線的最佳解.
03/06 08:36, 30F

03/06 08:37, 6年前 , 31F
總之,這根本不是deep learning.
03/06 08:37, 31F

03/06 08:38, 6年前 , 32F
硬要用deep learning 解會弄得非常怪異.且未必得到最佳解
03/06 08:38, 32F

03/06 09:37, 6年前 , 33F
其實這是微積分的問題 說不定用 excel也解的出囧
03/06 09:37, 33F

03/06 09:38, 6年前 , 34F
你把tf跟pytorch當成微積分工具就好 不要管 DL甚麼的
03/06 09:38, 34F

03/06 09:46, 6年前 , 35F
而且理論上頭尾都比較接近直線所以點沒那麼多才對吧
03/06 09:46, 35F

03/07 11:28, 6年前 , 36F
起手式 import tensorflow as tf
03/07 11:28, 36F
文章代碼(AID): #1QdEcsAD (Python)