Korea doesn't need anymore rain!
This is an article from "The Korea Times" that was printed on Friday (July 28, '06) about flooding in some areas in Korea because of the heavy rain season here. My church will go down to help with the flood relief to Kwangwon Province in August. Please pray for the people here in Korea because many people are going through some difficult times from the flooding. Thanks!
Thousands of residents in the central regioins were forced to evacute from their homes on Friday, as heavy rainfall that brought more than 300 millimeters of rain in some areas caused severe flooding and disruption.
More than 2,700 people were forced to evacuate from their homes after an embankment at an urban stream in Ansong, Kyonggi Province, collapsed during the rainstorm, flooding more than 200 houses.
Ansong was hit with more than 300 millimeters of rain that began to fall late Thursday, and neighboring Kyonggi Province cities such as Pyongtaek and Euiwang were also hit with similar amounts of rain.
More than 230 millimeters of rain fell in Chinchon, North Chungchong Province, forcing more than 1,000 residents to evacuate, according to Korea Meteorological Administration (KMA), the nation's weather agency.
Seoul was hit with nearly 200 millimeters of rain on Friday, forcing law enforcement authorities to close 20 car roads.
The monsoon season that is continuing for over 40 days this year brought the largest amount of rainfall to the country since 1973, the KMA said.
Heavy rainstorms are likely to end Sunday, signaling the advent of sizzling weather, the weather agency said Friday.
KMA said that after the last round of heavy rainfall South Korea is expected to have the hottest weather of the year, lasting for more than a month.
On Friday morning, the KMA had issued warnings of heavy rainfall in Seoul and Inchon, and Kyonggi, Kangwon, Chungchong and North Kyongsang provinces.
"Although heavy rain is expected to ease by Saturday afternoon, people should still pay attention and be prepared for emergencies until clouds completely clear away," a weatherman said.
Fifty to 100 millimeters of rain are expected to fall in Seoul, Kyonggi, Chungchong and Kangwon until Saturday. Each region could have 150 millimeters of rain at a maximum, the KMA warned.


Hire the speaker Meeting Planners & audiences are raving about!
You are a true professional and an absolute pleasure to work with. I look forward to having the opportunity to work with you again.
Bill Hogg was one of the highest rated speakers and the speaker most requested for a return engagement at our annual conference.
He communicated sophisticated leadership and management concepts in a way that was easily understood and could be put into practice.
All programs focus on improving business performance by changing attitudes and behaviours — by tapping into peoples' emotions and aligning their purpose with organizational goals — so change is viewed as an opportunity as opposed to a threat — and people are willing to endure the pain of change.
Prior to any engagement, Bill begins by speaking with key conference influencers to confirm clarity of the objectives for his session and the overall conference — to ensure his message will resonate with the attendees and support the desired outcomes of the conference.
Following this Kick-off call, Bill interviews key contacts from across the organization. These conversations help Bill understand the culture, language and stories of the organization which provide important insights that allow him to customization the program for each group.
Finally, this is followed by research to understand the business issues, cultural climate and competitive environment affecting the organization. Resultant, no 2 presentations are the same.
When you need more than a keynote … let Bill give you a complete program!
Bill is often asked to augment his keynotes with a break-out, deliver a second program/workshop or executive facilitation/moderation at the same Conference to increase the impact of his powerful message. There is a savings on fees and travel expenses, which are always a welcome benefit.
Click here for a sampling of audience testimonials.


Dr. Lee Kleiman and the staff at Severn River ENT Plastic & Laser Surgery offer laser tattoo removal with one of the most advanced lasers in the Baltimore and Washington D.C areas.
Do you wish you could revitalize your appearance by removing age spots and brown patches on sun damaged skin? Now you can. Severn River ENT Plastic and Laser Surgery now offers PicoSure, the world's first safe and effective picosecond laser for the removal of unwanted pigment. Refresh your skin with PicoSure's breakthrough technology and get visibly clearer skin faster, with fewer treatments, and minimal to no downtime.
Contact our office near Annapolis, Maryland today by calling (410) 544-9988 to learn more about PicoSure Tattoo Removal.


- Pulled pork layered with Chow Chow on a bed of grits.
Even though I've lived most of my life in Virginia, this was the first time I've ever had Chow Chow in my life! Patrick took away my "Virginian" card. I think he said he'll give it back to me later.
Vintage Tavern also had a great lemonade outside which was great…we were all very thirsty at this point.
I took a lot of photos, so I'll post in segments.


text:
#include "stdafx.h"
#include "Window.h"

SpaceGameEngine::Window::Window() :CurrentObject<Window>(this)
{
	m_Hwnd = NULL;
	m_IconFileName = "";
	m_WindowWidth = 0;
	m_WindowHeight = 0;
	m_WindowTitle = "";
	m_WindowPosition = m_DefaultWindowPosition;		//default value
	m_IfShowCursor = true;
	m_FPSLimit = 360;		//default value
	if (GetDefaultConfigFile().IfHaveConfigTable("Window"))
	{
		auto WindowConfig = GetDefaultConfigFile().GetConfigTable("Window");
		if (WindowConfig.IfHaveConfigValue("IconFileName"))
			m_IconFileName = WindowConfig.GetConfigValue("IconFileName").AsString();
		if (WindowConfig.IfHaveConfigValue("WindowWidth"))
			m_WindowWidth = WindowConfig.GetConfigValue("WindowWidth").AsInt();
		if (WindowConfig.IfHaveConfigValue("WindowHeight"))
			m_WindowHeight = WindowConfig.GetConfigValue("WindowHeight").AsInt();
		if (WindowConfig.IfHaveConfigValue("WindowTitle"))
			m_WindowTitle = WindowConfig.GetConfigValue("WindowTitle").AsString();
		if (WindowConfig.IfHaveConfigValue("WindowPositionX"))
			m_WindowPosition.first = WindowConfig.GetConfigValue("WindowPositionX").AsInt();
		if (WindowConfig.IfHaveConfigValue("WindowPositionY"))
			m_WindowPosition.second = WindowConfig.GetConfigValue("WindowPositionY").AsInt();
		if (WindowConfig.IfHaveConfigValue("IfShowCursor"))
			m_IfShowCursor = WindowConfig.GetConfigValue("IfShowCursor").AsBool();
		if (WindowConfig.IfHaveConfigValue("FPSLimit"))
			m_FPSLimit = WindowConfig.GetConfigValue("FPSLimit").AsInt();
	}

	ShowCursor(m_IfShowCursor);

	m_IfHaveBegun = false;
}

SpaceGameEngine::Window::~Window()
{
	SUBJECT_NOTIFY(Window, m_RespondRelease, *this);
}

HWND SpaceGameEngine::Window::GetHwnd()
{
	return m_Hwnd;
}

DWORD SpaceGameEngine::Window::GetWindowWidth()
{
	return m_WindowWidth;
}

DWORD SpaceGameEngine::Window::GetWindowHeight()
{
	return m_WindowHeight;
}

void SpaceGameEngine::Window::ChangeIfShowCursor(bool b)
{
	if (m_IfShowCursor == b)
	{
		return;
	}
	else
	{
		m_IfShowCursor = b;
		ShowCursor(b);
	}
}

bool SpaceGameEngine::Window::GetIfShowCursor()
{
	return m_IfShowCursor;
}

void SpaceGameEngine::Window::SetCursorPosition(int x, int y)
{
	auto pos = GetWindowPosition();
	SetCursorPos(pos.first + x, pos.second + y);
}

std::pair<int, int> SpaceGameEngine::Window::GetCursorPosition()
{
	POINT p;
	GetCursorPos(&p);
	GetWindowPosition();
	return std::pair<int, int>(p.x - m_WindowPosition.first, p.y - m_WindowPosition.second);
}

void SpaceGameEngine::Window::UpdateWindowSize()
{
	RECT r;
	GetClientRect(m_Hwnd, &r);
	m_WindowWidth = abs(r.right - r.left);
	m_WindowHeight = abs(r.bottom - r.top);
}

std::pair<int, int> SpaceGameEngine::Window::GetWindowPosition()
{
	if (m_IfHaveBegun)
	{
		RECT r;
		GetClientRect(m_Hwnd, &r);
		m_WindowPosition = std::pair<int, int>(r.left, r.top);
	}
	return m_WindowPosition;
}

void SpaceGameEngine::Window::SetWindowPosition(int x, int y)
{
	if (m_IfHaveBegun)
	{
		RECT r;
		GetWindowRect(m_Hwnd, &r);
		SetWindowPos(m_Hwnd, HWND_TOPMOST, r.left + x - m_WindowPosition.first, r.top + y - m_WindowPosition.second, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE);
	}
	m_WindowPosition = std::make_pair(x, y);
}

void SpaceGameEngine::Window::SetWindowSize(int x, int y)
{
	if (m_IfHaveBegun)
	{
		RECT r;
		SetRect(&r, 0, 0, x, y);
		AdjustWindowRect(&r, WS_OVERLAPPEDWINDOW, false);
		SetWindowPos(m_Hwnd, HWND_TOPMOST, 0, 0, r.right - r.left, r.bottom - r.top, SWP_SHOWWINDOW | SWP_NOMOVE);
	}
	m_WindowWidth = x;
	m_WindowHeight = y;
	if (m_IfHaveBegun)
	{
		Resize();
	}
}

void SpaceGameEngine::Window::SetWindowTitle(const String & title)
{
	m_WindowTitle = title;
}

SpaceGameEngine::String SpaceGameEngine::Window::GetWindowTitle()
{
	return m_WindowTitle;
}

void SpaceGameEngine::Window::SetFPSLimit(unsigned int limit)
{
	m_FPSLimit = limit;
}

unsigned int SpaceGameEngine::Window::GetFPSLimit()
{
	return m_FPSLimit;
}

bool SpaceGameEngine::Window::IfHaveBegun()
{
	return m_IfHaveBegun;
}

SpaceGameEngine::Timer & SpaceGameEngine::Window::GetTimer()
{
	return m_Timer;
}

void SpaceGameEngine::Window::StartRun(HINSTANCE hInstance)
{
	m_Timer.Init();

	//init window
	WNDCLASSEX WndClass = { 0 };
	WndClass.cbSize = sizeof(WNDCLASSEX);
	WndClass.style = CS_HREDRAW | CS_VREDRAW;
	WndClass.lpfnWndProc = WindowProcess;
	WndClass.cbClsExtra = 0;
	WndClass.cbWndExtra = 0;
	WndClass.hInstance = hInstance;
	WndClass.hIcon = (HICON)LoadImage(NULL, StringToWString(m_IconFileName).c_str(), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE);
	WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
	WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
	WndClass.lpszMenuName = NULL;
	WndClass.lpszClassName = L"SpaceGameEngineWindow";
	if (!RegisterClassEx(&WndClass))
	{
		THROW_ERROR("can not register window");
		return;
	}
	RECT r;
	SetRect(&r, m_WindowPosition.first, m_WindowPosition.second, m_WindowPosition.first + m_WindowWidth, m_WindowPosition.second + m_WindowHeight);
	AdjustWindowRect(&r, WS_OVERLAPPEDWINDOW, false);
	m_Hwnd = CreateWindow(WndClass.lpszClassName, StringToWString(m_WindowTitle).c_str(), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, r.right - r.left, r.bottom - r.top, NULL, NULL, hInstance, NULL);
	MoveWindow(m_Hwnd, r.left, r.top, r.right - r.left, r.bottom - r.top, true);
	ShowWindow(m_Hwnd, SW_SHOWNORMAL);
	UpdateWindow(m_Hwnd);

	SUBJECT_NOTIFY(Window, m_RespondInit, *this);
	m_IfHaveBegun = true;
	SUBJECT_NOTIFY(Window, m_RespondStart, *this);

	MSG msg = { 0 };
	double time_limit = 1.0 / (double)m_FPSLimit;
	TimePoint time_pre = std::chrono::steady_clock::now();
	TimePoint time_now;
	while (msg.message != WM_QUIT)
	{
		if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		else
		{
			time_now = std::chrono::steady_clock::now();
			std::chrono::duration<double> time_span = std::chrono::duration_cast<std::chrono::duration<double>>(time_now - time_pre);

			if (time_span.count() >= time_limit)
			{
				m_Timer.Tick();
				SUBJECT_NOTIFY(Window, m_RespondRun, *this);
				time_pre = time_now;
			}
			else
			{
				Sleep(1000 * (time_limit - time_span.count()));
			}
		}
	}
	UnregisterClass(WndClass.lpszClassName, hInstance);
}

void SpaceGameEngine::Window::Resize()
{
	SUBJECT_NOTIFY(Window, m_RespondResize, *this);
}

LRESULT SpaceGameEngine::Window::WindowProcess(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	ASSERT(Window::GetCurrentObject(), "Must have a current window object");
	switch (message)
	{
	case WM_PAINT:
		ValidateRect(Window::GetCurrentObject()->m_Hwnd, NULL);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	case WM_SIZE:
		Window::GetCurrentObject()->m_WindowWidth = LOWORD(lParam);
		Window::GetCurrentObject()->m_WindowHeight = HIWORD(lParam);
		if (LOWORD(lParam) != 0 && HIWORD(lParam) != 0)
			Window::GetCurrentObject()->Resize();
		break;
	default:
		return DefWindowProc(hwnd, message, wParam, lParam);
		break;
	}
	return NULL;
}

redpajama_set_name: RedPajamaGithub


Bollywood actress Alia Bhatt is riding high on her ladder of success this year. Under the direction of Meghna Gulzar, film 'Raazi' starring Alia Bhatt has become the fifth film receiving the highest opener of the running year.
Alia Bhatt is currently busy in shooting for her upcoming film, 'Brahmastra' under the direction of Ayan Mukerji. The actress pairing alongside Ranbir Kapoor has started preparation for the shoot.
According to the reports from the close sources, Alia Bhatt and Ranbir Kapoor are dating each other. The duo moved had in hand at the grand wedding reception of actress Sonam Kapoor that worked like adding fuel to the rumors.
When media questioned Alia Bhatt about her relationship with actor Ranbir Kapoor, the actress clearly said that the two of them are co-stars and working together in a film titled, 'Brahmastra' that is slated to hit the screen next year.


fantastic new Project- Sing your heart out !
Then contact - belindagannon.musicforall@gmail.com The health and well- being benefits from regular singing have been highlighted by research by the Sidney De Haan Centre (part of Canterbury University) which found it improved mood, relieved depression, reduced stress levels and the risk of isolation. If done regularly, it can lead to many physical and mental improvements such as improved breathing, and posture while providing a boost for the immune system.
The Royal Brompton Hospital now offers 'Singing for Breathing' sessions for their patients with COPD and other respiratory conditions, and similar groups are taking place all over the country.
Gathering to sing together regularly can help make us feel more energised and uplifted. Many people in Selsey have long term health issues, are unemployed, feel isolated and lack motivation to leave the house a new area, unemployment, bereavement and even the children leaving the nest can leave us feeling empty. Making music has the ability to banish the blues. But singing is fun whatever your motivation. So come along and enjoy yourself in a supportive friendly environment !
Sing your heart out certainly know how to have a good time!A lovely sharing event at Christmas. Thanks to all the Choir members for supporting and helping!


text:
Congo Brazzaville, the Reasons Behind the Civil War
On October 16, 1997, the troops of the former president of Congo Brazzaville, M. Sassou Nguesso, took control of the capital Brazzaville, thus ousting the current president Pascal Lissouba, after a five month long civil war. It would be very difficult to understand the reasons for this conflict without taking into account the background struggle for influence between French and US imperialism in Africa, and the interests of the different oil companies in the rich oil fields in Congo Brazzaville's Atlantic coast.
On October 16, the troops of the former president of Congo Brazzaville, M. Sassou Nguesso, took control of the capital Brazzaville, thus ousting the current president Pascal Lissouba, after a five month long civil war.
It would be very difficult to understand the reasons for this conflict without taking into account the background struggle for influence between French and US imperialism in Africa, and the interests of the different oil companies in the rich oil fields in Congo Brazzaville's Atlantic coast.
The French company Elf controls 3/4 of the Congolese oil production and therefore represents one of the main sources of income of this African country. The links between the French multinational and the countries government are many, visible and invisible. Since Sassou Nguesso became president of the "People's Republic" of Congo, the relations between the government and the company could not have been better.
But when Pascal Lissouba was elected president in 1992 (after the former Stalinist Congolese Labour Party adopted "free market" economy and a multi party system), he opened relations with the US based Occidental Petroleum (Oxy), which in exchange agreed to pay for the wage arrears of public employees.
Thus, it is not difficult to see that when last June the civil war started Elf sided although not openly with Sassou Nguesso. According to "sources in the French secret services" Nguessou's militias "were able to get supplies from Europe through the financing circuits of the oil companies" (Le Monde, 17/10/97).
Angola also sided with Nguessou for a double reason. First of all Elf is also the main company exploiting the oil resources of Angola, but most important of all Angola's intervention in Congo allowed it to smash a great deal of the remaining UNITA forces still operating from this country againts the Angolan regime. And at the same time it dealt a serious blow to the Cabinda nationalist guerrillas also operating from Congo-Brazzaville. Angola's troops were crucial to ensure Nguessou's victory in the Western province around Pointe-Noire (the main oil producing area) and in the capital Brazzaville itself.
Kabila's new Democratic Republic of Congo (former Zaire) sided in this war with Pascal Lissouba. This could seem surprising as this put him in opposition to Angola, while this country supported his campaign to overthrow Mobutu in the former Zaire. This can only be understood in the context of the French-US rivalry in Africa. Mobutu's overthrow was a blow againts French interests in the area, while Kabila was supported by those countries in the US sphere of influence (mainly Uganda and Rwuanda). Kabila therefore chose to oppose France's interests in this conflict.
This conflict therefore does not benefit in any way the masses of these countries who see how different multinational companies and imperialist powers play with their future as if pawns in an international chess match. Five months and 4,000 people dead after, maybe the only good thing to come out of the conflict is the smashing of the mercenary forces of the UNITA thugs.
All this situation only reinforces the idea of the need for an independent movement of the working class and the masses in the area against all foreign imperialist powers and to take control of these countries' natural ressources. Such a movement would spread rapidly througout the whole of Africa and beyond, and can only be organised on the basis of socialist ideas.
DR Congo: Tensions boil over into mass student protests against Kabila 29 Jan 2015
Democratic Republic of Congo: M23, imperialist looting and barbarism 21 Jan 2013
Oppression of women in the Democratic Republic of Congo, "the Rape Capital of the World" 12 Mar 2012
DR Congo elections – no way out on basis of capitalism 13 Dec 2011
Mobutu Overthrown, What Next for the New Congo? 27 May 1997

redpajama_set_name: RedPajamaCommonCrawl


One of the chief recommendations of couplehood is supposed to be protection from loneliness. However, this is a fallacy, say relationship counsellors, and instances of a partner in a relationship suffering from acute loneliness isn't too uncommon. According to Dr Rachna K Singh, head of department, Holistic Medicine and Psychology at Artemis Hospital, Gurgaon, "There is a difference between being lonely and being alone. Being alone is often a voluntary state where you are otherwise fulfilled and want some me-time away from your partner, while loneliness is a helpless feeling of being cast away from the core of the relationship." It's accompanied, she observes, with feelings of disappointment and incompleteness. "Repeated episodes of loneliness suggests that there are some serious issues in the relationship." Here are some mantras to help you through it.
How lonely you feel does not only depend on the amount of attention that your partner gives you, but also on how much attention you give yourself. As Dr Singh says, "You should reduce your dependence on your partner for emotional gratification. Go out with your friends, share your feelings with siblings and mingle with a wider circle so that you can make up for his lack of attention." And while you are at it, introspect a little about what you want from your relationship. Are you lonely because you are seeking something that your partner will never be able to provide?
When you start feeling lonely, you withdraw further into a shell, and that only widens the distance between you two. If you think the relationship is worth salvaging, make an attempt to bridge that distance, even if you think he is in the wrong. Shalmali Chatterjee, 35, publicist, tried this, "There was such a chasm between my husband and me that I dared not approach him for fear of being rebuffed. However, after seeking advice from my counsellor, I decided to make the first move to ease things," she says.
"I started off with banal things like asking him about his day at work and even the weather! And he responded. I would sit and watch his favourite shows with him and, eventually, we would get talking. I finally felt the walls melting away when I gave him a warm hug one day as he came back from work." Also, if you feel that he has been shutting himself away from you because of something you have done, do right by him and apologise.
There's no getting away from this: if you're feeling lonely, you need to tell your partner about it. It is possible that he has been busy at work or facing other issues that leave him unable to cope with your emotional demands. Psychologist Guy Finch has been quoted as saying on Psychologytoday.com: "Loneliness also occurs when communication is not open and honest. Maybe your partner doesn't realise you're feeling unloved or unsatisfied." If you find it hard to talk, email or text. Sometimes, it's easier to be open in writing.
Work at creating new memories. Dr Singh says, "Loneliness occurs when partners don't spend enough time with each other or break certain routines like taking a walk or eating dinner together. Suggest a date night, watch a film or plan a holiday—make sure it's quality time." Pick things that he enjoys doing too, so you can see things from his perspective.


At Mt. Franklin, we take a personalized and detailed approach to client service. We are pleased to be able to share feedback from satisfied clients, while still maintaining our commitment to client confidentiality.
Cannot say enough good things about them! Everyone is very professional and helpful, personalized service and attention. Reasonable rates and quick responses. I recommend them highly for all your insurance needs!
Hand a wonderful experience with Monique Romo at Mt. Franklin Insurance. She was very attentive and thorough in assisting us with our insurance needs!.
I just wanted to let your agency know that the insured said: Bill Carvajal is an outstanding agent.
dealing with insurance. Thank you.
I had Shane Lipson at Mt. Franklin Insurance bid out my insurance to see if I could save some money. He did and was able to offer me BETTER coverage than what I have now (with an excellent company) at a price several HUNDRED dollars per year less than what I am currently paying. . . Shane is an extremely knowledgeable, no-pressure agent and if he cannot find something that works better for you, he will tell you so.


text:
Tampa Snubbed On Michelin Stars? Here's Why That Does Not Matter.
Michelin Guide launched in Florida yesterday for the first time. Miami and Orlando restaurants went home with stars. No Tampa restaurants were awarded a "star" designation. I immediately received messages of disappointment and dismay. Three Tampa restaurants did receive the Bib Gourmand designation, or "value-for-money award": Ichicoro, Rooster & the Till, and Rocca.
It has been well-covered that Michelin is funded by tourism bureaus to bring guides to a certain city and in Florida's case they received millions of dollars from the tourism bureaus in Tampa, Orlando, and Miami to bring the guide to those areas.
How much clout those tourism bureaus have in who wins and who loses has been well-debated, but I think if you look at who won yesterday, it seems the tourism bureaus may have less clout that previously imagined and instead there is a type of restaurant or caliber that seems to draw the awards. There were restaurants who would have clearly won if the tourism bureaus had a say that did not.
Tampa is a town in transition. The changes that started in South Tampa and Seminole Heights after the 2008 Great Recession have spread to Midtown Tampa, Tampa Heights, and across the city as more restaurants open and chefs take more risks and there is more on the way.
Michelin at the end of the day is a tool for tourism, to bring people town and to shine a light on the growing food scene throughout Florida. That goal will be accomplished regardless of "star" ratings. Most cities in the United States do not have a Michelin Guide, but now three cities in Florida, including Tampa, do.
Cities like Miami have long been graced with top chefs, big money, and the kind of fine-dining, high-end experiences that would be the modus operandi or M.O. for a Michelin Guide. Tampa, on the other hand, is a working-class town with an average income of $40K, Tampa is growing from the bottom-up, not the other way around. That means there are growing pains and changes as the city tries to grow and adapt.
Does that mean there's no good food in Tampa or that Tampa is not a food town? Of course not. Tampa has great food everywhere and Tampa is growing every day. Some projects don't end well and others come and go, but there are people throughout Tampa working to bring something new and to make changes to the food scene here.
Places that have helped Tampa grow like The Refinery, Ichicoro, Edison, Rooster and the Till, and others are part of long journey in Tampa's culinary scene. Every failed risk, every new chef, every new direction, is part of the evolution for Tampa. Opening the palettes of diners and diners demanding more from places that serve them has been a long journey.
The pandemic itself has reshaped the entire dining map in Tampa, and like most of the world, businesses have had to adapt to a changing world, moving to takeout, losing staff members, trying to keep everyone happy in a world filed with chaos. The fact these places are still standing at all is nothing short of a miracle.
Florida as a whole has long been looked over by the James Beard Foundation, Michelin, and other organizations and groups based in New York City or that only stop in to Florida for a trip to Disney World or Universal Studios. No one can change the politics of Michelin, but what Tampa can do is to look this as an opportunity to grow and advance.
The spotlight is clearly on Tampa now. You can see the change. The future is coming for the City of Tampa. Now it's up to Tampa to grab it as it comes. The time is now.
About me: Hello my name is Carlos Hernandez and I am a food writer with over 10 years of experience in the industry. I write the food blog Carlos Eats (http://www.carloseats.com) and also contribute to several newspapers and magazines with food-related blogs and articles.
michelin, Michelin guide, Restaurant news, Restaurants, Tampa
Articles, News, Restaurant News


text:
Q: How to turn off red underlines in comments in Netbeans? There is a similar question : "Netbeans - Turn off - wavy red underlines - How?" But It's for earlier version, doesn't apply any more.
I still want error to be underlined, just not in the comments, it's now underlined something like : "buffersize"

A: This is explained and illustrated in How to disable red-underline spellchecker in Netbeans 7:

To remove it simply choose Tools → Options → Miscellanous, then in
  Spellchecker tab uncheck the C/C++/Fortran Comments and press OK. [...]

The specific result of disabling the spellchecker depends on the target language/syntax of course, but likely this should yield the desired effect.

A: In NetBeans IDE 7.4 RC1 (Build 201309162201), you can disable spellchecking under
Tools → Options → Editor → Spellchecker tab
The settings refer to:

*

*C/C++/Fortran Comments

*GSP

*HTML

*JSP

*Javadoc comments

*PHP

*Piain text

*Properties

*Script and Make Comments

*XHTML

*XML

Screenshot:

Here is an example BEFORE and AFTER disabling HTML spellchecking.
before:

after:

A: In Netbeans 12.0 this option can be found under the Editor tab. Not in the Miscellaneous tab.
Goto

Options -> Tools -> Editor -> SpellChecker Tab

Rest is the same as the first answer.

redpajama_set_name: RedPajamaStackExchange


Real life happens in very brief, random, fleeting moments. Sometimes we miss it.
It can be made up of split second decisions or the final result of well thought out plans…either way, it unfolds right before our eyes.
Real life happens way before you walk into an auditorium to receive that diploma. It probably started when you opted out of the distractions and chose to focus on studying those few extra hours.
Real life moments happen way before you got invited on a stage to showcase your talent. It began when you picked up a hair brush or that kitchen utensil and made it your first microphone. These are the moments that define your life. They don't often get recognized as such, but they happen daily and are the real bricks and mortar of you.
Real life is that moment when you decide to tell the truth, because you know in that instant that the lie isn't worthy of you anymore. It happens when you're not confused nor wishy-washy about your decision. It's when your mind is made up and there's no swaying you. It's when your yes finally means yes and your no simply means no.
Real life moments are the small pieces of time that help build character. It's the place in time where principles are etched. There's no applause when it occurs. There aren't any fireworks or fanfare. You won't be able to capture it and post it on social media. It just happens.
Sometimes, it will look like forgiveness to a friend for a decade old misunderstanding or a smile that was just meant to make someone's day. It's real and you'll feel it, if only for a moment and it will mean something to only you. Stay awake for it. This is real life happening.
Real life doesn't come from watching the lives of others. Celebrities can't produce a real life moment for me nor you. Your parents, try as they will, won't be able to provide you with it either. It's all on you.
So make your real life count. Explode in the small steps you take towards your big dream and let it guide your passion. Pay attention to the brief encounters and the daily decisions that get you closer to the real you. Take advantage of every moment that you create because they were made with you in mind.


text:
Splatoon 3 was the most downloaded Switch game in Japan this year
Nintendo publishes a list of the most downloaded games for 2022, which contains a mix of expected new releases and some delightful surprises.
According to a recently published report, Splatoon 3 has topped Nintendo's most downloaded charts for 2022, proving how in-demand it is in the country. The Splatoon game series is a set of third-person shooter games developed and published by Nintendo for the Wii U and Nintendo Switch. The series centers around the Inklings, a race of squid-like creatures that can switch between two forms at will, and their battles against the Octarians, another race of creatures. The first game in the series, Splatoonwas released in 2015 and was followed by Splatoon 2 in 2017.
GAMERANT VIDEO OF THE DAY
The Splatoon game is known for its unique gameplay, which combines elements of traditional shooters with platforming and ink-based combat. The Splatoon series has been hugely successful, so fans were very excited about the release of the third main part of the game. Splatoon 3 was officially released in September 2022 and sold over 3.45 million copies in just 3 days of its release in Japan, proving to be a resounding success.
RELATED: Pokemon Finally Dethroned as Japan's Best-Selling Game
Nintendo has revealed its list of the 30 best-selling eShop games for Japan in 2022, with Splatoon 3 comes in as number one. The reports show that the game has not only performed well but has exceeded the expectations of it, even compared to other popular titles like Pokemon series games. Pokemon Legends Arceus took second place, with Pokemon Violet close behind in third, followed by Pokemon Scarlet in the 4th, mens Monster Hunter Rise took 5th place.
For those who are not aware, Monster Hunter Rise was the most downloaded game on Nintendo in Japan during the year 2021. With many popular games released in 2022, it is impressive that Monster Hunter Rise managed to take 5th place and it is probably due to the release of the DLC expansion, Sunbreak. It was widely believed that Pokemonhis last games, Violet and Scarlett, would top the most downloaded charts. However, this was not the case and it may be due to the various bugs and performance issues the games were released with.
Splatoon 3its popularity is due to its unique gameplay, which combines elements of shooting and puzzle games, as well as its colorful and lively graphics. Splatoon 3 is also highly replayable, with new content released regularly that keeps players coming back for more. There is no doubt about that Splatoon 3 is one of the most popular games in Japan, and it looks like it's here to stay.
Splatoon 3 is now available exclusively for Nintendo Switch.
MORE: Splatoon 3: Every new map and weapon introduced in Chill Season
Source: Siliconera
How to download e-mail from Microsoft Outlook
Is for honor free, trial release date, time and download, platforms, price, Friends Referral Program Awards
Russian duo arrested for running pirated e-book download site Z-Library
How to download an archive of your Twitter data
See also How to download the latest PUBG Mobile beta, and list of the latest features
← Previous post: Anime Industry just posted its highest profit since 2002
Disney+ Hotstar All Plans in IndiaNext post: →
A guide to free, ad-supported streaming services in Canada to trim your monthly bills
Sony's Mocopi can turn you into an anime girl with just six tiny sensors and a smartphone
10 Best Anime That Aired on 4Kids
Gabino Iglesias Reviews Mage of Fools by Eugen Bacon – Locus Online
10 best anime for crime drama and heist fans
Best anime like DanMachi
Anime Race Clicker Codes for September 2022
'Wendell and Wild' review: Jordan Peele and Henry Selick deliver a dark gem
ICYMI: Top Disney+ Stories This Week
Moonlit Fantasy: The Differences Between the Manga and Anime


And, life goes on until we create something like this, to please our sweet perfectionist boss that Vikram is.
Worth the wait isn't it?
– Subak Patwardhan – TEAM CGI.
This entry was posted in Uncategorized and tagged CGI, Fashion, Fashion Photographer, Office Gossip, Photography, Vikram Bawa by Vikram Bawa. Bookmark the permalink.


text:
Q: Telegraf cannot connect to RabbitMQ I am trying to set up telegraf to collect sensor data from my RabbitMQ and forward it into two different InfluxDBs.
However, I am not able to get the connection between RabbitMQ and Telegraf working:
[inputs.rabbitmq] Error in plugin: Get "http://localhost:15672/api/exchanges": dial tcp 127.0.0.1:15672: connect: connection refused

Opening 127.0.0.1:15672 in my webbrowser works, after intial authentication. Doing a
curl -u test:test 'http://localhost:15672/api/queues/'

yields a proper looking output.
Telegraf config:
[[inputs.rabbitmq]]
  ## Management Plugin url. (default: http://localhost:15672)
  url = "http://localhost:15672"
  ## Tag added to rabbitmq_overview series; deprecated: use tags
  # name = "rabbitmq"
  ## Credentials
  username = "test"
  password = "test"

My RabbitMQ instance is set up with docker compose, here is the snippet:
version: '3.7'
services:
  rabbitmq:
    image: rabbitmq:3.9.7-management-alpine
    restart: always
    ports:
      - '15672:15672'
      - '5672:5672'
    networks:
      - testnet

Telegraf was set up with:
docker run -d --name=telegraf -v ${PWD}:/var/lib/influxdb --net=testnet telegraf:latest

The telegraf set up was based on an official guideline from the Influx team. I realize that my telegraf.conf file cannot be stored in ${PWD}, so I always copied my modified file into the docker container to /etc/telegraf/telegraf.conf. I know that the correct config file is used based on different log output from changes.
I have checked docker network inspect testnet and can verify that all containers run in the same network.
I have no more ideas left, why my connection is constantly refused....
Any help is appreciated!
Best regards

A: I can get the connection to work if you remove the network flag. Is there a reason you need to use a network? I am getting 401's unauthorized now but nonetheless it's accessible.
version: '3.7'
services:
  rabbitmq:
    image: rabbitmq:3.9.7-management-alpine
    restart: always
    ports:
      - '15672:15672'
      - '5672:5672'


By December of each year the City adopts an annual budget for the next fiscal year. A Five Year Capital Improvement Plan is proposed at the same time. The Five Year Capital Improvement Plan allows the City to identify trends and significant changes using a long-range outlook.
An outside audit firm reviews year-end financial reports for accuracy and compliance with generally accepted accounting principles. Financials are presented under the required Governmental Accounting Standards Board format.


text:
South Africa's ISPA: A leading advocate for the African web
June 14, 2018 Ivana Strineka Trbovic
News that the Internet Society and African IXP Association (AFIX) are set to hold the 9th annual Africa Peering and Interconnection Forum (AfPIF) during iWeek in Cape Town in August has seen increased interest in South Africa's leading Internet industry conference and its founder, ISPA.
ISPA (the Internet Service Providers' Association of South Africa) has emerged as a leading advocate for South African and African Internet industry liberalisation. In fact, it was out of a desire to level the monopolised local telecommunications playing field of the 1990s that ISPA was formed.
On 6 June 1996, nine South African pioneering Internet Service Providers (ISPs) got together and decided the formation of ISPA was critical if the country's underperforming telecoms sector was to flourish. Barriers to competition had to be broken down with urgency and ISPA was the vehicle to do it. Telkom, the state-controlled ICT entity, enjoyed a monopoly over key telecoms services and this was threatening to undo many of the early gains realised during South Africa's transition to democracy.
Things moved along swiftly following the Association's formation. ISPA helped influence and shape telecommunications policy in SA and launched competition complaints against Telkom which have redefined the competitive landscape for communications in South Africa. In total, during the last two decades, ISPA has weathered three regulatory authorities, eight telecommunications ministers and three major overhauls of the legislative framework governing communications services.
However, ISPA's most important Internet advocacy activities have not been limited to the regulatory and legislative spheres. Its founding year of 1996 saw ISPA members establish the Johannesburg Internet Exchange (JINX), an African first and the forerunner of the many INXes that exist today in SA and on the continent. Today JINX (Johannesburg Internet Exchange), CINX (Cape Town Internet Exchange) and DINX (Durban Internet Exchange) offer multisite peering opportunities helping to keep South African internet traffic local and thereby reducing the costs to communicate.
The year 2000 saw the launch of ISPA's Teachers' Training program that will again feature during 2018's iWeek. This initiative was launched to provide computer and Internet literacy to South African teachers from disadvantaged backgrounds.
The very first iWeek was hosted in 2001 by ISPA and UniForum SA (today, ZACR) and ISPA formally looked to the continent for the first time by becoming a founder member of AfrISPA that same year.
As the Internet industry has matured, ISPA has increasingly played a role in ensuring that consumers receive reliable and reputable services from members. Its Code of Conduct plays a leading role in this regard. The iWeek conference that ISPA has co-hosted annually since 2001 is another primary example of ISPA activities going beyond the original mandate of the Association in pursuit of the greater good of the SA and African ICT sector.
ISPA is always on the lookout for ways to enhance its effectiveness. In 2009, ISPA was officially recognised as an Industry Representative Body (IRB) by the Department of Telecommunications and Postal Services.
In June 2016, ISPA transitioned from a voluntary association to an incorporated Non-Profit Company, with a Board of Directors elected directly by ISPA's members. Today, ISPA membership is open to any organisation providing Internet access or related services in South Africa. While the majority of ISPA's members are commercial operators, membership is open to non-profit organisations, and ISPA counts universities, schools' networks, parastatals and wireless user groups amongst its members.
Previous PostInternet Society and African IXP Association Partner with South Africa's Internet Service Providers' Association for AfPIF at iWeekNext PostWorkonline Invites You To WomenTechConnect Lunch


text:
The Learning Tree is a 1969 American coming-of-age drama film written, produced, and directed by Gordon Parks. It depicts the life of Newt Winger, a teenager growing up in Cherokee Flats, Kansas, in the 1920s, and chronicles his journey into manhood marked with tragic events. Based on Parks' 1963 semi-autobiographical novel of the same name, The Learning Tree was the first film directed by a black filmmaker for a major American film studio, Warner Bros.-Seven Arts.

In 1989, The Learning Tree was one of the first 25 films selected by the Library of Congress for preservation in the United States National Film Registry for being "culturally, historically, or aesthetically significant".

Plot summary
In 1920s Kansas, a group of African-American boys, Newt Winger, Marcus Savage and friends steal apples from Jake Kiner's orchard, and when Jake (who is white) confronts the boys, he is beaten and left for dead by Marcus, who is later sent to jail for his actions. During the chase of Marcus and the boys, the racist white sheriff shoots dead an innocent black man, and is not punished.

Newt does well in school and aims to go to college; a white teacher tries to dissuade him, but the white principal opposes the racism of the town and encourages his ambitions.

While Marcus is in jail, Newt begins to work for Jake to make up for his actions and those of his friends, and also begins a relationship with the new girl in town, Arcella Jefferson, but his relationship with her is ultimately destroyed when Chauncey Cavanaugh, a white man and son of the local judge, rapes and impregnates Arcella, who ultimately moves away out of shame. Another scene depicts Newt winning a boxing match at the county fair.

One day when Newt had just woken up from a nap in the loft of Jake's barn, he witnesses the brutal attack and murder of Jake by Booker Savage, Marcus' father. Newt initially keeps quiet about what he has seen, but appears to be bothered that Silas Newhall, a white man, who was at the scene of the crime for another reason, is being accused for a murder he did not commit. Encouraged by his mother Sarah, Newt reveals to Judge Cavanaugh that Booker committed the murder, and also testifies in court, but rather than doing the good he intended it to do, Newt's testimony leads to the suicide of Booker. Newt is later almost killed by Marcus, who is then shot in the back by the sheriff while running away. Newt refuses a lift home from the sheriff, and walks away to an uncertain future.

Cast
 Kyle Johnson as Newt Winger
 Alex Clarke as Marcus Savage
 Estelle Evans as Sarah Winger
 Mira Waters as Arcella Jefferson
 George Mitchell as Jake Kiner
 Richard Ward as Booker Savage
 Malcolm Attenbury as Silas Newhall
 Russell Thorson as Judge Cavanaugh
 Zooey Hall as Chauncey Cavanaugh
 Dana Elcar as Sheriff Kirky
 Felix Nelson as Jack Winger
 Joel Fluellen as Uncle Rob

Background
The film The Learning Tree is based on Gordon Parks's 1963 semi-autobiographical novel of the same name. Parks also wrote the screenplay, and as a result the script for the film did not deviate much from the book, except for featuring fewer characters for the sake of running time. In addition to being the screenwriter, he was also the director, producer, and music composer. Burnett Guffey served as cinematographer, while Parks was assisted by Jack Aldworth and Fred Giles. Parks tried to include as many black technicians as possible on the film.

Parks personally chose Kyle Johnson to play the character of Newt, after a brief meeting with him in a Beverly Hills hotel. However, during the meeting, he gave no indication that he wanted to cast Johnson. Johnson kept getting called in for screen tests, and after the fourth test he found out that he had already been hired and the tests were meant to gauge the abilities of the other actors, not him. Johnson characterized the audition process as "not normal".

According to Turner Classic Movies, the original name of the film was Learn, Baby, Learn before it was changed to its current name. The current title appears to be taken from a line in the film, one that Sarah Winger tells her son Newt: "Let Cherokee Flats be your learning tree."

Film production
The Learning Tree was bought by Warner Bros.-Seven Arts in 1969 and became the first film directed by a black person for a major American film studio. Parks later said of it:

The Learning Tree was shot on location in Fort Scott, Kansas, in the fall of 1968, and the production process was scheduled to take three months. Fort Scott had been where Parks grew up, and it was also the basis for the fictional town of Cherokee Flats.

Kyle Johnson remembers that when production began there was a circus in town. As a result, the circus scene in the film features an actual circus rather than a staged one. Moreover, the circus scene included citizens of Fort Scott, who were there for the circus in town anyway.

Additionally, Johnson recalls that his "most enjoyable work as an actor" was done under Gordon Parks. Specifically, Johnson says, "I really enjoyed The Learning Tree; for me it was like being part of a tight-run ship, a well-oiled machine. You do your part and you recognize its importance and relationship to all the other parts, cast, crew, director and so forth."

Parks is said to have followed his instincts while filming, and also encouraged the actors to follow their own instincts while acting. This ease while filming arguably contributed to the fact that scenes were shot in very few takes.

During the film production, executives from Warner Bros. often visited the set. Warner sent representatives over to check up on Parks and to make sure that production was running smoothly, allegedly because Parks was an African-American director.

Exodusters
In 1879, many African Americans migrated to Kansas and they became known as the "Exodusters". Among those who traveled were the ancestors of Gordon Parks. His father, Andrew Jackson Parks, was a tenant farmer in Kansas. Given that Gordon Parks was born in Fort Scott, Kansas in 1912, he was the "issue of the second generation of exodusters". His ancestral background played a role in choosing Fort Scott as the filming location for The Learning Tree.

The Exodusters earned their name after nearly 6,000 black Americans migrated to Kansas after the Emancipation. Their exodus was prompted by the 1879 Windom Resolution that encouraged African Americans to leave the southern states where they were still met with much hatred, even though the American Civil War had ended a little more than a decade earlier. Kansas promised a fresh start for the Exodusters, who wanted to begin a new life, in a new land, away from the southerners who had once enslaved them.

Depictions of black manhood
The Learning Tree juxtaposes the lives of Newt Winger and Marcus Savage, two former friends that are trying to find themselves in a white-dominated Midwestern society. Though these two young men have different personalities and different goals in life, both characters represent two examples of black manhood.

Newt is a young man who tries to adhere to morals, although upset by the racial injustice of the day. When adversity occurs, he tries to act with dignity: when he and his friends steal from Jake Kiner, he attempts to make amends by working for him pro bono; when Chauncey Cavanaugh takes a liking to Newt's girlfriend Arcella, he does his best to protect her and ultimately he comes to term with his loss without showing aggression; he tells the truth in the Kiner murder trial, even though it exposes Booker Savage as the killer and African Americans are subsequently shown in an unfavorable light. Newt's determination to act ethically is a reflection of his moral character.

In contrast, Marcus is a young man who is also upset by the racial injustice of the day, but retaliates with violence. His rocky relationship with his father, Booker, does not help his psyche and predisposes him to violence. In the case of Marcus, he begins to embody violence, specifically when he beats Kiner and attempts to murder Newt for sending both him and his father to jail.

Soundtrack
Gordon Parks composed and wrote the following score for The Learning Tree:
 The Learning Tree – Main Title, sung by O.C. Smith
 The Storm To Calm
 Bluebird
 The Swimming Hole
 Concerto (Arcella's Theme)
 Birthday Present
 Chorale (The Learning Tree)
 Poor Tuck
 Questions & Answers
 My Baby's Gone (feat. Jimmy Rushing)
 The Fight
 Confrontation (feat. Kyle Johnson & Joel Fluellen)
 Hymn – End Title
New York Times reviewer Roger Greenspun praised the film's score in his review, saying that the music "telegraphs and then drains each crisis".

Reception
When The Learning Tree premiered at the Trans-Lux Theater in New York City on August 6, 1969, it was well-received by critics. Roger Greenspun commented in his review that the scenes in the film took on a "kind of ceremonial vitality and lifelikeness". Parks and Guffey's strong attention to detail helped to make this film beloved and well-remembered to the American public.

The Learning Tree was one of the first 25 films to be listed on National Film Registry when the registry was created in 1989.

See also
 List of American films of 1969
 Nadir of American race relations

References

External links
The Learning Tree  essay by Maurice Berger on the National Film Registry website

Film Notes from New York State Writer's Institute
The Learning Tree by essay by Daniel Eagan in America's Film Legacy: The Authoritative Guide to the Landmark Movies in the National Film Registry, A&C Black, 2010 , pages 651-652

1960s coming-of-age drama films
1969 films
African-American films
American coming-of-age drama films
Films about racism
Films based on American novels
Films directed by Gordon Parks
Films set in Kansas
Films set in the 1920s
Films set in the 1930s
Films shot in Kansas
Films about rape
United States National Film Registry films
Warner Bros. films
1969 directorial debut films
1969 drama films
1960s English-language films
1960s American films

redpajama_set_name: RedPajamaWikipedia


text:
\section{Introduction}
Multitask learning (MTL) captures and exploits the relationship among multiple related tasks and has been empirically and theoretically shown to be more effective than learning each task independently. Multitask feature learning (MTFL) investigates a basic assumption that different tasks may share a common representation in the feature space. Either the task parameters can be projected to explore the latent common substructure \cite{rai:2010:infinite}, or a shared low-dimensional representation of data can be formed by feature learning \cite{kang:2011:learning}. Recent methods either explore the latent basis that is used to develop the entire set of tasks, or learn how to group the tasks \cite{passos2012flexible,kumar2012learning}, or identify if certain tasks are outliers to other tasks \cite{Gong:2012:rMTFL}.

A widely used MTFL strategy is to impose a blockwise joint regularization of all task parameters to shrink the effects of features for the tasks. These methods employ a regularizer based on the so-called $\ell_{1,p}$ matrix norm  \cite{Lee:NIPS2010:lasso,liu2009multi,obozinski2006multi,zhang2010probabilistic,zhou:2010:uai} that is the sum of the $\ell_p$ norms of the rows in a matrix. Regularizers based on the $\ell_{1,p}$ norms encourage row sparsity. If rows represent features and columns represent tasks, they shrink the entire rows of the matrix to have zero entries. Typical choices for $p$ are 2 \cite{obozinski2006multi,Evgeniou:2004:RML} and $\infty$ \cite{turlach:2005} which are used in the very early MTFL methods. Effective algorithms have since then been developed for the $\ell_{1,2}$ \cite{liu2009multi} and $\ell_{1,\infty}$ \cite{conf/icml/QuattoniCCD09} regularization.  Later, the $\ell_{1,p}$ norm is generalized to include $1<p\le\infty$  with a probabilistic interpretation that the resultant MTFL method solves a relaxed optimization problem with a generalized normal prior for all tasks \cite{zhang2010probabilistic}. Recent research applies the capped  $\ell_{1,1}$ norm as a nonconvex joint regularizer \cite{conf/nips/GongYZ12}. The major limitation of joint regularized MTFL is that it either selects a feature as relevant to all tasks or excludes it from all models, which is very restrictive in practice where tasks may share some features but may have their own specific features as well.

To overcome this limitation, one of the most effective strategies is to decompose the model parameters into either summation \cite{jalali2010dirty,Chen:2011:ILG,Gong:2012:rMTFL} or multiplication \cite{xiongbi-mtl-sdm2006,Bi:2008:IML,ICML2012Lozano} of two components with different regularizers applied to the two components. One regularizer is used to take care of cross-task similarities and the other for cross-feature sparsity. Specifically, for the methods that decompose the parameter matrix into summation of two matrices, the dirty model in \cite{jalali2010dirty} employs $\ell_{1,1}$ and $\ell_{1,\infty}$ regularizers to the two components. A robust MTFL method in \cite{Chen:2011:ILG} uses the trace norm on one component for mining a low-rank structure shared by tasks and a column-wise $\ell_{1,2}$-norm on the other component for identifying task outliers. Another method applies the $\ell_{1,2}$-norm both row-wisely to one component and column-wisely to the other \cite{Gong:2012:rMTFL}.

For the methods that work with multiplicative decompositions, the parameter vector of each task is decomposed into an element-wise product of two vectors where one is used across tasks and the other is task-specific. These methods either use the $\ell_2$-norm penalty on both of the component vectors  \cite{Bi:2008:IML}, or the sparse $\ell_1$-norm on the two components (i.e., multi-level LASSO) \cite{ICML2012Lozano}. The multi-level LASSO method has been analytically compared to the dirty model \cite{ICML2012Lozano}, showing that the multiplicative decomposition creates better shrinkage on the global and task-specific parameters. The across-task component can screen out the features irrelevant to all tasks. To exclude a feature from a task, the additive decomposition requires the corresponding entries in both components to be zero whereas the multiplicative decomposition only requires one of the components to have a zero entry. Although there are different ways to regularize the two components in the product, no systematic work has been done to analyze the algorithmic and statistical properties of the different regularizers. It is insightful to answer the questions such as how these learning formulations differ from the early methods based on blockwise joint regularization, how the optimal solutions of the two components look like, and how the resultant solutions are compared with those of other methods that also learn both shared and task-specific features.

In this paper, we investigate a general framework of the multiplicative decomposition that enables a variety of regularizers to be applied. This general form includes all early methods that represent model parameters as a product of two components \cite{Bi:2008:IML,ICML2012Lozano}. Our theoretical analysis has revealed that this family of methods is actually equivalent to the joint regularization based approach but with a more general form of regularizers, including those that do not correspond to a matrix norm. The optimal solution of the across-task component can be analytically computed by a formula of the optimal task-specific parameters, showing the different shrinkage effects. Statistical justification and efficient algorithms are derived for this family of  formulations. Motivated by the analysis, we propose two new MTFL formulations. Unlike the existing methods  \cite{Bi:2008:IML,ICML2012Lozano} where the same kind of vector norm is applied to both components, the shrinkage of the global and task-specific parameters differ in the new formulations. Hence, one component is regularized by the $\ell_2$-norm and the other is by the $\ell_1$-norm, which aims to reflect the degree of sparsity of the task-specific parameters relative to the sparsity of the across-task parameters. In empirical experiments, simulations have been designed to examine the various feature sharing patterns where a specific choice of regularizer may be preferred. Empirical results on benchmark data are also discussed.

\section{The Proposed Multiplicative MTFL}
Given $T$ tasks in total, for each task $t$, $t\in \{1,\cdots,T\}$, we have
sample set $(\matrx X_t \in \mathbb{R}^{\ell_t \times d}, \vect y_t \in
\mathbb{R}^{\ell_t})$. The data set of $\matrx X_t$ has $\ell_t$ examples, where the $i$-th row corresponds to the $i$-th example
$\vect x_i^t$ of task $t$, $i\in \{1,\cdots,\ell_t\}$, and each column represents a feature. The vector $\vect y_t$ contains $y_i^t$, the label of the $i$-th example of task $t$. We consider functions of the linear form
$\vect X_t \vect \alpha_t$ where  $\vect \alpha_t\in \mathbb{R}^d$. We define the parameter matrix or weight matrix $\matrx A=[\vect \alpha_1,\cdots,\vect \alpha_T]$ and $\vect \alpha^j$ are the rows, $j \in \{1,\cdots,d\}$.

A family of multiplicative MTFL methods can be derived by rewriting
$\vect \alpha_t = \diag{\vect c} \vect \beta_t$ where $\diag{\vect c}$ is a
diagonal matrix with its diagonal elements composing a vector $\vect c$. The $\vect c$ vector is used across all tasks, indicating if a feature is useful for any of the tasks, and the vector $\vect \beta_t$ is only for task $t$. Let $j$ index the entries in these vectors. We have $\alpha_j^t = c_j\beta_j^t$. Typically $\vect c$ comprises binary entries that are equal to $0$ or $1$, but the integer constraint is often relaxed to require just non-negativity. We minimize a regularized loss function as follows for the best $\vect c$ and $\vect \beta_{t: t=1,\cdots,T}$:
\vspace{-0.1in} \begin{equation}\begin{array}{lc}
\min\limits_{\vect \beta_t,\vect c \ge 0} &
\sum\limits_{t=1}^T L(\matrx c,\vect \beta_t,\matrx X_t,
\matrx y_t) + \gamma_1\sum\limits_{t=1}^T||\vect \beta_t||_p^p+\gamma_2||\vect c||_k^k\\
\end{array} \label{eq:algform_generalnorm}
\end{equation}
where $L(\cdot)$ is a loss function, e.g., the least squares loss for regression problems or the logistic loss for classification problems, $||\vect \beta_t||_p^p=\sum_{j=1}^d|\beta_j^t|^p$ and $||\vect c||_k^k=\sum_{j=1}^d (c_j)^k$, which are the $\ell_p$-norm of $\vect \beta_t$ to the power of $p$ and the $\ell_k$-norm of $\vect c$ to the power of $k$ if $p$ and $k$ are positive integers.
The tuning parameters $\gamma_1$, $\gamma_2$ are used to balance the empirical loss and regularizers. At optimality, if $c_j=0$, the $j$-th variable is removed for all tasks, and the corresponding row vector $\vect \alpha^j = \vect 0$; otherwise the $j$-th variable is selected for use in at least one of the $\vect \alpha$'s. Then, a specific $\vect \beta_t$ can rule out the $j$-th variable from task $t$ if $\beta_j^t = 0$.

In particular, if both $p = k = 2$, Problem (\ref{eq:algform_generalnorm}) becomes the formulation in \cite{Bi:2008:IML} and if $p=k=1$, Problem (\ref{eq:algform_generalnorm}) becomes the formulation in \cite{ICML2012Lozano}. Any other choices of $p$ and $k$ will derive into new formulations for MTFL. We first examine the theoretical properties of this entire family of methods, and then empirically study two new formulations by varying $p$ and $k$.

\section{Theoretical Analysis }
The joint $\ell_{1,p}$ regularized MTFL method minimizes $\sum_{t=1}^T L(\vect \alpha_t, \vect X_t, \vect y_t) + \lambda \sum_{j=1}^d ||\vect \alpha^j||_p $ for the best $\vect \alpha_{t: t=1,\cdots,T}$ where $\lambda$ is a tuning parameter. We now extend this formulation to allow more choices of regularizers. We introduce a new notation that is an operator applied to a vector, such as $\vect \alpha^j$. The operator $||\vect \alpha^j||^{p/q}=\sqrt[q]{\sum_{t=1}^T|\alpha_j^t|^p}$, $p,q \ge 0$, which corresponds to the $\ell_p$ norm if $p=q$ and both are positive integers. A joint regularized MTFL approach can solve the following optimization problem with pre-specified values of $p$, $q$ and $\lambda$, for the best parameters $\vect \alpha_{t:t=1,\cdots, T}$:
\begin{eqnarray}
\min\limits_{\vect \alpha_t}& \sum\limits_{t=1}^T
L(\vect \alpha_t, \vect X_t, \vect y_t) + \lambda \sum\limits_{j=1}^d\sqrt{||\vect \alpha^j||^{p/q}}.
\label{eq:generalNorm}
\end{eqnarray}
Our main result of this paper is (i) a theorem that establishes the equivalence between the models derived from solving Problem (\ref{eq:algform_generalnorm}) and Problem (\ref{eq:generalNorm}) for properly chosen values of $\lambda$, $q$, $k$, $\gamma_1$ and $\gamma_2$; and (ii) an analytical solution of Problem (\ref{eq:algform_generalnorm}) for $\vect c$ which shows how the sparsity of the across-task component is relative to the sparsity of task-specific components.
\begin{theorem} \label{theorem_main}
Let $\hat{\vect \alpha_t}$ be the optimal solution to Problem (\ref{eq:generalNorm}) and ($\hat{\vect \beta_t}$, $\hat{\vect c}$) be the optimal solution to Problem (\ref{eq:algform_generalnorm}). Then $\hat{\vect \alpha_t} = \diag{\hat{\vect c}} \hat{\vect \beta_t}$ when $\lambda = 2 \sqrt{\gamma_1 ^{2-\frac{p}{kq}} \gamma_2^\frac{p}{kq}}$ and $q=\frac{k+p}{2k}$ (or $k = \frac{p}{2q-1}$).
\end{theorem}
\begin{proof}
The theorem holds by proving the following two Lemmas. The first lemma proves that the solution $\hat{\vect \alpha_t}$ of Problem (\ref{eq:generalNorm}) also minimizes the following optimization problem:
\begin{eqnarray}
\begin{array}{lc}
\min_{\vect \alpha_t, \vect \sigma \ge 0}& \sum_{t=1}^T
L(\vect \alpha_t, \vect X_t, \vect y_t)+ \mu_1 \sum_{j=1}^d \sigma_j^{-1}||\vect \alpha^j||^{p/q}+\mu_2\sum_{j=1}^d\sigma_j,
\end{array}
\label{eq:generalNorm_equa}
\end{eqnarray}
and the optimal solution of Problem (\ref{eq:generalNorm_equa}) also minimizes Problem (\ref{eq:generalNorm}) when proper values of $\lambda$, $\mu_1$ and $\mu_2$ are chosen. The second lemma connects Problem (\ref{eq:generalNorm_equa}) to our formulation (\ref{eq:algform_generalnorm}). We show that the optimal $\hat{\sigma}_j$ is equal to $(\hat{c}_j)^k$, and then the optimal $\hat{\vect \beta}$ can be computed from the optimal $\hat{\vect \alpha}$.
\end{proof}
\begin{lemma}\label{theorem_2equprob}
The solution sets of Problem (\ref{eq:generalNorm}) and Problem (\ref{eq:generalNorm_equa}) are identical when $\lambda = 2 \sqrt{\mu_1 \mu_2}$.
\end{lemma}
\begin{proof}
First, we show that when $\lambda = 2\sqrt{\mu_1\mu_2}$, the optimal solution $\hat{\alpha}_j^t$ of Problem (\ref{eq:generalNorm}) minimizes Problem (\ref{eq:generalNorm_equa}) and the optimal $\hat{\sigma}_j=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||\hat{\vect \alpha}^j||^{p/q}}$.
By the Cauchy-Schwarz inequality, the following inequality holds
\begin{equation}
\mu_1\sum_{j=1}^d \sigma_j^{-1}||\vect \alpha^j||^{p/q}+\mu_2\sum_{j=1}^d\sigma_j \ge 2\sqrt{\mu_1\mu_2}\sum_{j=1}^d\sqrt{||\vect \alpha^j||^{p/q}}\nonumber
\end{equation}
where the equality holds if and only if $\sigma_j=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||\vect \alpha^j||^{p/q}}$. Since Problems (\ref{eq:generalNorm_equa}) and (\ref{eq:generalNorm}) use the exactly same loss function, when we set $\hat{\sigma}_j=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||\hat{\vect \alpha}^j||^{p/q}}$, Problems (\ref{eq:generalNorm_equa}) and (\ref{eq:generalNorm}) have identical objective function if $\lambda = 2\sqrt{\mu_1\mu_2}$. Hence the pair $(\hat{\matrx A} =(\hat{\alpha}_j^t)_{jt},\hat{\vect \sigma} = (\hat{\sigma}_j)_{j=1,\cdots,d})$ minimizes Problem (\ref{eq:generalNorm_equa}) as it entails the objective function to reach its lower bound.

Second, it can be proved that if the pair $(\hat{\matrx A},\hat{\vect \sigma})$ minimizes Problem (\ref{eq:generalNorm_equa}), then $\hat{\matrx A}$ also minimizes Problem (\ref{eq:generalNorm}) by proof of contradiction.
Suppose that $\hat{\matrx A}$ does not minimize Problem (\ref{eq:generalNorm}), which means that there exists $\tilde{\vect \alpha}^j$ ($\not=\hat{\vect \alpha}^j$ for some $j$) that is an optimal solution to Problem (\ref{eq:generalNorm}) and achieves a lower objective value than $\hat{\vect \alpha}^j$. We set $\tilde{\sigma}_j=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||\tilde{\vect \alpha}^j||^{p/q}}$. The pair $(\tilde{\matrx A}, \tilde{\vect \sigma})$ is an optimal solution of Problem (\ref{eq:generalNorm_equa}) as proved in the first paragraph. Then $(\tilde{\matrx A}, \tilde{\vect \sigma})$ will bring the objective function of Problem (\ref{eq:generalNorm_equa}) to a lower value than that of $(\hat{\matrx A},\hat{\vect \sigma})$, contradicting to the assumption that $(\hat{\matrx A},\hat{\vect \sigma})$ be optimal to Problem (\ref{eq:generalNorm_equa}).

Hence, we have proved that Problems (\ref{eq:generalNorm_equa}) and (\ref{eq:generalNorm}) have identical solutions when $\lambda = 2 \sqrt{\mu_1 \mu_2}$.
\end{proof}

From the proof of Lemma (\ref{theorem_2equprob}), we also see that the optimal objective value of Problem (\ref{eq:generalNorm}) gives a lower bound to the objective of Problem (\ref{eq:generalNorm_equa}). Let $\sigma_j = (c_j)^k$, $k\in \mathbb{R}$, $k\not=0$ and $\alpha_j^t=c_j\beta_j^t$, an equivalent objective function of Problem (\ref{eq:generalNorm_equa}) can be derived.
\begin{lemma}\label{Lemma_cbeta_equ}
The optimal solution $(\hat{\matrx A},\hat{\vect \sigma})$ of Problem (\ref{eq:generalNorm_equa}) is equivalent to the optimal solution $(\hat{\matrx B},\hat{\vect c})$ of Problem (\ref{eq:algform_generalnorm}) where $\hat{\alpha}_j^t= \hat{c}_j \hat{\beta}_j^t$ and $\hat{\sigma}_j = (\hat{c}_j)^k$ when $\gamma_1 = \mu_1^{\frac{kq}{2kq-p}} \mu_2^{\frac{kq-p}{2kq-p}}$, $\gamma_2 = \mu_2$, and $k=\frac{p}{2q-1}$.
\end{lemma}
\vspace{-0.5cm} \begin{proof} First, by proof of contradiction, we show that if $\hat{\alpha}_j^t$ and $\hat{\sigma}_j$ optimize Problem (\ref{eq:generalNorm_equa}), then $\hat{c}_j = \sqrt[k]{\hat{\sigma}_j}$ and $\hat{\beta}_j^t = \frac{\hat{\alpha}_j^t}{\hat{c}_j}$ optimize Problem (\ref{eq:algform_generalnorm}). Denote the objectives of (\ref{eq:algform_generalnorm}) and (\ref{eq:generalNorm_equa}) by $J^{(\ref{eq:algform_generalnorm})}$ and $J^{(\ref{eq:generalNorm_equa})}$. Substituting $\hat{\beta}_j^t$, $\hat{c}_j$ for $\hat{\alpha}_j^t$, $\hat{\sigma}_j$ in $J^{(\ref{eq:generalNorm_equa})}$ yields an objective function $L(\hat{\matrx c},\hat{\vect \beta}_t,\matrx X_t,\matrx y_t) + \mu_1 \sum_{j=1}^d ||\hat{\vect \beta}^j||^{p/q} \hat{c}_j^{(p-kq)/q} +\mu_2 \sum_{j=1}^d (\hat{c}_j)^k$. By the proof of Lemma \ref{theorem_2equprob},   $\hat{\sigma}_j=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||\hat{\vect \alpha}^j||^{p/q}}$. Hence, $\hat{c}_j=\left(\mu_1\mu_2^{-1}||\hat{\vect \beta}^j||^{p/q}\right)^{\frac{q}{2kq-p}}$. Applying the formula of $\hat{c}_j$ and substituting $\mu_1$ and $\mu_2$ by $\gamma_1$ and $\gamma_2$ yield an objective identical to $J^{(\ref{eq:algform_generalnorm})}$. Suppose $\exists(\tilde{\beta}_j^t,\tilde{c}_j)(\neq (\hat{\beta}_j^t,\hat{c}_j))$ that minimize (\ref{eq:algform_generalnorm}), and  $J^{(\ref{eq:algform_generalnorm})}(\tilde{\beta}_j^t,\tilde{c}_j)<J^{(\ref{eq:algform_generalnorm})}(\hat{\beta}_j^t,\hat{c}_j)$. Let $\tilde{\alpha}_j^t= \tilde{c}_j \tilde{\beta}_j^t$ and substitute $\tilde{\beta}_j^t$ by  $\tilde{\alpha}_j^t/\tilde{c}_j$ in $J^{(\ref{eq:algform_generalnorm})}$. By Cauchy-Schwarz inequality, we similarly have $\tilde{c}_j=(\gamma_1\gamma_2^{-1}\sum_{t=1}^T(\tilde{\alpha}_j^t)^p)^{\frac{1}{p+k}}$. Thus,  $J^{(\ref{eq:algform_generalnorm})}(\tilde{\alpha}_j^t,\tilde{c}_j)$ can be derived into $J^{(\ref{eq:generalNorm_equa})}(\tilde{\alpha}_j^t,\tilde{c}_j)$. Let $\tilde{\sigma}_j = (\tilde{c}_j)^k$, and we have $J^{(\ref{eq:generalNorm_equa})}(\tilde{\alpha}_j^t,\tilde{\sigma}_j)<J^{(\ref{eq:generalNorm_equa})}(\hat{\alpha}_j^t,\hat{\sigma}_j)$, which contradicts with the optimality of $(\hat{\alpha}_j^t,\hat{\sigma}_j)$. Second, we similarly prove that if $\hat{\beta}_j^t$ and $\hat{c}_j$ optimize Problem (\ref{eq:algform_generalnorm}), then $\hat{\alpha}_j^t= \hat{c}_j \hat{\beta}_j^t$ and $\hat{\sigma}_j = (\hat{c}_j)^k$ optimize Problem (\ref{eq:generalNorm_equa}).
\end{proof}

Now, combining the results from the two Lemmas, we can derive that when $\lambda = 2 \sqrt{\gamma_1 ^{2-\frac{p}{kq}} \gamma_2^\frac{p}{kq}}$ and $q=\frac{k+p}{2k}$, the optimal solutions to Problems (\ref{eq:algform_generalnorm}) and (\ref{eq:generalNorm}) are equivalent. Solving Problem (\ref{eq:algform_generalnorm}) will yield an optimal solution $\hat{\vect \alpha}$ to Problem (\ref{eq:generalNorm}) and vice versa.
\begin{theorem} \label{Lemma_closeFormSolution}
Let $\hat{\vect \beta_t}$, $t=1,\cdots,T,$ be the optimal
solutions of Problem (\ref{eq:algform_generalnorm}), Let $\hat{\matrx B}=[\hat{\vect \beta}_1,\cdots,\hat{\vect \beta}_T]$ and $\hat{\vect \beta}^j$ denote the $j$-th row of the matrix $\hat{\matrx B}$. Then,
\begin{equation} \label{close_form}
\hat{c}_j=(\gamma_1/\gamma_2)^{\frac{1}{k}}||\hat{\vect \beta}^j||^{\frac{p}{2kq-p}},
\end{equation}
for all $ j = 1, \cdots, d$, is optimal to Problem (\ref{eq:algform_generalnorm}).
\end{theorem}
\begin{proof}
This analytical formula can be directly derived from Lemma \ref{theorem_2equprob} and Lemma \ref{Lemma_cbeta_equ}.  When we set $\hat{\sigma}_j = (\hat{c}_j)^k$ and $\hat{\alpha}_{j}^t=\hat{c}_j\hat{\beta}_j^t$ in Problem (\ref{eq:generalNorm_equa}), we obtain $\hat{c}_j =\left( \mu_1\mu_2 ^{-1} ||\hat{\vect \beta}^j|| ^{p/q}\right) ^{\frac{q}{2kq-p}}$. In the proof of Lemma \ref{Lemma_cbeta_equ}, we obtain that $\mu_1 = \gamma_1^{\frac{2kq-p}{kq}} \gamma_2^{\frac{p-kq}{kq}}$ and $\mu_2 = \gamma_2$. Substituting these formula into the formula of $\vect c$ yields the formula (\ref{close_form}).
\end{proof}

Based on the derivation, for each pair of $\{p,q\}$ and $\lambda$ in Problem (\ref{eq:generalNorm}), there exists an equivalent problem (\ref{eq:algform_generalnorm}) with determined values of $k$, $\gamma_1$ and $\gamma_2$, and vice versa. Note that if $q=p/2$, the regularization term on $\vect \alpha^j$ in Problem (\ref{eq:generalNorm}) becomes the standard $p$-norm. In particular, if $\{p,q\} = \{2,1\}$ in Problem (\ref{eq:generalNorm}) as used in the methods of \cite{obozinski2006multi} and \cite{NIPS2006_251}, the $\ell_2$-norm regularizer is applied to $\vect \alpha^j$. Then, this problem is equivalent to Problem (\ref{eq:algform_generalnorm}) when $k=2$ and $\lambda = 2\sqrt{\gamma_1\gamma_2}$, the same formulation in \cite{Bi:2008:IML}. If $\{p,q\} = \{1,1\}$, the square root of $\ell_1$-norm regularizer is applied to $\vect \alpha^j$. Our theorem \ref{theorem_main} shows that this problem is equivalent to the multi-level LASSO MTFL formulation \cite{ICML2012Lozano} which is Problem (\ref{eq:algform_generalnorm}) with $k=1$ and  $\lambda = 2\sqrt{\gamma_1\gamma_2}$.

\section{Probabilistic Interpretation}
In this section we show the proposed multiplicative formalism is related to the {\em maximum a posteriori} (MAP) solution of a probabilistic model.
Let $p(\matrx A | \matrx \Delta)$ be the prior distribution of the weight matrix $\matrx A = [\vect \alpha_1, \ldots, \vect \alpha_T] = [\vect \alpha^{1\top}, \ldots, \vect \alpha^{d\top}]^\top \in \mathbb R^{d\times T}$,
where $\matrx \Delta$ denote the parameter of the prior. Then the
{\em a posteriori} distribution of $\matrx A$ can be calculated via Bayes rule as
$p(\matrx A |\matrx X,\vect y,\matrx \Delta) \propto p(\matrx A|\matrx \Delta) \prod_{t=1}^T p(\vect y_t|\matrx X_t,\vect \alpha_t)$.
Denote $z \sim \mathcal{GN}(\mu,\rho,q)$ the {\em univariate generalized normal distribution}, with the density function $p(z) = \frac{1}{2\rho\Gamma(1+1/q)} \exp(-\frac{|z-\mu|^q}{\rho^q})$,
in which $\rho>0$, $q>0$, and $\Gamma(\cdot)$ is the Gamma function \cite{goodman73_generalnormal}.
Now let each element of $\matrx A$, $\alpha_j^{t}$, follow a generalized normal prior, ~$\alpha_j^t \sim \mathcal{GN}(0,\delta_j,q)$.
Then with the i.i.d. assumption, the prior takes the form (also refer to \cite{zhang2010probabilistic} for a similar treatment)
\begin{align}
	p(\matrx A | \matrx \Delta) \propto \prod_{j=1}^d \prod_{t=1}^T \frac{1}{\delta_j} \exp \Big( -\frac{|\alpha_j^t|^q}{\delta_j^q} \Big)
	= \prod_{j=1}^d \frac{1}{\delta_j^T} \exp \Big( -\frac{\|\vect \alpha^j\|_q^q}{\delta_j^q} \Big),
\end{align}
where $\|\cdot\|_q$ denote vector $q$-norm.
With an appropriately chosen likelihood function $p(\vect y_t|\matrx X_t,\vect \alpha_t) \propto \exp(-L(\vect
\alpha_t,\matrx X_t,\vect y_t))$, finding the MAP solution is equivalent to solving the following problem: $\min_{\matrx A,\vect \Delta} ~~ J = \sum_{t=1}^T L(\vect \alpha_t,\matrx X_t,\vect y_t) + \sum_{j=1}^d \Big( \frac{\|\vect \alpha^j\|_q^q}{\delta_j^q} + T \ln \delta_j \Big)$.
By setting the derivative of $J$ with respect to $\delta_j$ to zero, we obtain:
\begin{equation}
\min_{\matrx A} ~~ J = \sum\nolimits_{t=1}^T L(\vect
\alpha_t,\matrx X_t,\vect y_t) + T \sum\nolimits_{j=1}^d \ln \|\vect \alpha^j\|_q.
\label{eq:log_map_no_delta}\end{equation}
Now let us look at the multiplicative nature of $\alpha_j^t$ with different $q\in [1,\infty]$.
When $q=1$, we have:
\begin{align}
	\sum_{j=1}^d \ln \|\vect \alpha^j\|_1 &= \sum_{j=1}^d \ln \left(\sum_{t=1}^T |\alpha_j^t| \right) = \sum_{j=1}^d \ln \left( \sum_{t=1}^T |c_j \beta_j^t| \right)
	= \sum_{j=1}^d \left( \ln |c_j| + \ln \sum_{t=1}^T |\beta_j^t| \right).
\end{align}
Because of $\ln z \leq z-1$ for any $z>0$, we can optimize an upper bound of $J$ in \eqref{eq:log_map_no_delta}. We then have $\min_{\matrx A} ~ J_1 = \sum_{t=1}^T L(\vect
\alpha_t,\matrx X_t,\vect y_t) + T \sum_{j=1}^d |c_j| + T \sum_{j=1}^d \sum_{t=1}^T |\beta_j^t|$,
which is equivalent to the multiplicative formulation \eqref{eq:algform_generalnorm} where $\{p,k\}=\{1,1\}$.
For $q>1$, we have:
\begin{align}
	\sum_{j=1}^d \ln \|\vect \alpha^j\|_q &= \frac{1}{q}\sum_{j=1}^d \ln \left(\sum_{t=1}^T |c_j \beta_j^t|^q \right)
	\leq \frac{1}{q}\sum_{j=1}^d \ln \left( \max\{|c_1|,\ldots,|c_d|\}^q \cdot \sum_{t=1}^T |\beta_j^t|^q \right) \\
	&= \sum_{j=1}^d \ln \|\vect c\|_\infty + \frac{1}{q} \sum_{j=1}^d \ln \sum_{t=1}^T |\beta_j^t|^q \leq
	d \|\vect c\|_\infty + \frac{1}{q} \sum_{t=1}^T \|\vect \beta_t\|_q^q - (d+\frac{d}{q}).
\end{align}
Since vector norms satisfy $\|\vect z\|_\infty \leq \|\vect z\|_k$ for any vector $\vect z$ and $k\geq 1$, these inequalities lead to an upper bound of $J$ in \eqref{eq:log_map_no_delta}, i.e., $\min_{\matrx A} ~~ J_{q,k} = \sum_{t=1}^T L(\vect \alpha_t,\matrx X_t,\vect y_t) + T d \|\vect c\|_k + \frac{T}{q} \sum_{t=1}^T \|\vect \beta_t\|_q^q$,
which is equivalent to the general multiplicative formulation in \eqref{eq:algform_generalnorm}.

\section{Optimization Algorithm}
Alternating optimization algorithms have been used in both of the early methods \cite{Bi:2008:IML,ICML2012Lozano} to solve Problem (\ref{eq:algform_generalnorm}) which alternate between solving two subproblems: solve for $\vect \beta_t$ with fixed $\vect c$; solve for $\vect c$ with fixed $\vect \beta_t$. The convergence property of such an alternating algorithm has been analyzed in \cite{Bi:2008:IML} that it converges to a local minimizer. However, both subproblems in the existing methods can only be solved using  iterative algorithms such as gradient descent, linear or quadratic program solvers. We design a new alternating optimization algorithm that utilizes the property that both Problems (\ref{eq:algform_generalnorm}) and (\ref{eq:generalNorm}) are equivalent to Problem (\ref{eq:generalNorm_equa}) used in our proof and we derive a closed-form solution for $\vect c$ for the second subproblem. The following theorem characterizes this result.
\vspace{-0.2cm} \begin{theorem} \label{theorem_closedform_c}
For any given values of ${\vect \alpha_{t:t=1,\cdots,T}}$, the optimal $\vect \sigma$ of Problem (\ref{eq:generalNorm_equa}) when ${\vect \alpha_{t:t=1,\cdots,T}}$ are fixed to the given values can be computed by
$\sigma_j=\gamma_1^{1-\frac{p}{2kq}}\gamma_2^{\frac{1}{2}-\frac{p}{2kp}}\sqrt[2q]{\sum_{t=1}^T(\alpha_j^t)^p}$, $j=1,\cdots,d$.
\end{theorem}
\vspace{-0.4cm} \begin{proof}
By the Cauchy-Schwarz inequality and the same argument used in the proof of Lemma \ref{theorem_2equprob}, we obtain that the best $\sigma$ for a given set of $\alpha_{t:t=1,\cdots,T}$ is ${\sigma_j}=\mu_1^{\frac{1}{2}}\mu_2^{-\frac{1}{2}}\sqrt{||{\vect \alpha^j}||^{p/q}}$. We also know that $\mu_1$ and $\mu_2$ are chosen in such a way that $\gamma_1=\mu_1^{\frac{kq}{2kq-p}} \mu_2^{\frac{kq-p}{2kq-p}}$ and $\gamma_2=\mu_2$. This is equivalent to have $\mu_1 = \gamma_1^{\frac{2kq-p}{kq}} \gamma_2^{\frac{p-kq}{kq}}$ and $\mu_2 = \gamma_2$. Substituting them into the formula of $\vect \sigma$ yields the result.
\end{proof}
Now, in the algorithm to solve Problem (\ref{eq:algform_generalnorm}), we solve the first subproblem to obtain a new iterate $\vect \beta_t^{new}$, then we use the current value of $\vect c$, $\vect c^{old}$, to compute the value of $\vect \alpha_t^{new} = \diag{\vect c^{old}} \vect \beta_t^{new}$, which is then used to compute $\sigma_j$ according to the formula in Theorem \ref{theorem_closedform_c}. Then, $\vect c$ is computed as $c_j = \sqrt[k]{\sigma_j},~ j=1,\cdots,d$. The overall procedure is summarized in Algorithm 1.
\begin{algorithm}[!ht]
     \caption{Alternating optimization for multiplicative MTFL}
     \label{alg:altinate}
  \begin{algorithmic}
     \STATE {\bfseries Input:} $\matrx X_t$, $\matrx y_t$, $t=1,\cdots,T$, as well as $\gamma_1$, $\gamma_2$, $p$ and $k$
     \STATE {\bfseries Initialize:} $c_j=1$, $\forall j=1,\cdots,d$
     \REPEAT
     \STATE {\bfseries 1.} Convert ${\matrx X_t} \diag{\vect c^{s-1}} \rightarrow \tilde{\matrx X}_t$, $\forall~t=1,\cdots,T$
     \FOR {$t=1,\cdots,T$}
     \STATE Solve  $\min_{\vect \beta_t} L(\vect \beta_t,\tilde{\matrx X}_t, \matrx y_t) + \gamma_1 ||\vect \beta_t||_p^p$  for $\boldsymbol{\beta}_t^{s}$
     \ENDFOR
     \STATE {\bfseries 2.} Compute $\vect \alpha_t^{s} = \diag{\vect c^{(s-1)}} \vect \beta_t^{s}$, and compute $\vect c^{s}$ as $c_j^s =\sqrt[k]{\sigma_j}$ where $\sigma_j$ is computed according to the formula in Theorem \ref{theorem_closedform_c}.
     \UNTIL{$\max(|(\alpha_j^t)^s-(\alpha_j^t)^{s-1}|)<\epsilon$}
     \STATE {\bfseries Output:} $\matrx \alpha_t$, $\vect c$ and $\vect \beta_t$, $t=1,\cdots,T$
  \end{algorithmic}
  \end{algorithm}

Algorithm 1 can be used to solve the entire family of methods characterized by Problem (\ref{eq:algform_generalnorm}). The first subproblem involves convex optimization if a convex loss function is chosen and $p \ge 1$, and can be solved separately for individual tasks using single task learning. The second subproblem is analytically solved by a formula that guarantees that Problem (\ref{eq:algform_generalnorm}) reaches a lower bound for the current $\vect \alpha_t$. In this paper, the least squares and logistic regression losses are used and both of them are convex and differentiable loss functions. When convex and differentiable losses are used, theoretical results in \cite{Tseng:2001:CBC} can be used to prove the convergence of the proposed algorithm. We choose to monitor the maximum norm of the $\matrx A$ matrix to terminate the process, but it can be replaced by any other suitable termination criterion. Initialization can be important for this algorithm, and we suggest starting with $\vect c = \vect 1$, which considers all features initially in the learning process.

\section{Two New Formulations}

The two existing methods discussed in \cite{Bi:2008:IML,ICML2012Lozano} use $p=k$ in their formulations, which renders $\beta_j^t$ and $c_j$ the same amount of shrinkage. To explore other feature sharing patterns among tasks, we propose two new formulations where $p\not=k$. For the common choices of $p$ and $k$, the relation between the optimal $\vect c$ and $\vect \beta$ can be computed according to Theorem \ref{Lemma_closeFormSolution}, and is summarized in Table \ref{closedformSolutions}.

1. When the majority of the features is not relevant to any of the tasks, it requires a sparsity-inducing norm on $\vect c$. However, within the relevant features, many features are shared between tasks. In other words, the features used in each task are not sparse relative to all the features selected by $\vect c$, which requires a non-sparsity-inducing norm on $\vect \beta$. Hence, we use $\ell_1$ norm on $\vect c$ and $\ell_2$ norm on all $\vect \beta$'s in Formulation (\ref{eq:algform_generalnorm}). This formulation is equivalent to the joint regularization method of $\min_{\vect \alpha_t} \sum_{t=1}^T L(\vect \alpha_t, \vect X_t, \vect y_t) + \lambda \sum_{j=1}^d \sqrt[3]{\sum_{t=1}^T (\alpha_j^t)^2}$ where $\lambda = 2\gamma_1^{\frac{1}{3}}\gamma_2^{\frac{2}{3}}$.

2. When many or all features are relevant to the given tasks, it may prefer the $\ell_2$ norm penalty on $\vect c$. However, only a limited number of features are shared between tasks, i.e., the features used by individual tasks are sparse with respect to the features selected as useful across tasks by $\vect c$. We can impose the $\ell_1$ norm penalty on $\vect \beta$. This formulation is equivalent to the joint regularization method of $\min_{\vect \alpha_t}  \sum_{t=1}^T
L(\vect \alpha_t, \vect X_t, \vect y_t) + \lambda \sum_{j=1}^d \sqrt[3]{\left(\sum_{t=1}^T|\alpha_j^t|\right)^2}$ where $\lambda = 2\gamma_1^{\frac{2}{3}}\gamma_2^{\frac{1}{3}}$.
\begin{table}[!ht]
\caption{The shrinkage effect of $\vect c$ with respect to $\vect \beta$ for four common choices of $p$ and $k$.} \vspace{-0.3cm}
\label{closedformSolutions}
\begin{center}
\begin{small}
\begin{tabular}{ccl|ccl}
\hline
\footnotesize
$p$ & $k$ &   $~~~~~~~~~~~~~~\vect c  $ & $p$ & $k$ &   $~~~~~~~~~~~~~~\vect c$ \\
\hline
 2 & 2   & $\hat{c_j}=\sqrt{\gamma_1\gamma_2^{-1}}\sqrt{\sum_{t=1}^T\hat{\beta_j^t}^2}$ &  2 & 1   & $\hat{c_j}=\gamma_1\gamma_2^{-1}\sum_{t=1}^T\hat{\beta_j^t}^2$ \\
 1 & 1   & $\hat{c_j}=\gamma_1\gamma_2^{-1}\sum_{t=1}^T\hat{|\beta_j^t|}$ &  1 & 2   & $\hat{c_j}=\sqrt{\gamma_1\gamma_2^{-1}}\sqrt{\sum_{t=1}^T\hat{|\beta_j^t|}}$ \\
\hline
\end{tabular}
\end{small}
\end{center}
\vspace{-0.4cm}
\end{table}

\section{Experiments}
In this section, we empirically evaluate the performance of the proposed multiplicative MTFL with the four parameter settings listed in Table \ref{closedformSolutions} on synthetic and real-world data for both classification and regression problems. The first two settings $(p,k) = (2,2)$, $(1,1)$ give the same methods respectively in  \cite{Bi:2008:IML,ICML2012Lozano}, and the last two settings correspond to our new formulations. The least squares  and logistic regression losses are used, respectively, for regression and classification problems. We focus on the understanding of the shrinkage effects created by the different choices of regularizers in multiplicative MTFL. These methods are referred to as MMTFL and are compared with the dirty model (DMTL) \cite{jalali2010dirty} and robust MTFL (rMTFL) \cite{Gong:2012:rMTFL} that use the additive decomposition.

The first subproblem of Algorithm 1 was solved using CPLEX solvers and single task learning in the initial first subproblem served as baseline. We used respectively 25\%, 33\% and 50\% of the available data in each data set for training and the rest data for test. We repeated the random split 15 times and reported the averaged performance. For each split, the regularization parameters of each method were tuned by a 3-fold cross validation within the training data. The regression performance was measured by the coefficient of determination, denoted as $R^2$, which was computed as 1 minus the ratio of the sum of squared residuals and the total sum of squares. The classification performance was measured by the F1 score, which was the harmonic mean of precision and recall.

\underline{\bf Synthetic Data.}
We created two synthetic data sets which included 10 and 20 tasks, respectively. For each task, we created 200 examples using 100 features with pre-defined combination weights $\matrx \alpha$. Each feature was generated following the $N(\bf 0,\bf 1)$ distribution. We added noise and computed $\matrx y_t = \matrx X_t\vect \alpha_t+\vect \epsilon_t$ for each task $t$ where the noise $\epsilon$ followed a distribution $N(0,1)$. We put the different tasks' $\vect \alpha$'s together as rows in Figure \ref{fig:CoefficientMatrix_Syn}.
The values of $\vect \alpha$'s were specified in such a way for us to explore how the structure of feature sharing influences the multitask learning models when various regularizers are used. In particular, we illustrate the cases where the two newly proposed formulations outperformed other methods.

\vspace{-0.4cm} \begin{figure}[!ht]
\centering
\subfloat[Synthetic data D1]{
\label{fig:setting1}
\includegraphics[width=0.46\columnwidth,height=0.35\columnwidth]{Synthetic1for21model.png}
}~~~~~~~
\subfloat[Synthetic data D2]{
\label{fig:setting2}
\includegraphics[width=0.39\columnwidth,height=0.35\columnwidth]{Synthetic2for12model.png}
}\vspace{-0.2cm}
\caption{Parameter matrix learned by different methods (darker color indicates greater values.).}\label{fig:CoefficientMatrix_Syn} \vspace{-0.2cm}
\end{figure}
\emph{Synthetic Data 1 (D1)}. As shown in Figure \ref{fig:setting1}, 40$\%$ of components in all $\matrx \alpha$'s were set to 0, and these features were irrelevant to all tasks. The rest features were used in every task's model and hence these models were sparse with respect to all of the features, but not sparse with respect to the selected features. This was the assumption for the early joint regularized methods to work. To learn this feature sharing structure, however, we observed that the amount of shrinkage needed would be different for $\vect c$ and $\vect \beta$. This case might be in favor of the $\ell_1$ norm penalty on $\vect c$.

\emph{Synthetic Data 2 (D2)}. The designed parameter matrix is shown in Figure \ref{fig:setting2} where tasks were split into 6 groups. Five features were irrelevant to all tasks, 10 features were used by all tasks, and each of the remaining 85 features was used by only 1 or 2 groups. The neighboring groups of tasks in Figure \ref{fig:setting2} shared only 7 features besides those 10 common features. Non-neighboring tasks did not share additional features. We expected $\vect c$ to be non-sparse. However, each task only used very few features with respect to all available features, and hence each $\vect \beta$ should be sparse.

Figure \ref{fig:CoefficientMatrix_Syn} shows the parameter matrices (with columns representing features for illustrative convenience) learned by different methods using 33\% of the available examples in each data set. We can clearly see that MMTFL(2,1) performs the best for Synthetic data D1. This result suggests that the classic choices of using $\ell_2$ or $\ell_1$ penalty on both $\vect c$ and $\vect \beta$ (corresponding to early joint regularized methods) might not always be optimal. MMTFL(1,2) is superior for Synthetic data D2, where each model shows strong feature sparsity but few features can be removed if all tasks are considered. Table \ref{Performance_overall} summarizes the performance comparison  where the best performance is highlighted in bold font. Note that the feature sharing patterns may not be revealed by the recent methods on clustered multitask learning that cluster tasks into groups \cite{kang:2011:learning,jacob:2008:clustered,conf/nips/ZhouCY11} because no cluster structure is present in Figure \ref{fig:setting2}, for instance. Rather, the sharing pattern in Figure \ref{fig:setting2} is in the shape of staircase.
\begin{table}[ht!]
\caption{Comparison of the performance between various multitask learning models}
\label{Performance_overall}
\vspace{-15px}
\begin{center}
\begin{scriptsize}
\begin{tabular}{@{}c@{~~~}cccc@{~~~~~}c@{~~}c@{~~}c@{~~}c@{}}
\hline
\multicolumn{2}{c}{Data set} & STL & DMTL & rMTFL &   MMTFL(2,2)  & MMTFL(1,1) & MMTFL(2,1) & MMTFL(1,2)\\
\hline
\bf \emph{Synthetic data}  &&&&&&&&\\
 \bf D1~($ R^2$) & 25\% & 0.40$\pm$0.02 & 0.60$\pm$0.02 & 0.58$\pm$0.02 &  0.64$\pm$0.02  & 0.54$\pm$0.03 & \bf 0.73$\pm$0.02  & 0.42$\pm$0.04 \\
                 & 33\% & 0.55$\pm$0.03  & 0.73$\pm$0.01 & 0.61$\pm$0.02 &  0.79$\pm$0.02  & 0.76$\pm$0.01 & \bf 0.86$\pm$0.01  & 0.65$\pm$0.03 \\
                 & 50\% & 0.60$\pm$0.02 & 0.75$\pm$0.01 & 0.66$\pm$0.01 &  0.86$\pm$0.01  & 0.88$\pm$0.01 & \bf 0.90$\pm$0.01  & 0.84$\pm$0.01 \\
\hline
 \bf D2~($ R^2$) & 25\% & 0.28$\pm$0.02 & 0.36$\pm$0.01 &  0.46$\pm$0.01 &  0.45$\pm$0.01  & 0.35$\pm$0.05 & 0.46$\pm$0.02  & \bf 0.49$\pm$0.02\\
                 & 33\% & 0.35$\pm$0.01 & 0.42$\pm$0.02 &  0.63$\pm$0.03 &  0.69$\pm$0.02  & 0.75$\pm$0.01 & 0.67$\pm$0.03  & \bf 0.83$\pm$0.02\\
                 & 50\% & 0.75$\pm$0.01 & 0.81$\pm$0.01 &  0.83$\pm$0.01 &  0.91$\pm$0     & 0.95$\pm$0    & 0.92$\pm$0.01  & \bf 0.97$\pm$0\\
\hline\hline
 \bf \emph{Real-world data}  &&&&&&&&\\
 SARCOS       & 25\%    & 0.78$\pm$0.02 & \bf 0.90$\pm$ 0 & \bf 0.90$\pm$0 &   0.89$\pm$ 0 & 0.89$\pm$ 0    & \bf 0.90$\pm$0.01 &  0.87$\pm$0.01\\
($ R^2$)      & 33\%    & 0.78$\pm$0.02 & 0.88$\pm$0.11 & 0.89$\pm$0.1 &  0.90$\pm$ 0 & 0.90$\pm$ 0    & \bf 0.91$\pm$0.01 &  0.89$\pm$0.01\\
              & 50\%    & 0.83$\pm$0.06 & 0.87$\pm$ 0.1   & 0.89$\pm$0.1 &  \bf 0.91$\pm$ 0 & 0.90$\pm$ 0.01 & \bf 0.91$\pm$0.01 &  0.89$\pm$0.01\\
\hline
USPS           & 25\%   & 0.83$\pm$0.01 & 0.89$\pm$0.01 &  \bf 0.91$\pm$0.01 & 0.90$\pm$0.01 & 0.90$\pm$0.01 & 0.90$\pm$0.01 & \bf 0.91$\pm$0.01 \\
(F1 score)     & 33\%   & 0.84$\pm$0.02 & 0.90$\pm$0.01 &  0.90$\pm$0.01 & 0.89$\pm$0.01 & 0.90$\pm$0.01 &  0.90$\pm$0.01 & \bf 0.91$\pm$0.01 \\
               & 50\%   & 0.87$\pm$0.02 & 0.91$\pm$0.01 &  0.92$\pm$0.01 & 0.92$\pm$0.01 & 0.92$\pm$0.01 & 0.92$\pm$0.01 & \bf 0.93$\pm$0.01 \\
\hline
\end{tabular}
\end{scriptsize}
\end{center} \vspace{-0.3cm}
\end{table}

\underline{\bf Real-world Data.}
Two benchmark data sets, the Sarcos \cite{NIPS2006_251} and the USPS data sets \cite{kang:2011:learning}, were used for regression and classification tests respectively. The Sarcos data set has 48,933 observations and each observation (example) has 21 features. Each task is to map from the 21 features to one of the 7 consecutive torques of the Sarcos robot arm. We randomly selected 2000 examples for use in each task. USPS handwritten digits data set has 2000 examples and 10 classes as the digits from 0 to 9. We first used principle component analysis to reduce the feature dimension to 87. To create binary classification tasks, we randomly chose images from the other 9 classes to be the negative examples. Table \ref{Performance_overall} provides the performance of the different methods on these two data sets, which shows the effectiveness of MMTFL(2,1) and MMTFL(1,2).

\section{Conclusion}
In this paper, we study a general framework of multiplicative multitask feature learning. By decomposing the model parameter of each task into a product of two components: the across-task feature indicator and task-specific parameters, and applying different regularizers to the two components, we can select features for individual tasks and also search for the shared features among tasks. We have studied the theoretical properties of this framework when different regularizers are applied and found that this family of methods creates models equivalent to those of the joint regularized MTL methods but with a more general form of regularization. Further, an analytical formula is derived for the across-task component as related to the task-specific component, which shed light on the different shrinkage effects in the various regularizers. An efficient algorithm is derived to solve the entire family of methods and also tested in our experiments. Empirical results on synthetic data clearly show that there may not be a particular choice of regularizers that is universally better than other choices. We empirically show a few feature sharing patterns that are in favor of two newly-proposed choices of regularizers, which is confirmed on both synthetic and real-world data sets.

\vspace{-0.3cm}
\section*{Acknowledgements} \vspace{-0.4cm} Jinbo Bi and her students Xin Wang and Jiangwen Sun were supported by NSF grants IIS-1320586, DBI-1356655, IIS-1407205, and IIS-1447711.

\bibliographystyle{abbrv}

redpajama_set_name: RedPajamaArXiv